php,如何引用第三方namespace?

來源:互聯網
上載者:User
我現在得到了第三方的幾個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。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.