日期:2011-08-29  浏览次数:20432 次

最近有许多关于PSR-1, Composer, Packagist packages的讨论,同样是否FuelPHP是否支持这些,这篇文章我将制作一个清晰的关于FuelPHP支持Composer的标准,了解现在如何使用它,并且未来将如何使用。

我现在可以使用composer包管理么?


这个答案是“可以,绝对的!”

事实上在1.x版本的FuelPHP中没有使用Composer本身,这并不意味着你不能将composer包加入到你的应用中去。所以,你如何将composer包引入到你的项目中去?很简单,跟着下面几个步骤来操作:

1.安装composer包到你的APPPATH(不是项目的更目录),可以查看这里的介绍(https://getcomposer.org/doc/00-intro.md)

2.创建一个composer.json文件,这个文件将会安装你选择的包,可以看这里的文档:https://getcomposer.org/doc/01-basic-usage.md#composer-json-project-setup

3.运行Composer安装器来安装你composer.json文件中的依赖关系。

这些完成后,Composer已经安装到你应用目录"vendor" 文件夹中去了,这个在每个FuelPHP默认安装中都会存在。


下面一个步走就是在框架中设定你那些依赖,这个过程需要自己操作,因为框架不会自动加载Composer,它使用自己内置的PSR-1 自动加载器,下面来做这些:在你的bootstrap.php,在代码:

Autoloader::register();

后面增加

// load the Composer autoloader 
require APPPATH.'vendor/autoload.php';

这个将会载入Composer自动加载器,这个将会在FuelPHP内置加载器无法找到调用类的时候使用。从现在开始,你可以在你的应用中使用已经被加载安装好的包了,就像任何类一样。


未来如何?


FuelPHP第二个版本将会将会建立完全的Composer组建,包含在应用程序,你可以查看现在框架的存储库:https://github.com/fuelphp/fuelphp,现在正在v2的开发中,我们将在我们composer packages中使用Packagist repository。

我们没有讨论在2.0发布版中将要做什么,特别是当他涉及到一些FuelPHP特定的包。那些使用Packagist的,可能是为了操作变的更简单和更方便,另外一方面,一个FuelPHP特定包存储库可能更容易接近框架用户。让我们知道你更多的想法!