咱們在開發項目中會常常用到第三方的類庫插件,可是若是每次須要使用的時候都會在代碼的某一處去引入,而後在實例化,這樣作感受很不方便,那麼怎麼實現自動加載呢,下面簡單介紹使用composer實現自動加載:php
原文地址:小時刻我的博客>http://small.aiweimeng.top/index.php/archives/11.htmlhtml
1.首先須要安裝composer
安裝地址(中國鏡像): https://pkg.phpcomposer.com/#how-to-install-composer
根據它的說明一步一步進行安裝
2.安裝好composer之後建立一個工做目錄,eg:work
3.在項目目錄根目錄下創建一個composer.json文件,格式以下:(注意必須爲空的json格式文件)json
{ }
4.打開命令行控制檯cmd,進入工做目錄work,運行composer命令:app
composer install
5.運行後會生成composer文件目錄:composer
- Vendor - composer - autoload_classmap.php - autoload_namespaces.php - autoload_psr4.php - autoload_real.php - autoload_static.php ClassLoader.php installed.json LICENSE - autoload.php - composer.json
6.打開composer.json文件:
共有四種方式:
PSR-0(不推薦使用);
PSR-4;
Class-map;
Files;
下面演示PSR-4實現自動加載:ui
"autoload": { "psr-4": { "src\\": "src/" } }
代碼中```命名空間```(不知道命名空間的話,最好先去搜索查一下)習慣爲```目錄名/文件名```
7.新建src目錄,在目錄下建立IndexController.php,php文件內容以下:spa
//設置命名空間 namespace src; class IndexController { public function index() { echo 'indexController'; } }
8.使用剛建立的IndexController類:
在work根目錄建立index.php:插件
//引入vendor下的autoloas.php require 'vendor/autoload.php'; //實例化對象 $index = new src\\IndexController(); //調用類中的方法 $index->index();
運行後會出現報錯:命令行
class IndexController not fund
打開控制檯,進入到work文件目錄,運行composer命令:code
composer dump-autoload
在運行work下的index.php,不報錯誤信息說明已經成功實現自動加載了。
9.在work下的index.php文件中咱們實例化IndexController類的時,格式爲```new src\\IndexController();```;
若是命名空間較長的狀況下,看起來不太方便,那咱們能夠用```use```來引入關鍵字,修改index.php代碼以下:
在運行index.php結果和上面同樣。**注意:**在配置完composer.json之後必定要運行```composer dump-autoload```否則會出現class not fund;