來源:不言 發(fā)布時間:2019-01-04 15:02:43 閱讀量:966
我們在開發(fā)項目中會經(jīng)常用到第三方的類庫插件,但是如果每次需要使用的時候都會在代碼的某一處去引入,然后在實例化,這樣做感覺很不方便,那么怎么實現(xiàn)自動加載呢,下面簡單介紹使用composer實現(xiàn)自動加載:
1、首先需要安裝composer
安裝地址(中國鏡像): https://pkg.phpcomposer.com/#how-to-install-composer
根據(jù)它的說明一步一步進行安裝
2、安裝好composer以后創(chuàng)建一個工作目錄,eg:work
3、在項目目錄根目錄下建立一個composer.json文件,格式如下:(注意必須為空的json格式文件)
1 2 3 |
|
4.打開命令行控制臺cmd,進入工作目錄work,運行composer命令:
1 |
|
5.運行后會生成composer文件目錄:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
6.打開composer.json文件:
共有四種方式:
PSR-0(不推薦使用);
PSR-4;
Class-map;
Files;
下面演示PSR-4實現(xiàn)自動加載:
1 2 3 4 5 6 |
|
代碼中"命名空間"(不知道命名空間的話,最好先去搜索查一下)習慣為"目錄名/文件名"
7.新建src目錄,在目錄下創(chuàng)建IndexController.php,php文件內(nèi)容如下:
1 2 3 4 5 6 7 8 9 |
|
8.使用剛創(chuàng)建的IndexController類:
在work根目錄創(chuàng)建index.php:
1 2 3 4 5 6 |
|
運行后會出現(xiàn)報錯:
1 |
|
打開控制臺,進入到work文件目錄,運行composer命令:
1 |
|
在運行work下的index.php,不報錯誤信息說明已經(jīng)成功實現(xiàn)自動加載了。
9.在work下的index.php文件中我們實例化IndexController類的時,格式為"new src\\IndexController();";
如果命名空間較長的情況下,看起來不太方便,那我們可以用"use"來引入關(guān)鍵字,修改index.php代碼如下:
1 2 3 4 5 6 7 8 |
|
在運行index.php結(jié)果和上面一樣。
**注意:**在配置完composer.json以后一定要運行"composer dump-autoload"不然會出現(xiàn)class not fund;