环境
MacOS 10.12.6
PHP 5.6.30
yii2.0
一、composer (类似 node's npm)
1、安装
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
如果是 MacOS ,还需要配置到环境变量中:
sudo mv composer.phar /usr/local/bin/
vim ~/.bash_profile
# 加入下面一句
# alias composer="php /usr/local/bin/composer.phar"
2、添加镜像
# 全局修改
composer config -g repo.packagist composer https://packagist.phpcomposer.com
3、help
composer
二、 yii
1、获得 yii 项目
(1)创建初始化项目
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
(2)拉取别人的项目
如 github
2、安装 Composer Asset Plugin
Composer Asset Plugin允许您在 composer.json
不安装NPM或Bower的情况下管理项目资产(css,js等)
composer global require "fxp/composer-asset-plugin:^1.2.0"
3、安装依赖
composer install
原理:会根据 composer.json
里的
{
"require": {
"monolog/monolog": "1.0.*"
……
}
}
# 版本约束规范
# 1.0.2
# >、>=、<、<=、!=
# 1.0.* 等于 >=1.0,<1.1
# ~1.2 等于 >=1.2,<2.0 【最常用】
安装依赖,并创建:
A、vendor/monolog/monolog
(记得在 .gitignore
里忽略 vendor
文件夹)。
B、composer.lock
,记录比 composer.json
更精确的版本号列表。
(如果项目里有 composer.lock
,用 composer install
安装依赖时就会根据 composer.lock
而忽略 composer.json
)
搜索更多的依赖包,请登录 https://packagist.org/
3、启动
php yii serve
4、访问
如 localhost:8080
拓展
1、MacOS 环境变量 设置
(1)设置在什么文件
# 优先级从高到低
/etc/profile 或 /etc/zprofile[系统级]
/etc/bashrc 或 /etc/zshrc [系统级]
~/.bash_profile 或 ~/.zprofile [以下都是当前用户级]
~/.bash_login 或 ~/.zlogin
~/.profile 或 ~/.zprofile
~/.bashrc 或 ~/.zshrc
如果 ~/.bash_profile
存在,则后面的 ~/.bash_login
和 ~/.profile
就会被忽略不读了。
(2)怎么设置
# 方式一
# export PATH=path1:path2:${PATH}
export PATH="$PATH:/usr/local/Cellar/node/8.4.0/bin"
# or
export PATH="/usr/local/Cellar/node/8.4.0/bin:$PATH"
# 方式二
alias sub='open -a "/Applications/Sublime Text.app"'
(3)怎么使之生效
source ~/.bash_profile
# or
重启电脑
2、composer install 跟 composer require 区别
composer install = npm install (只会安装 composer.json 里写了但没装的)
composer require xxx = npm install xxx --save(会先装然后再往 composer.json 上写)