本文概述
Composer已成为最常用的PHP依赖项管理器。尽管有些人出于其他原因仍使用PEAR, 但由于有所有可打包的软件包, composer甚至已被广泛采用。 Composer解决了重新发明轮子的问题, 使你可以使用多个PHP的第三方开源库, 而无需关心已安装库的要求或依赖性, 因为Composer会自动为你完成。
基于Symfony 1.4的旧项目通常使用.tar或.zip文件分发, 因此你无法快速安装 Composer库。但是, 有可能这样做, 我们将在本文中向你展示。
要求
为了使用本文在旧版Symfony 1.4上实现composer, 你将需要Composer的基本知识(它的工作方式), composer的安装以及一个演示项目来对其进行测试。
1.你项目的Init Composer
对于使用composer的每个项目, 要做的第一件事是在项目的根目录上创建composer.json文件。你可以使用以下命令通过命令行以交互方式创建它:
composer init
或者, 至少使用以下结构手动创建它:
{
"name": "ourcodeworld/projectname", "type": "project", "authors": [
{
"name": "Your Name", "email": "youremail@youremail.com"
}
], "require": {
}
}
请注意, 到目前为止, 还没有可以包含在项目中的自动加载器文件, 也没有composer.lock文件。要创建自动加载器, 你需要安装所需的第一个库。
2.安装一些库进行测试
作为在你的项目中实现composer的下一个基本步骤, 只需启用composer的autoloader.php文件就足够了。但是, 在启用此功能之前, 该文件必须存在!这就是为什么你需要先安装一些库才能创建提到的文件的原因。在这种情况下, 如Composer的官方教程中所示, 我们将在项目中安装monolog软件包:
重要
切记安装要使用的库版本, 该版本与Symfony 1.x需要的PHP版本兼容, 例如PHP 5.3.3。
composer require monolog/monolog
这将在项目的根文件夹中创建/ vendor文件夹, 安装后将在其中放置所有库, 在这里你还将找到自动加载器。
3.在项目配置中注册composer自动加载器
现在已经存在composer的自动加载器文件, 你可以使用require_once将其包含在项目配置文件(yourproject / config / ProjectConfiguration.class.php)中:
<?php
require_once dirname(__FILE__) . '/../symfony-1.4.20/lib/autoload/sfCoreAutoload.class.php';
// In this file register the autoloader of composer using the following line:
require_once __DIR__.'/../vendor/autoload.php';
sfCoreAutoload::register();
class ProjectConfiguration extends sfProjectConfiguration {
public function setup() {
// Your original code
}
}
之后, 使用php symfony cache清除缓存:clear并尝试从Symfony项目上的任何控制器, 模型, 窗体使用新库
编码愉快!
评论前必须登录!
注册