文章目錄
心得:
看了這篇文章,讓你瞭解composer的本質,讓你想在哪裏安裝PSR-4在哪安裝(在獨立項目中,在CI框架中,在原來沒有使用的composer的CI框架中),這裏讓你看透autoload在程序運行過程中起作用的位置、如何起作用的
一、手冊、參考文件
PHP-FIG官網
PHP中PSR-[0-4]規範
composer的中文標準文檔—之composer.json 完全解析
二、composer下載、安裝、初始化、下載composer自帶autoload
新文件夾中執行命令
composer init
composer install
執行後顯示 Generating autoload files(自動添加 autoload.php)
三、如何使用這個autoload
重點:
1、必須在composer.json裏面註冊你要使用的命名空間
2、use \命名空間\路徑\類名(類名、文件名必須相同) 等效於 直接new \命名空間\路徑\類名
3、想要用use,其文件來源處必須包含namespace。否則只能直接用require。(形式上require xxx/autoload.php + use xxx == require xxx.php)
4、use 後面跟的是類名 非 文件名
四、composer和composer.json和PHP入口文件index.php的關係
1、composer命令、配置composer.json再配合composer update的作用:本質是不參與運行的配置文件
下載文件,設置名稱、路徑、自動加載方式
2、執行流程中composer.json是怎麼參與進來的(autoload爲例):
- composer.json中配置
- composer update 更新到vendor/composer/下的文件
- PHP 入口文件中加入autoload.php,既可使用psr-4規範了
不懂:
既然是引用,爲什麼引用的文件不能直接輸出,而必須是類的形式
難道更準確的理解是:“加載”、“加載類”???
源碼解讀
PHP_VERSION_ID大於50600時,三個文件可以不考慮