我現在得到了第三方的幾個php檔案,開頭都有namespace的,
我怎麼能用?
補充,我要用的是
https://github.com/jeremeamia/super_closure
我看說明
use SuperClosure\Serializer;
但是提示
Fatal error: Class 'SuperClosure\Serializer' not found
我如果把自己的php檔案也都加上相同的namespace,則就報錯找不到系統自身的php檔案
回複內容:
我現在得到了第三方的幾個php檔案,開頭都有namespace的,
我怎麼能用?
補充,我要用的是
https://github.com/jeremeamia/super_closure
我看說明
use SuperClosure\Serializer;
但是提示
Fatal error: Class 'SuperClosure\Serializer' not found
我如果把自己的php檔案也都加上相同的namespace,則就報錯找不到系統自身的php檔案
現在php引入第三方包,普遍都是用的composer
,你可以看下composer
相關使用方法和概念
composer require jeremeamia/superclosure
如果要單獨使用某個檔案的話,可以直接include
。但是一般一個包會有很多個類檔案,你不會打算全部include
吧 - -#
psr-4
是一種載入標準,將namespace
和某個檔案路徑對應起來,實現按需時的消極式載入;使用composer
安裝,只需要包含一個composer
的引導檔案就可以實現psr-4
。
當然composer
還有很多功能....
如果你的程式沒有使用namespace
,而你又要使用帶有namespace
的部分其他程式,首先要確保這些程式檔案被include
到你的程式中,之後你可以通過直接使用對應類的全名或者使用use
引入來訪問這些類。
那把namespace SuperClosure\Serializer;的php檔案require_once()進來應該就不會報錯
namespace 是用來註冊一個檔案的路徑,所以如果需要使用第三方類包的時候,如果你的代碼當中有支援namespace的autoload方法的話,就需要對相關的autoload添加namespace,不同的架構會有不同的autoload方法,如果沒有的話,則需要註冊自己的autoload方法。如果不打算使用autoload方法的話就需要對你所使用的每個檔案進行include。