Composer安装、入门+Autoload机制详解

本文详细介绍了Composer的安装过程,包括composer.phar文件、全局安装、其他安装方式。接着,深入讲解了`composer.json`配置文件,如name、description、keywords、authors、version等属性,以及require、require-dev、conflict、replace等关键字段的用法。此外,还探讨了依赖管理和自动加载机制,包括简单使用和自定义依赖的autoload,以及PSR-0和PSR-4自动加载规范。
摘要由CSDN通过智能技术生成

一、安装

【comoser.phar】

comoser.phar是 composer的可执行文件,当前目录安装composer实际是【LINUX/WIN】curl(下载)命令 下载了composer.phar文件并且以php composer.phar [command] 的形式使用composer。

【首选-全局安装】

如果需要全局安装composer

WIN:

下载并使用composer-setup.exe安装程序或者crul命令手动安装(手动安装并不会检查该系统是否满足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 的命令是 php composer.phar install时,你可以使用下面命令替代:

composer install

LINUX:

先crul命令下载composer.phar,然后把可执行文件复制到**/usr/local/bin**路径中:

mv composer.phar /usr/local/bin/composer

注意: 以上命令如果失败,请尝试使用sudo 来增加权限。

【使用方法】

本地 使用 Composer 的话,你可以运行 php composer.phar ,全局的话是:composer

【其他安装方式-参考】

要快速安装Composer到当前目录,在终端中运行以下脚本. 若要自动安装, 请使用 以编程方式安装 Composer 的指南.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"

此安装脚本会简单检查一些php.ini设置 , 警告你如果它们设置不正确,并会下载最新的composer.phar到当前目录。上面3行将会顺序执行:

  • 下载安装程序到当前目录
  • 运行安装程序
  • 删除安装程序

二、composer.json文件配置详解

1.配置文件

在我们开始一个项目的时候,首先会给项目取一个名字,我们暂且叫 电子商城,代号
eshop
。首先要写一个 Composer 的配置文件,来描述项目,为此,在项目的根目录下,建立文件名为 composer.json 的配置文件。内容如下:

【composer.json/json文件/键值对形式/值可对象】
{
    "name":             "dmlk31/eshop",
    "description":      "another e-commerce website",
    "keywords":         ["dmlk31", "online shop", "good", "eshop"],
    "homepage":         "http://www.xxx.com",
    "time":             "2014-12-30",
    "license":          "MIT",
    "authors": [{
        "name":         "dmlk31",
        "email":        "dmlk31@xxxx.com",
        "homepage":     "http://www.xxxx.com",
        "role":         "Engineer"
    }]
}

如果您熟悉 JSON 格式,那么上面这段内容不言而喻。事实上,这些键值对都是可选的。也就是说,可以都不写。但是如果要把项目打包成公共包发布,那么这些还是需要写上的,给你的包取个名字总不为过。让我们来过一下这些键值对的意义吧。

1.1【常见属性详解】

1)“name” : “dmlk31/eshop”=>“name":"作者/包名称"
name 表示包的名称。如果你经常在 Github 上混,那这个值的表达方式一定非常熟悉啦。解释下,通常包名包含两部分,并且以 / 分隔。斜杆前面部分,代表包的所有者。目前大部分的包作者都喜欢用 Github 的用户名作为这部分的值。斜杆后面部分代表包的名称。尽量保持简单和有意义些,便于记忆和传播。大部分情况下,很多人会用 Github 的代码库名称来命名,当然,这种情况下,代码要存在 Github 比较有意义。

2)"description" : “another e-commerce website”=>”descirption“:"应用简介(一般不写中文,私认为中文有可能会因为json文件的编码引起内容不可读现象)"
应用简介,这部分尽量简洁介绍下项目,别长篇大论。如果确实有很多话要说,那么可以写在 README.md 文件里。

3)"keywords" : [“dmlk31”, “online shop”, “good”, “eshop”](搜索用索引)
关键词的值是一个字符串数组,在发布成公用库的是时候,作为元数据信息,有利于包的搜索和发现

4)"homepage" : “http://www.xxx.com”(任意网站告诉用户这个包跟这个网站有关)
主页,可以放你想放的任何页面地址

5)"license" : “MIT”(可以设置当下php的项目的开放程度,开放程度以及标识符参照下方许可协议标准网站)
如果你决定将包公开发布,那么记得选择一个合适的许可证。这样别的程序员在引用包的时候,通过查看许可证,确保没有法律上的问题。可选,但强烈建议提供此内容。更多许可协议的标识符请参见 SPDX Open Source License Registry

6)"authors" : [{}](作者)
**作者**字段可以包含一个对象数组,也就是说可以提供多个作者信息。

7)version(版本信息设定)

version**不是必须的并且建议忽略**(见下文)。

它应该符合 ‘X.Y.Z’ 或者 ‘vX.Y.Z’ 的形式, -dev-patch-alpha-beta-RC 这些后缀是可选的。在后缀之后也可以再跟上一个数字。

例:

  • 1.0.0
  • 1.0.2
  • 1.1.0
  • 0.2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值