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教程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表