include ruquire使用相對路徑總結

2022-03-02 07:43:21 字數 693 閱讀 3405

a檔案包含b檔案,b檔案以相對路徑包含c檔案。那麼。b中相對路徑是相對哪個檔案而言呢?

在其他程式語言中。處理方式是:b檔案的中的相對路徑是相對b檔案而言的。這樣的好處是可以開發出與路徑無關的程式包。

而在php中。則是相對於當前工作目錄而言的。所以,b檔案的中的相對路徑是相對a檔案而言的。

在thinkphp中的使用:

在入口檔案index.php中必須要定義常量。比如**是:define('think_path', '');

為什麼呢?比如,整個框架是在乙個資料夾thinkphp中。index.php中載入thinkphp.php檔案後。thinkphp.php這個框架入口檔案裡面會載入框架中其他所需的庫。由於thinkphp.php使用的是相對路徑載入其他檔案,按照php的處理機制。那麼這個相對就是相對於index.php的。而不是相對於thinkphp.php檔案(如果是相對它的話。那麼就不是必須定義think_path常量了)。所以,需要載入框架其他檔案。直接使用類似下面的方式:require think_path."/common/runtime.php";

設計方式學習:

在php中。相對路徑是相對於當前工作目錄的檔案的。哪個是最終要執行的檔案。a需要b,b需要c。那麼a才是主檔案。就可以理解成當前工作目錄的檔案。

所以,開發通用的包的話。可以考慮使用者定義乙個常量。那麼整個程式包裡面的檔案都用到這個常量作為路徑載入其他檔案。

VMware License Server使用經驗

近期在測試vmware server,在使用vmware license server的時候碰到一些問題,經過兩天的實驗,問題得以解決,現記錄如下,以供朋友們參考。1 複製license檔案 在安裝vmware virtualcenter的時候,會一同安裝license server伺服器。如果你在...

Django Rest framework使用例項

一 修改配置檔案 setting.py django.contrib.admin django.contrib.auth django.contrib.contenttypes django.contrib.sessions django.contrib.messages django.contri...

Android AlarmManager 使用指南

intent intent new intent intent.setaction updatemgr.check update action 如果你的flag 是flag one shot,那麼你就只能受到一次廣播。如果使用setrepeat,你設定的intervalmills 少於60s,那麼就...