Composer 常用功能
来源:互联网 发布:网络侦探攻略 编辑:程序博客网 时间:2024/05/22 14:17
Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。
Packagist 的目标是成为大家使用库资源的中央存储平台。这意味着你可以 require 那里的任何包。
当你访问 packagist website (packagist.org https://packagist.org/ ),你可以浏览和搜索资源包。
执行composer install 后,在vendor 文件夹下会出现codeigniter文件夹和monolog文件夹;
key和value就定义出了namespace以及到相应path的映射。按照PSR-4的规则,
当试图自动加载 "Foo\\Bar\\Baz" 这个class时,会去寻找 "src/Bar/Baz.php" 这个文件,
如果它存在则进行加载。注意, "Foo\\"
注意在测试文件中一定要加载"require '../../../vendor/autoload.php';" 文件,只用加载了这个文件,其他的才不用加载;
例如在文件src/Bll/Foo.php
代码为:
测试文件: src/Controller/test.php
详情见:
http://www.tuicool.com/articles/mARrMj6
http://my.oschina.net/u/248080/blog/359008
http://my.oschina.net/houlive/blog/206832
加载类: 在本地文件中创建 lib/Payment.php
composer.json 中如下:
测试文件
点击submit Package
(一)如何添加包:
packagist 是 Composer 的主要资源库。 一个 Composer 的库基本上是一个包的源:记录了可以得到包的地方。Packagist 的目标是成为大家使用库资源的中央存储平台。这意味着你可以 require 那里的任何包。
当你访问 packagist website (packagist.org https://packagist.org/ ),你可以浏览和搜索资源包。
如果想要添加CI框架,composer.json文件可以写成:
{"require" :{ "monolog/monolog": "1.0.*", // monolog库 "codeigniter/framework": "3.0rc3" // CI 包 }}
执行composer install 后,在vendor 文件夹下会出现codeigniter文件夹和monolog文件夹;
(二) Composer 中的自动加载
"autoload": { "psr-4": { "App\\": "src/"} }
key和value就定义出了namespace以及到相应path的映射。按照PSR-4的规则,
当试图自动加载 "Foo\\Bar\\Baz" 这个class时,会去寻找 "src/Bar/Baz.php" 这个文件,
如果它存在则进行加载。注意, "Foo\\"
注意在测试文件中一定要加载"require '../../../vendor/autoload.php';" 文件,只用加载了这个文件,其他的才不用加载;
例如在文件src/Bll/Foo.php
代码为:
// 命名空间 namespace App\Bll;class UserBll {public static function test(){echo 'thisi is auto_loader ' ; }}
测试文件: src/Controller/test.php
namespace App\Controller;use App\Bll\UserBll;require '../../../vendor/autoload.php'; // 一定要加上此文件才可以 UserBll::test();
详情见:
http://www.tuicool.com/articles/mARrMj6
http://my.oschina.net/u/248080/blog/359008
http://my.oschina.net/houlive/blog/206832
加载类: 在本地文件中创建 lib/Payment.php
namespace PaymentGateway; class Payment { public function process() { echo 'hello world ' ; } }
composer.json 中如下:
"autoload": { "classmap":["lib"] }执行命令: composer dump-autoload
测试文件
namespace Paf\App\Controller;use Paf\App\Bll\UserBll;use Payment\Payment;require '../../../vendor/autoload.php';UserBll::test();Payment::process();如果不use的话可以这么写:
require '../../../vendor/autoload.php';\Paf\App\Bll\UserBll::test();\Payment\Payment::process();
(三) 创建一个自己的 Composer/Packagist 包
(1) 在gitlub上托管一个git仓库
(2) 在根目录中添加 composer.json 文件,文件内容如
{ "name": "louis/wlt-miaomu", "description": "In order to develop the miaomu cite ", "license": "MIT", "authors": [ { "name": "Louis", "email": "wang**@163.com" } ], "minimum-stability": "dev", "require": { "php": ">=5.3.0" }, "autoload": { "psr-4": { "Ford\\Fusion\\": "src/Ford/Fusion", "Ford\\Focus\\": "src/Ford/Focus", "Ford\\Fiesta\\": "src/Ford/Fiesta" } }}
(3) 在 https://packagist.org中注册账号,这里可以使用gitlub的账号使用
点击check Package ,然后输入 gitlub中仓库的地址 ****.git点击submit Package
参考文献
http://my.oschina.net/houlive/blog/206832 ;
1 0
- Composer 常用功能
- Composer自动加载功能
- composer常用知识总结
- Composer 常用包
- Hyperledger Composer 常用术语
- Composer
- Composer
- composer
- composer
- Composer
- Composer
- composer
- composer
- composer
- composer
- composer
- composer
- composer
- MFC程序来龙去脉
- UVA - 1427(经典滑动队列优化dp)
- 【BC】5192 Building Blocks Ⅱ(思维题+树状数组维护)
- Android 存储
- 设计模式学习003——工厂模式(工厂方法、抽象工厂),简单工厂【也叫静态工厂】
- Composer 常用功能
- 【c语言】自己编写一遍折半查找
- Prim's minimum spanning tree algorithm
- uva 10404 Bachet's Game (完全背包+博弈)
- 关于html
- 字符串的比较
- 字符串处理函数(string.h)
- C++中const关键字用法详解及实例和源码下载(三)
- C++和C# WebService相互调用