本文主要介绍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日

composer的使用介绍.
标签: