phpcomposer(phpcomposer教程)
本篇文章给大家谈谈phpcomposer,以及phpcomposer教程对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
php composer怎么用
Composer很好的解决了PHP的包管理和依赖问题,只需要import一个文件,Composer中管理的所有库段念就会按需加载,而不需要每个import。
先介绍一握正困下Composer的安装。Composer的官方地址:
安装
curl -sS | php
这样在当前目录下会下载一个composer.phar的文件,为了方便,我们可以重命名一下,并放到/usr/local/bin下,方便执行。
mv composer.phar /usr/local/bin/composer
使用
一般我习惯把Composer放在/opt下,所以先创建一个Composer的目录
mkdir /opt/composer
先下载一个KLogger,一个写日志的库,本人比较喜欢。
cd /opt/composer
composer require katzgrau/klogger:dev-master
这样,KLogger就被下载下来了,使用很简单,只需要引入一个文件。
?php
require '/opt/composer/vendor/autoload.php';
$logger = new Katzgrau\KLogger\Logger(__DIR__.'/logs');
...
KLogger可以使用了,我们在下载一个别的库,Medoo:一个轻清拦量级的数据库框架。同样的方式来下载。
cd /opt/composer
composer require catfan/Medoo
使用同理
?php
require '/opt/composer/vendor/autoload.php';
$medoo = new medoo();
//继续使用KLogger
$logger = new Katzgrau\KLogger\Logger(__DIR__.'/logs');
...
使用很简单,只要引入了 vendor/autoload.php ,就可以自动引入用到库,的确很酷。
加速
如果发现composer执行起来很慢,可以考虑换个镜像。这里推荐一个日本的镜像: 。
执行
composer config -g -e
编辑后
{
"config": {}
,
"repositories": [
{ "packagist": false },
{
"type": "composer",
"url": ""
}
]
}
如果发现composer长时间没反应,可以在执行时候加入 -vvv 选项,可以输出更多信息,方便查找问题。
composer -vvv require ...
最后
PHP的 spl_autoload_register 可以很方便做按需引入,当 new 一个类没发现的时候,就会触发,然后我们自己按照规则来处理引入。
一个简单的例子
?php
class ClassAutoloader
{
public function __construct()
{
spl_autoload_register(array($this, 'loader'));
}
public function loader($className)
{
$file = dirname(__FILE__) . '/' . $className . '.php';
if (is_file($file)) {
require $file;
}
}
}
$autoloader = new ClassAutoloader();
[img]php 怎么调用composer
遇到过相同的问题, 我的解决方案是在 `.gitignore` 文件里面把 `composer.lock` 这一行去掉, 也就是说把 `composer.lock` 文件也加入版本控制.
这样做有以下好处:
让参与项目开发的成员使用这些 package 的同一版早高本, 减少分歧;
在生产环境下, 使用命令 `composer install` 可以确保跟开发的时候使用了统一的版本, 减少不必要的变数;
跟踪当前项目使用所有 `package` 的版本, 当执行 `composer update` 出现问题带扮时, 可以利用 Git 定位到出问题的 package, 匹对下版本, 接下来就可以做如: 在 composer.json 里面写死版本等的解决动作了.
注意: 这里说下 composer 的机制, 当 `composer.lock` 文件存在的时候, 执行 `composer install` 命令时, composer 会更新按照 `composer.lock` 里的 package 指定版本进行安陆行尺装, 如果是执行 `composer update` 的话, 会更新 `package` 版本, 并更新 `composer.lock` 文件.
最后一条好处尤其重要, 设想如果是在没有版本控制 `composer.lock` 文件的情况下, 一出现问题, 那就直接瞎眼了.
PHP与composer结合-使用命名空间实现文件自动加载
composer中文文档
推荐阅读
发布自己的composer包
在项目 composer.json 中 autoload 部分里的 files 字段加入该文件即笑族可:
OK, 然后你就可以在任何地方用到 app/helpers.php 中的函数了.
有些项目习惯使用服务提供者注入类,比如这个项目中的 ExpressCheckProvider 类,然后在 app.php 中 providers 数组中添加
Yuxiaoyang\ExpressCheck\ExpressCheckProvider::class,
绑定了 expresscheck 其实就相当于是 new ExpressCheck(); 这个类。可以使用 app('expresscheck'谨升码祥哪) 直接获取这个类
关于phpcomposer和phpcomposer教程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。