curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
注意: 如果上诉命令因为权限执行失败, 请使用 sudo 再次尝试运行 mv 那行命令。
现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。
安装 composer 后
1、创建 opp 项目文件
2、cd opp 文件 创建 composer.json
文件 composer.json
{
}
3、composer install
4、生成文件结构
opp
-- compoers.json
---- vendor
---- autoload.php
------ compoers
------- LICENSE
------- ClassLoader.php
------- installed.json
------- autoload_classmap.php
------- autoload_namespaces.php
------- autoload_psr4.php
------- autoload_real.php
------- autoload_static.php
5、自动生成目录结构后,在composer.json文件中新增代码,实现自动加载,代码如下:
{
"autoload": {
"psr-4": {
"Andy\\": "src"
}
}
}
命名空间Andy,是对应的目录名是 src。
6、新建src目录,在src目录下,创建一个类文件AuthController.php,该文件代码如下:
<?php
namespace Andy; // 设置命名空间
class AuthController
{
public function test()
{
echo 'test';
}
}
7、目录结构
opp
-- index.php
-- src
---- AuthController.php
-- compoers.json
---- vendor
---- autoload.php
------ compoers
------- LICENSE
------- ClassLoader.php
------- installed.json
------- autoload_classmap.php
------- autoload_namespaces.php
------- autoload_psr4.php
------- autoload_real.php
------- autoload_static.php
8、项目下 index.php 代码:
<?php
require'vendor/autoload.php';
$auth = new \Andy\AuthController();
$auth->test();
9、运行index.php文件,提示错误信息:
Class 'Andy\AuthController' not found
10、这是因为修改后的composer文件还未生效,我们需要在控制器运行如下composer命令加载类文件:
composer dump-autoload
11、打开Vendor/autoload_psr4.php,自动生成如下代码:
<?php
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Andy\\' => array($baseDir . '/src'),
);
12、运行app项目下index.php 的结果:
test