本文主要介绍composer的使用方法,以最新的thinkphp5框架为例,介绍其使用方法(注:thinkphp5已支持composer).
一.安装composer略(请参考 composer中文网).
二. 声明依赖:编辑composer.json文件,在thinkphp5框架根目录下,指明依赖 内容如下
红色内容为依赖,包括开发依赖.
{
"name": "topthink/think",
"description": "the new thinkphp framework",
"type": "project",
"keywords": ["framework","thinkphp","ORM"],
"homepage": "http://thinkphp.cn/",
"license": "Apache2",
"authors": [
{
"name": "liu21st",
"email": "liu21st@gmail.com"
}
],
"require": {
"php": ">=5.4.0",
"monolog/monolog": "1.2.*"
},
"require-dev": {
"johnkary/phpunit-speedtrap": "^1.0",
"mikey179/vfsStream": "~1.6",
"phploc/phploc": "*",
"phpunit/phpunit": "~4.8",
"sebastian/phpcpd": "*",
"squizlabs/php_codesniffer": "2.*"
},
"config": {
"vendor-dir": "thinkphp/vendor"
},
"repositories": [
{"type": "composer", "url": "http://packagist.phpcomposer.com"},
{"packagist": false}
]
}
三.安装依赖
在thinkphp5根目录下 运行
composer install
四.自动加载
在thinkphp/start.php文件中加入
require 'vendor/autoload.php';
五.在控制器中使用
如在 application/index/controller/index.php 控制器中
使用symfony的Finder组件.
<?php
namespace index\controller;
use Symfony\Component\Finder\Finder; //use Finder
class Index
{
public function index()
{
$finder = new Finder();
$iterator = $finder
->files()
->name('*.php')
->depth(0)
->size('>= 0K')
->in(dirname(dirname(__DIR__)));
foreach ($iterator as $file) {
print $file->getRealpath()."<br>";
}
}
}
上面会输出 目录下的文件如
/var/www/html/think5/application/config.php
/var/www/html/think5/application/route.php
/var/www/html/think5/application/database.php
最后提醒一下,在部署代码到生产环境的时候,别忘了优化一下自动加载:
composer dump-autoload --optimize
安装包的时候可以同样使用--optimize-autoloader
。不加这一选项,你可能会发现20%到25%的性能损失。
如果你需要帮助,或者想要了解某个命令的细节,你可以阅读官方文档或者中文文档,也可以查看JoliCode做的这个交互式备忘单。
转载请注明:来自Lenix的博客 http://blog.p2hp.com/archives/2738
最后更新于 2015年12月24日