我们现在的项目中使用了一堆的
require
语句, 这样的方式对项目管理并不是很好,现在有人为 php 开发了一个叫做composer
的依赖包管理工具,非常好用,我们将其集成进来,composer 官方地址 https://getcomposer.org/ 按照提示进行全局安装即可。
我们先将bootstrap.php
中的下面4句类引入
代码注销// require 'core/Router.php'; // require 'core/Request.php'; // require 'core/database/Connection.php'; // require 'core/database/QueryBuilder.php';
然后在根目录下建立
coomposer.json
的配置文件,输入以下内容:{ "autoload": { "classmap": [ "./" ] } }
上面的意思是将根目录下的所有的
类文件都加载进来
, 在命令行执行composer install
后,在根目录会生成出一个vendor
的文件夹,我们以后通过composer
安装的任何第三方代码都会被生成在这里。下面在
bootstrap.php
添加require 'vendor/autoload.php';
即可。我们可以在vendor/composer/autoload_classmap.php
文件中查看生成的文件对应关系。<?php
root@alex-virtual-machine:~/framework# php index.php
22routerroot@alex-virtual-machine:~/framework# tree
.
├── bootstrap.php
├── composer.json
├── core
│ ├── Request.php
│ └── Router.php
├── index.php
└── vendor
├── autoload.php
└── composer
├── autoload_classmap.php
├── autoload_namespaces.php
├── autoload_psr4.php
├── autoload_real.php
├── ClassLoader.php
├── installed.json
└── LICENSE3 directories, 13 files
如果新添加了类文件,我们需要运行下面命令进行类自动重新加载:
composer dump-autoload
转载于:https://my.oschina.net/yonghan/blog/1491487