php 怎么调用php composer 安装

PHP之Composer类库依赖管理神器
Composer中文版说明见:/kaka987/Composer-zh
Composer 是PHP的类包依赖管理工具,用它可以轻松的引用第三方类包,类似于node的npm、ruby的bundler、CentOS中的yum等
1、PHP比你想象的要好得多
是的,PHP的流行不是没有道理的,看过这篇文字后,开始研究Composer,并决定在现用框架中集成Composer。
2、Composer为我们解决了两个大问题:
1)类库的依赖管理(尤其是N多类库的应用系统)
2)类的自动加载机制(Symfony/Zend/Laravel等均引用了Composer的类加载器)
Composer的安装
curl -sS https://getcomposer.org/installer | php
如果报错:
composer: You must enable the openssl extension to download files via https
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'为了账号安全,请及时绑定邮箱和手机
PHP依赖管理工具composer安装和使用
PHP依赖管理工具composer安装和使用
composer安装
1.下载composer
php -r &readfile('');& & composer-setup.php
php composer-setup.php
php -r &unlink('composer-setup.php');&
执行第一条命令下载下来的 composer-setup.php 脚本将简单的检测 php.ini 中的参数设置,如果某些参数未正确设置则会给出警告;
然后下载最新版本的 composer.phar 文件到当前目录。
上述 3 条命令的作用依次是:
1.下载安装脚本(composer-setup.php)到当前目录。
2.执行安装过程。
3.删除安装脚本 -- composer-setup.php 。
2.全局安装
cp composer.phar /usr/local/bin/composer
3.配置中国镜像
composer config -g repo.packagist composer
使用中的问题
在项目中composer update组件时出现错误提示
[Composer\Downloader\TransportException]
Your configuration does not allow connection to .
for details。
解决方法禁用https请求,改用http方式。所以我们在composer.json文件中设置一个本地或全局的composer配置config
方法一:命令行composer config secure-http false。通过命令修改composer.json,效果等同方法二。
方法二:直接改composer.json,给“config”项中加上&secure-http&:
"config":{
"vendor-dir":"packages",
"secure-http":false
安装常用框架案例
安装Laravel
composer create-project laravel/laravel LaravelTest --prefer-dist
chmod -R 777 LaravelTest/storage
chmod -R 777 LaravelTest/vendor
Composer asset plugin,它是通过 Composer 管理 bower 和 npm 包所必须的,此命令全局生效,一劳永逸。
composer self-update
composer global require "fxp/composer-asset-plugin:~1.0.3"
安装基础版
composer create-project --prefer-dist yiisoft/yii2-app-basic basicApp
安装高级版
composer create-project --prefer-dist yiisoft/yii2-app-advanced yii2App
安装ThinkPHP
composer create-project topthink/thinkphp ThinkDemo
相关标签:
分享即可 +1积分
请登录后,发表评论
评论(Enter+Ctrl)
评论加载中...
评论加载中...
Linux系统工程师
这位童鞋很懒,什么也没有留下~~!
Copyright (C)
All Rights Reserved | 京ICP备 号-222418人阅读
持续化集成(16)
在项目中使用composer.json
在项目中使用composer,你需要有一个composer.json文件,此文件的作用主要用来声明包之间的相互关系和其他的一些元素标签。
require&关键字
第一件事情在composer.json就是使用require关键字了,你将告诉composer哪些包是你项目所需要的
&require&: {
&monolog/monolog&: &1.0.*&
如你所见,require的对象将会映射包的名称(&monolog/monolog)和包的版本是1.0.*
基本上包的命名是 主名/项目名称(&monolog/monolog),主名必须唯一,但是项目也就是我们的包的名称可以有相同的,例如: igorw/json,和seldaek/json
我们需要使用monolog的版本是1.0.*,他的意思是只要版本是1.0分支即可,例如1.0.0,1.0.2或者1.0.99
版本定义的两种方式:
标准的版本:定义保准的版本包文件,如:1.0.2
一定范围的版本:使用比较符号来定义有效的版本的范围,有效的符号有&,&&=,&&,&=,&!=
通配符:特别的匹配符号*,例如1.0.*就相当于&=1.0,&1.1版本的即可
下一个重要的版本:~符号最好的解释就是,~1.2就相当于&1.2,&2.0,但~1.2.3就相当于&=1.2.3,&1.3版本。&&&
在项目文件路径下运行
$ composer install
这样子他会自动下载monolog/monolog文件到你的vendor目录下面。
接下来需要说明一件事情就是
composer.lock&- 锁定文件
在安装完所有需要的包之后,composer会生成一张标准的包版本的文件在composer.lock文件中。这将锁定所有包的版本。
使用composer.lock(当然是和composer.json一起)来控制你的项目的版本
这一点非常的重要,我们使用install命令来处理的时候,它首先会判断composer.lock文件是否存在,如果存在,将会下载相对应的版本(不会在于composer.json里面的配置),这意味着任何下载项目的人都将会得到一样的版本。
如果不存在composer.lock,composer将会通过composer.json来读取需要的包和相对的版本,然后创建composer.lock文件
这样子就可以在你的包有新的版本之后,你不会自动更新了,升级到新的版本,使用update命令即可,这样子就能获取最新版本的包并且也更新了你的composer.lock文件。
$ php composer.phar update
$ composer update
Packagist(这应该就是composer,感觉有点像python的包,虽然没那么强大,呵呵,有了这种标准以后,以后大家开发网站绝对会很轻松,可以借鉴很多人的代码了,并且更加方便了!)
是composer的主要仓库,大家可以去看看,composer仓库的基础是包的源码,你可以随意的获取,的目的建成一个任何人都可以使用的仓库,这就意味着在你的文件中任意的require包了。
关于自动加载
为了方便的加载包文件,Composer自动生成了一个文件 vendor/autoload.php,你可以方便只有的使用它在任何你需要使用的地方
require 'vendor/autoload.php';
这意味着你可以非常非常方便的使用第三方代码了,假设你的项目需要使用monlog,你直接使用吧,他们都已经自动加载了的!
$log = new Monolog\Logger('name');
$log-&pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$log-&addWarning('Foo');
当然你也可以在composer.json中加载自己的代码:
&autoload&: {
&psr-0&: {&Acme&: &src/&}
composer将会把psr-0注册为Acme的命名空间
你可以定义一个映射通过命名空间到文件目录,src目录是你的根目录,vendor是同一级别的目录,例如一个文件为:src/Acme/Foo.php就包含了Acme\Foo类
当你在增加autoload之后,你必须要重新install来生成vendor/autoload.php文件
在我们引用此文件的时候,将会返回一个autoloader类的实力,所以你可以把返回的值放入一个变量,然后在增加更多的命名空间,如果在开发环境下这是非常方便的,例如:
$loader = require 'vendor/autoload.php';
$loader-&add('Acme\Test', __DIR__);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:223032次
积分:2566
积分:2566
排名:第10347名
原创:52篇
转载:115篇
评论:16条
(1)(2)(10)(22)(38)(3)(14)(18)(5)(2)(5)(2)(19)(11)(10)(5)

我要回帖

更多关于 phpstorm composer 的文章

 

随机推荐