首页 > 编程语言 >php 项目依赖时使用Composer

php 项目依赖时使用Composer

时间:2022-11-11 23:40:05浏览次数:71  
标签:php Composer 依赖 composer PHP 安装



项目依赖管理方案。即使你手工的管理它们,你还不得不处理它们的自动加载问题。

目前主要有两个PHP包管理系统:Composer和PEAR,哪个适合你呢?答案是两个都需要。

  • 管理单个项目的依赖时使用Composer
  • 管理整个系统的PHP依赖时使用PEAR

项目制定方案可能更合适。

Composer 

and  Packagist

Composer是一个出色的PHP依赖管理器,把项目的依赖列在composer.json文件中,然后通过一些简单的命令,Composer就会 自动的帮你下载这些依赖,并配置好自动加载路径。

现在已经有很多PHP库支持Composer,可以在项目中使用它们,具体列表可以​​点击查看​​​,这是官方支持的Composer兼容的PHP库。
​​​https://packagist.org/explore/​​ 包列表

如何安装Composer


项目的根目录执行:



curl -s https://getcomposer.org/installer | php



请注意:如果 你通过管道直接把下载的代码传给PHP解释器,请先在线阅读代码以确保该代码是安全的。

如何手动安装Composer


手动安装composer有点麻烦,不过很多开发者可能更喜欢这种安装方式。使用交互式安装程序,它会检查你安装的PHP:

  • PHP版本满足要求
  • - 相关目录的权限设置正确 - 没有加载某些不兼容的扩展
  • 相应的php.ini设置正确

而手动安装则需要你自己做这些事情,你必须自己权衡利弊,以决定是否手动安装。下面是手动获取Composer的方法:



curl -s https://getcomposer.org/composer.phar -o $HOME/local/bin/composer chmod +x $HOME/local/bin/composer



目录$HOME/local/bin(或你自己选择其它目录)应该在你的$PATH环境变量中,从而可以直接运行composer命令。

composer.phar install,就可以用如下命令替代:



composer install

如何定义和安装依赖


首先,在composer.phar所在目录创建文件composer.json,下面是一个依赖​​Twig​​例子:



{     "require": {         "twig/twig": "1.8.*"     } }



第二步:在项目根目录运行:



php composer.phar install



这会在vendors/下载和安装项目依赖。最后在应用的PHP入口文件添加下面代码,告诉PHP使用Composer自动加载器加载项目的依赖库:



  require'vendor/autoload.php';



现在你就可以使用项目依赖的库了,它们会在需要的时候自动加载。




​​#php​​ ​​#web​​



标签:php,Composer,依赖,composer,PHP,安装
From: https://blog.51cto.com/u_2776699/5845562

相关文章

  • Facebook 的 PHP 性能与扩展性
    炙手可热的Facebook是用PHP开发的。随着一些技术交流,逐渐能看到Facebook技术人员分享的经验。近期这个​​geekSessions​​站点上看到Facebook的LucasNealan......
  • phper 的鼓励  microsoft 牵手php
    ​​美国​​旧金山当地时间本周二,微软和开放源代码软件厂商Zend宣布,二家公司已经结成长期的合作伙伴关系。 微软的技术战略家希尔夫说,与Zend的合作将是为期多......
  • 在CakePHP中使用TinyMCE编辑器【转】
    ​​TinyMCEEditor​​​小巧实用,是网页文章编辑器之首先,最近在用CakePHP做一个小项目正好用到,记录一下。首先下载​​​TinyMCE​​,并把压缩包内tinymce/jscripts/tiny......
  • php 上传图片 报500 解决方案
    首先排查php文件配置是否正确,网上有很多都是这种文章,这里不赘述。分享下我的情况,php配置文件里的upload_tmp_dir若未指定目录,那么默认的临时存放目录是C:\Windows\Temp,我......
  • 构造器注入和setter依赖注入,那种方式更好
    每种方式都有它的缺点和优点。构造器注入保证所有的注入都被初始化,但是setter注入提供更好的灵活性来设置可选依赖。如果使用XML来描述依赖,Setter注入的可读写会更强。经验......
  • PHP环境搭建
    php环境搭建需要的工具:Apache、php、mysql目录:一、Apache获取压缩包配置Apache安装二、Php获取压缩包:配置Php三、在Apache中导入Php模块四、安装Mysql序......
  • PHP sprintf函数 bug
    sprintf()定义和用法format参数可能的格式值:%%-返回一个百分号%%b-二进制数%c-ASCII值对应的字符%d-包含正负号的十进制数(负数、0、正数)%e-使用小写的......
  • php实现单链表
    今天记录下使用php实现单向链表的功能操作先创建一个节点类用来生成节点对象<?phpclassnode{public$name=null;public$no=null;public$next=......
  • 【转载】package.json单独升级子依赖的版本
    原文:选择性依赖项解决package.json文件里的resolutions字段用于解析选择性版本,可以通过此功能自定义依赖版本。这通常需要手动编辑yarn.lock文件。你为什么要这么......
  • PHP垃圾回收机制
    PHP5.3的新的垃圾回收机制(也就是GC)的特点。 引用计数基本知识每个php变量存在一个叫"zval"的变量容器中。一个zval变量容器,除了包含变量的类型和值,还包括两个字节的额外信......