composer php中如何执行,php中composer如何实现类的自动加载(示例讲解)
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于php中composer如何實現(xiàn)類的自動加載(示例講解),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
我們在開發(fā)項目中會經(jīng)常用到第三方的類庫插件,但是如果每次需要使用的時候都會在代碼的某一處去引入,然后在實例化,這樣做感覺很不方便,那么怎么實現(xiàn)自動加載呢,下面簡單介紹使用composer實現(xiàn)自動加載:
1、首先需要安裝composer
安裝地址(中國鏡像): https://pkg.phpcomposer.com/#how-to-install-composer
根據(jù)它的說明一步一步進(jìn)行安裝
2、安裝好composer以后創(chuàng)建一個工作目錄,eg:work
3、在項目目錄根目錄下建立一個composer.json文件,格式如下:(注意必須為空的json格式文件)
{
}
4.打開命令行控制臺cmd,進(jìn)入工作目錄work,運行composer命令:
composer install
5.運行后會生成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實現(xiàn)自動加載:
"autoload": {
"psr-4": {
"src\\": "src/"
}
}
代碼中"命名空間"(不知道命名空間的話,最好先去搜索查一下)習(xí)慣為"目錄名/文件名"
7.新建src目錄,在目錄下創(chuàng)建IndexController.php,php文件內(nèi)容如下:
//設(shè)置命名空間
namespace src;
class IndexController
{
public function index()
{
echo 'indexController';
}
}
8.使用剛創(chuàng)建的IndexController類:
在work根目錄創(chuàng)建index.php:
//引入vendor下的autoloas.php
require 'vendor/autoload.php';
//實例化對象
$index = new src\\IndexController();
//調(diào)用類中的方法
$index->index();
運行后會出現(xiàn)報錯:
class IndexController not fund
打開控制臺,進(jìn)入到work文件目錄,運行composer命令:
composer dump-autoload
在運行work下的index.php,不報錯誤信息說明已經(jīng)成功實現(xiàn)自動加載了。
9.在work下的index.php文件中我們實例化IndexController類的時,格式為"new src\\IndexController();";
如果命名空間較長的情況下,看起來不太方便,那我們可以用"use"來引入關(guān)鍵字,修改index.php代碼如下:
use src\IndexController;
//引入vendor下的autoloas.php
require 'vendor/autoload.php';
//修改后的實例化
$index = new IndexController();
//調(diào)用類中的方法
$index->index();
在運行index.php結(jié)果和上面一樣。
**注意:**在配置完composer.json以后一定要運行"composer dump-autoload"不然會出現(xiàn)class not fund;
總結(jié)
以上是生活随笔為你收集整理的composer php中如何执行,php中composer如何实现类的自动加载(示例讲解)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux centos升级php_Ce
- 下一篇: 动态规划算法php,php算法学习之动态