Composer是PHP的依赖项管理器,类似于Node.js的npm或Python的pip。使用Composer让您可以项目所依赖的PHP库。
它将为您安装和管理所有库和依赖。Composer适用于所有现代PHP框架和平台,例如Laravel,Symfony,Drupal和Magento。
本教程介绍如何在Debian 10安装和使用Composer。在安装Composer之前,请确保您已在Debian 10安装PHP。
Composer提供了一个用PHP编写的安装程序,我们将使用它来安装Composer。
Composer是单个文件CLI应用程序,可以使用全局安装或者本地安装的方式进行配置。你需要以root或者具有sudo权限的用户才可以配置全局安装。
如果需要全局安装Composer,只需将Composer文件移动到PATH环境变量的目录中即可。 在本教程中,将使用自动的方式安装Composer。
现在我们已经将这些过程整合一个命令中,你可直接运行以下使用HereDoc和cat命令整合的脚本一键安装Composer。脚本将会安装最新的稳定版本的Composer。
cat <<"EOF" | bash
EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]
then
>&2 echo 'ERROR: Invalid installer checksum'
rm composer-setup.php
exit 1
fi
php composer-setup.php --quiet
RESULT=$?
rm composer-setup.php
sudo mv composer.phar /usr/bin/composer
composer -v
exit $RESULT
EOF
Composer入门
现在,您的Debian 10已安装Composer,让我们看看如何使用Composer创建PHP项目。第一步是创建项目根目录,然后导航到项目目录中。
在此示例中,我们将使用一个名为 carbon 的PHP程序包来创建一个示例应用程序,以显示当前时间。
运行命令composer require nesbot/carbon
来初始化新的Composer项目并安装carbon依赖。
Composer创建composer.json
文件并下载并安装carbon及其所有依赖项。如果您运行ls命令列出目录。
则会看到项目目录包含两个文件composer.json
和composer.lock
,以及一个vendor
目录。
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
composer require nesbot/carbon
ls -l
vendor
是存储项目依赖项的目录。composer.lock
是一个文件,其中包含所有已安装的依赖及其版本的信息,将项目锁定为指定版本。
composer.json
是描述您的PHP项目的文件,包括PHP依赖关系和其他元数据。可通过Composer安装的所有PHP依赖在Packagist中找到。
Composer具有自动加载功能,我们无需使用require
或include
文件即可调用PHP类。创建一个名为testing.php
的文件,并添加php代码。
现在使用你的喜欢的文本编辑器创建文件~/my-first-composer-project/testing.php
。
在本教程中我们将使用vim编辑器打开文件~/my-first-composer-project/testing.php
。
vim ~/my-first-composer-project/testing.php
这里解释一下testing.php
的代码,vendor/autoload.php
文件由Composer自动生成,并自动加载所有库。
下一行导入Carbon
的命名空间,最后一行使用Carbon now
方法打印当前时间。有关Composer的更多信息,请访问官方文档页面。
php testing.php
Now: 2020-06-17 20:41:04
结论
我们向您展示了如何在Debian 10安装Composer以及如何使用它来创建基本的PHP项目。如有任何疑问,请在下面发表评论。