PHP名稱空間自動載入之composer實現方式
必備條件:你已經安裝了composer;
專案構建完成之後的檔案結構:
S1:
在專案根目錄建立composer.json檔案,寫入程式碼
{
"type": "project",
"autoload": {
"psr-4": {
"Admin\\": "admin/"
}
}
}
S2:
在專案根目錄開啟命令,寫入命令
composer update
等待執行完成。
安裝成功後,會在專案根目錄下新建一個"/vendor/"資料夾。
S3:
說明:使用之前需要require一下"/vendor/autoload.php"檔案。
$autoLoadFilePath = dirname($_SERVER['DOCUMENT_ROOT']).DIRECTORY_SEPARATOR.'vendor'.DIRECTORY_SEPARATOR.'autoload.php';
require_once $autoLoadFilePath;
說明:我的入口檔案在根目錄下的"\public\"資料夾下。
S4:
在"/admin/"目錄下新建test.php檔案,檔案內容如下
<?php namespace Admin; class test { public function sayHi() { echo 'hi'; } }
在"/public/"目錄下新建index.php檔案,檔案內容如下
<?php
//裝載自動載入函式
$autoLoadFilePath = dirname($_SERVER['DOCUMENT_ROOT']).DIRECTORY_SEPARATOR.'vendor'.DIRECTORY_SEPARATOR.'autoload.php';
require_once $autoLoadFilePath;
$test = new \Admin\test();
$test->sayHi();
S5:配置apache,訪問路徑,得到如下
成功!