1.首先需要安装composer
安装地址(中国镜像):https://pkg.phpcomposer.com/#how-to-install-composer
根据它的说明一步一步进行安装
2.安装好composer以后创建一个工作目录,eg:work
3.在项目目录根目录下建立一个composer.json文件,格式如下:(注意必须为空的json格式文件)
{
}
4.打开命令行控制台cmd,进入工作目录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实现自动加载:
"autoload": {
"psr-4": {
"src\\": "src/"
}
}
代码中命名空间
(不知道命名空间的话,最好先去搜索查一下)习惯为目录名/文件名
7.新建src目录,在目录下创建IndexController.php,php文件内容如下:
//设置命名空间
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命令:
composer dump-autoload
在运行work下的index.php,不报错误信息说明已经成功实现自动加载了。
9.在work下的index.php文件中我们实例化IndexController类的时,格式为new src\\IndexController();
;
如果命名空间较长的情况下,看起来不太方便,那我们可以用use
来引入关键字,修改index.php代码如下:
use src\IndexController;
//引入vendor下的autoloas.php
require 'vendor/autoload.php';
//修改后的实例化
$index = new IndexController();
//调用类中的方法
$index->index();
在运行index.php结果和上面一样。
注意:在配置完composer.json以后一定要运行composer dump-autoload
不然会出现class not fund;
[...]原文地址:小时刻个人博客>http://small.aiweimeng.top/index.php/archives/11.html[...]