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