新手必看

新手必看

常见问题必读帮助文件
鸿宇官网

鸿宇官网

鸿宇科技官方网站
鸿宇教程库

鸿宇教程库

鸿宇科技官方教程
功能反馈与建议

功能反馈与建议

BUG反馈问题建议
鸿宇淘宝店铺

鸿宇淘宝店铺

鸿宇官方唯一淘宝店铺
eBestMall官网

eBestMall官网

B2B2C新零售电商系统
eBestMall演示站点

eBestMall演示站点

eBestMall使用手册

eBestMall使用手册

系统使用/配置/教程

Yii2 - Centos 6.* / 7.*下通过yum安装php7

Shadow 发表了文章 • 0 个评论 • 720 次浏览 • 2017-05-07 23:34 • 来自相关话题

官方出品:鸿宇科技
官方论坛:bbs.hongyuvip.com
官方QQ群:90664526
 
查看 centos 版本# cat /etc/centos-release
删除之前的 php 版本# yum remove php* php-common
rpm 安装 Php7 相应的 yum源

CentOS/RHEL 7.x:# rpm -Uvh https://dl.fedoraproject.org/p ... h.rpm
# rpm -Uvh https://mirror.webtatic.com/yu ... e.rpm
CentOS/RHEL 6.x:# rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

yum安装php7# yum install php70w php70w-opcache
php7可选安装# yum install php70-php php70-php-pear php70-php-bcmath php70-php-pecl-jsond-devel php70-php-mysqlnd php70-php-gd php70-php-common php70-php-fpm php70-php-intl php70-php-cli php70-php php70-php-xml php70-php-opcache php70-php-pecl-apcu php70-php-pecl-jsond php70-php-pdo php70-php-gmp php70-php-process php70-php-pecl-imagick php70-php-devel php70-php-mbstring php70-php-mcrypt
安装其他插件列表(选装)php70w
php70w-bcmath
php70w-cli
php70w-common
php70w-dba
php70w-devel
php70w-embedded
php70w-enchant
php70w-fpm
php70w-gd
php70w-imap
php70w-interbase
php70w-intl
php70w-ldap
php70w-mbstring
php70w-mcrypt
php70w-mysql
php70w-mysqlnd
php70w-odbc
php70w-opcache
php70w-pdo
php70w-pdo_dblib
php70w-pear
php70w-pecl-apcu
php70w-pecl-imagick
php70w-pecl-xdebug
php70w-pgsql
php70w-phpdbg
php70w-process
php70w-pspell
php70w-recode
php70w-snmp
php70w-soap
php70w-tidy
php70w-xml
php70w-xmlrpc
重启 Apache# service httpd restart
 

  查看全部
官方出品:鸿宇科技
官方论坛:bbs.hongyuvip.com
官方QQ群:90664526
 
查看 centos 版本
# cat /etc/centos-release 

删除之前的 php 版本
# yum remove php* php-common 

rpm 安装 Php7 相应的 yum源

CentOS/RHEL 7.x:
# rpm -Uvh https://dl.fedoraproject.org/p ... h.rpm 
# rpm -Uvh https://mirror.webtatic.com/yu ... e.rpm

CentOS/RHEL 6.x:
# rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm 


yum安装php7
# yum install php70w php70w-opcache

php7可选安装
# yum install php70-php php70-php-pear php70-php-bcmath php70-php-pecl-jsond-devel php70-php-mysqlnd php70-php-gd php70-php-common php70-php-fpm php70-php-intl php70-php-cli php70-php php70-php-xml php70-php-opcache php70-php-pecl-apcu php70-php-pecl-jsond php70-php-pdo php70-php-gmp php70-php-process php70-php-pecl-imagick php70-php-devel php70-php-mbstring php70-php-mcrypt

安装其他插件列表(选装)
php70w
php70w-bcmath
php70w-cli
php70w-common
php70w-dba
php70w-devel
php70w-embedded
php70w-enchant
php70w-fpm
php70w-gd
php70w-imap
php70w-interbase
php70w-intl
php70w-ldap
php70w-mbstring
php70w-mcrypt
php70w-mysql
php70w-mysqlnd
php70w-odbc
php70w-opcache
php70w-pdo
php70w-pdo_dblib
php70w-pear
php70w-pecl-apcu
php70w-pecl-imagick
php70w-pecl-xdebug
php70w-pgsql
php70w-phpdbg
php70w-process
php70w-pspell
php70w-recode
php70w-snmp
php70w-soap
php70w-tidy
php70w-xml
php70w-xmlrpc

重启 Apache
# service httpd restart

 

 

Yii2 - Linux安装使用Composer

Shadow 发表了文章 • 0 个评论 • 942 次浏览 • 2016-12-20 16:52 • 来自相关话题

Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。它在每个项目的基础上进行管理,在你项目的某个目录中进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

Composer 将这样为你解决问题:

a) 你有一个项目依赖于若干个库。

b) 其中一些库依赖于其他库。

c) 你声明你所依赖的东西。

d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

Composer 是多平台的,我们努力使它在 Windows 、 Linux 以及 OSX 平台上运行的同样出色。
 
安装Composer

1、将composer.phar下载到项目中

使用下面命令下载Composer 的二进制文件,是一个 PHAR 包(PHP 的归档)curl -sS https://getcomposer.org/installer | php
* 可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/composer
2、如果把composer.phar放在系统的 PATH 目录中,就能在全局访问composer.phar。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。可以执行这些命令让 composer 在你的系统中进行全局调用:mv composer.phar /usr/local/bin/composer
现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。

3、检查 Composer 是否正常工作,只需要通过 php 来执行 PHAR:php composer.phar这将返回给你一个可执行的命令列表。
 
4、查看当前 Composer镜像地址
composer config –gl
[repositories.packagist.org.url] https://packagist.phpcomposer.com

使用 Composer
要在项目中使用 Composer,只需要一个 composer.json 文件。该文件包含了项目的依赖和其它的一些元数据。现在使用 Composer 来安装项目的依赖。

1、创建 composer.json 文件

在当前目录下创建 composer.json 文件,在 composer.json 文件中指定 require key 的值。简单的告诉 Composer 你的项目需要依赖哪些包。

例如:{
"require":
{
"monolog/monolog": "1.0.*"
}
}
可以看到, require 需要一个 包名称  monolog/monolog映射到 包版本 1.0.*的对象。包名称由供应商名称和其项目名称构成。

2、安装依赖包

执行 install 命令获取定义的依赖到本地项目:php composer.phar install
如果你进行了全局安装,并且没有 phar 文件在当前目录,使用下面的命令代替:composer install
这将会找到 monolog/monolog 的最新版本,并将它下载到 vendor 目录。 这是一个惯例把第三方的代码到一个指定的目录 vendor。如果是 monolog 将会创建 vendor/monolog/monolog 目录。

注意: install 命令将创建一个 composer.lock 文件到你项目的根目录中。

3、自动加载

除了库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的库中所有的类文件。使用它,你只需要将下面这行代码添加到你项目的引导文件中:require 'vendor/autoload.php';
现在我们就可以使用 monolog 了 查看全部
Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。它在每个项目的基础上进行管理,在你项目的某个目录中进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

Composer 将这样为你解决问题:

a) 你有一个项目依赖于若干个库。

b) 其中一些库依赖于其他库。

c) 你声明你所依赖的东西。

d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

Composer 是多平台的,我们努力使它在 Windows 、 Linux 以及 OSX 平台上运行的同样出色。
 
安装Composer

1、将composer.phar下载到项目中

使用下面命令下载Composer 的二进制文件,是一个 PHAR 包(PHP 的归档)
curl -sS https://getcomposer.org/installer | php

* 可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/composer

2、如果把composer.phar放在系统的 PATH 目录中,就能在全局访问composer.phar。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。可以执行这些命令让 composer 在你的系统中进行全局调用:
mv composer.phar /usr/local/bin/composer

现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。

3、检查 Composer 是否正常工作,只需要通过 php 来执行 PHAR:php composer.phar这将返回给你一个可执行的命令列表。
 
4、查看当前 Composer镜像地址
composer config –gl
[repositories.packagist.org.url] https://packagist.phpcomposer.com


使用 Composer
要在项目中使用 Composer,只需要一个 composer.json 文件。该文件包含了项目的依赖和其它的一些元数据。现在使用 Composer 来安装项目的依赖。

1、创建 composer.json 文件

在当前目录下创建 composer.json 文件,在 composer.json 文件中指定 require key 的值。简单的告诉 Composer 你的项目需要依赖哪些包。

例如:
{
"require":
{
"monolog/monolog": "1.0.*"
}
}

可以看到, require 需要一个 包名称  monolog/monolog映射到 包版本 1.0.*的对象。包名称由供应商名称和其项目名称构成。

2、安装依赖包

执行 install 命令获取定义的依赖到本地项目:
php composer.phar install

如果你进行了全局安装,并且没有 phar 文件在当前目录,使用下面的命令代替:
composer install

这将会找到 monolog/monolog 的最新版本,并将它下载到 vendor 目录。 这是一个惯例把第三方的代码到一个指定的目录 vendor。如果是 monolog 将会创建 vendor/monolog/monolog 目录。

注意: install 命令将创建一个 composer.lock 文件到你项目的根目录中。

3、自动加载

除了库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的库中所有的类文件。使用它,你只需要将下面这行代码添加到你项目的引导文件中:
require 'vendor/autoload.php';

现在我们就可以使用 monolog 了

Yii2 - PHP获取服务器详细信息函数

Shadow 发表了文章 • 0 个评论 • 1174 次浏览 • 2016-12-10 20:23 • 来自相关话题

PHP获取服务器信息函数

获取系统类型及版本号:    php_uname()     (例:Windows NT COMPUTER 5.1 build 2600)

只获取系统类型:          php_uname('s')       (或:PHP_OS,例:Windows NT)

只获取系统版本号:        php_uname('r')       

获取PHP运行方式:      php_sapi_name()       (PHP run mode:apache2handler)

获取前进程用户名:        Get_Current_User()

获取PHP版本:          PHP_VERSION

获取Zend版本:          Zend_Version()

获取PHP安装路径:      DEFAULT_INCLUDE_PATH

获取当前文件绝对路径:    __FILE__

获取Http请求中Host值:    $_SERVER["HTTP_HOST"]          (返回值为域名或IP)

获取服务器IP:            GetHostByName($_SERVER['SERVER_NAME'])

接受请求的服务器IP:      $_SERVER["SERVER_ADDR"]            (有时候获取不到,推荐用:GetHostByName($_SERVER['SERVER_NAME']))

获取客户端IP:            $_SERVER['REMOTE_ADDR']

获取服务器解译引擎:      $_SERVER['SERVER_SOFTWARE']

获取服务器CPU数量:      $_SERVER['PROCESSOR_IDENTIFIER']

获取服务器系统目录:      $_SERVER['SystemRoot']

获取服务器域名:$_SERVER['SERVER_NAME']   (建议使用:$_SERVER["HTTP_HOST"])

获取用户域名:            $_SERVER['USERDOMAIN']

获取服务器语言:          $_SERVER['HTTP_ACCEPT_LANGUAGE']获取服务器Web端口:      $_SERVER['SERVER_PORT']
 
最大上传限制:      ini_get('upload_max_filesize')
 
附录:(Yii2.0获取系统信息)

系统名称:Yii::$app->name

系统版本:Yii::$app->version

MySQL版本:Yii::$app->db->pdo->getAttribute(\PDO::ATTR_SERVER_VERSION)
 
  查看全部
PHP获取服务器信息函数

获取系统类型及版本号:    php_uname()     (例:Windows NT COMPUTER 5.1 build 2600)

只获取系统类型:          php_uname('s')       (或:PHP_OS,例:Windows NT)

只获取系统版本号:        php_uname('r')       

获取PHP运行方式:      php_sapi_name()       (PHP run mode:apache2handler)

获取前进程用户名:        Get_Current_User()

获取PHP版本:          PHP_VERSION

获取Zend版本:          Zend_Version()

获取PHP安装路径:      DEFAULT_INCLUDE_PATH

获取当前文件绝对路径:    __FILE__

获取Http请求中Host值:    $_SERVER["HTTP_HOST"]          (返回值为域名或IP)

获取服务器IP:            GetHostByName($_SERVER['SERVER_NAME'])

接受请求的服务器IP:      $_SERVER["SERVER_ADDR"]            (有时候获取不到,推荐用:GetHostByName($_SERVER['SERVER_NAME']))

获取客户端IP:            $_SERVER['REMOTE_ADDR']

获取服务器解译引擎:      $_SERVER['SERVER_SOFTWARE']

获取服务器CPU数量:      $_SERVER['PROCESSOR_IDENTIFIER']

获取服务器系统目录:      $_SERVER['SystemRoot']

获取服务器域名:$_SERVER['SERVER_NAME']   (建议使用:$_SERVER["HTTP_HOST"])

获取用户域名:            $_SERVER['USERDOMAIN']

获取服务器语言:          $_SERVER['HTTP_ACCEPT_LANGUAGE']获取服务器Web端口:      $_SERVER['SERVER_PORT']
 
最大上传限制:      ini_get('upload_max_filesize')
 
附录:(Yii2.0获取系统信息)

系统名称:Yii::$app->name

系统版本:Yii::$app->version

MySQL版本:Yii::$app->db->pdo->getAttribute(\PDO::ATTR_SERVER_VERSION)
 
 

Yii2 - (七)规则的讲解

Shadow 发表了文章 • 0 个评论 • 729 次浏览 • 2016-10-15 23:01 • 来自相关话题

需求:普通管理员只可以查看修改自己的信息,而站长可以修改所有人的信息

一、用 gii 生成 user 模型和 CRUD 操作








二、创建“管理用户”和”规则“菜单
1、点击“路由”,然后点击


,即可以看到多了刚刚生成的 userController 的路由




将 /user/* 和 /user/index 移动至右边




将 /admin/rule/* 和 /admin/rule/index 也移动至右边,待会创建 “规则” 菜单

2、点击“菜单”创建以下菜单








三、添加“规则”(路由)给“权限控制”(权限)

1、点击“权限”然后进行创建“管理用户”的权限




2、点击“权限”,然后再点击”权限控制“的查看按钮,将 /admin/rule/* 移至右边




3、点击“角色”,为“站长”和“普通管理员”添加“管理用户”的权限








四、为“普通管理员”添加“修改用户”的规则

1、新建“修改用户”的规则

① 新建 backend\components\UserRule 这个类文件




② 刷新页面,左侧菜单出现“规则”的菜单,点击“规则”创建“修改用户”的规则




2、为“普通管理员”添加“修改用户”的规则

点击“角色”,再点击“普通管理员”的更新按钮




打开 auth_item 表,可以发现“普通管理员”这个记录被修改了




五、测试“修改用户”的规则是否发挥作用

1、登录 master 站长,点击“管理用户”,再点击 admin 修改的按钮,发现可以修改

2、登录 admin 普通管理员,点击“管理用户”,再点击 master 修改的按钮,发现无法可以修改




表明“修改用户”的规则对“普通管理员”这个角色发挥作用了。

注意:测试时务必把 \backend\main.php 的 * 注释掉




  查看全部
需求:普通管理员只可以查看修改自己的信息,而站长可以修改所有人的信息

一、用 gii 生成 user 模型和 CRUD 操作
01.png

02.png

二、创建“管理用户”和”规则“菜单
1、点击“路由”,然后点击
03.png
,即可以看到多了刚刚生成的 userController 的路由
04.png

将 /user/* 和 /user/index 移动至右边
05.png

将 /admin/rule/* 和 /admin/rule/index 也移动至右边,待会创建 “规则” 菜单

2、点击“菜单”创建以下菜单
06.png

07.png

三、添加“规则”(路由)给“权限控制”(权限)

1、点击“权限”然后进行创建“管理用户”的权限
08.png

2、点击“权限”,然后再点击”权限控制“的查看按钮,将 /admin/rule/* 移至右边
09.png

3、点击“角色”,为“站长”和“普通管理员”添加“管理用户”的权限
10.png

11.png

四、为“普通管理员”添加“修改用户”的规则

1、新建“修改用户”的规则

① 新建 backend\components\UserRule 这个类文件
12.png

② 刷新页面,左侧菜单出现“规则”的菜单,点击“规则”创建“修改用户”的规则
13.png

2、为“普通管理员”添加“修改用户”的规则

点击“角色”,再点击“普通管理员”的更新按钮
14.png

打开 auth_item 表,可以发现“普通管理员”这个记录被修改了
15.png

五、测试“修改用户”的规则是否发挥作用

1、登录 master 站长,点击“管理用户”,再点击 admin 修改的按钮,发现可以修改

2、登录 admin 普通管理员,点击“管理用户”,再点击 master 修改的按钮,发现无法可以修改
16.png

表明“修改用户”的规则对“普通管理员”这个角色发挥作用了。

注意:测试时务必把 \backend\main.php 的 * 注释掉
17.png

 

Yii2 - (六)rbac效果预览

Shadow 发表了文章 • 0 个评论 • 686 次浏览 • 2016-10-15 22:54 • 来自相关话题

效果:“普通管理员”可以进行gii和debug的操作,而“站长”除了可以进行gii和debug的操作,还可以进行“权限控制”的操作。

一、创建“调试”的权限:可以进行 gii 和 degug 的操作

1、点击“路由”,将 /gii/ 、/gii/default/index、/debug/ 、/degug/default/index 写入到 auth_item 表




2、点击“权限”,创建名为“调试”的权限,并分配 /gii/ 和 /debug/ 路由




3、点击“角色”,创建名为“普通管理员”的角色,并分配“调式”的权限




二、创建“调式”的菜单

1、创建




gii 菜单:Parent —— 调式;Name —— gii;Route —— /gii/default/index;Order —— 1

debug 菜单:Parent —— 调式;Name —— debug;Route —— /debug/default/index;Order —— 2

2、分配“调式“权限给”站长“角色




3、刷新页面,你会发现左侧导航栏多了调式的菜单




三、创建“普通管理员“角色的新用户

1、进入前台 127.0.0.1/advanced/frontend/web 进行注册新用户




2、进入后台 127.0.0.1/advanced/backend/web/admin/assignment/index

点击 admin 的查看按钮,为 admin 分配普通管理员的角色




3、刷新页面,你会发现 admin 用户也多了 调试的菜单




四、rbac 的作用

1、在步骤三、2中 admin 用户通过 输入地址:127.0.0.1/advanced/backend/web/admin/assignment 进入分配角色的页面,现在我们通过配置限制用户访问,配置文件为 backend/main.php




2、现在 admin 用户通过 127.0.0.1/advanced/backend/web/admin/assignment 会出现下面的界面,说明 rbac 成功了




3、退出 admin 用户,登录 master 用户,发现 master 可以执行 admin/assignment 操作 查看全部
效果:“普通管理员”可以进行gii和debug的操作,而“站长”除了可以进行gii和debug的操作,还可以进行“权限控制”的操作。

一、创建“调试”的权限:可以进行 gii 和 degug 的操作

1、点击“路由”,将 /gii/ 、/gii/default/index、/debug/ 、/degug/default/index 写入到 auth_item 表
01.png

2、点击“权限”,创建名为“调试”的权限,并分配 /gii/ 和 /debug/ 路由
02.png

3、点击“角色”,创建名为“普通管理员”的角色,并分配“调式”的权限
03.png

二、创建“调式”的菜单

1、创建
04.png

gii 菜单:Parent —— 调式;Name —— gii;Route —— /gii/default/index;Order —— 1

debug 菜单:Parent —— 调式;Name —— debug;Route —— /debug/default/index;Order —— 2

2、分配“调式“权限给”站长“角色
05.png

3、刷新页面,你会发现左侧导航栏多了调式的菜单
06.png

三、创建“普通管理员“角色的新用户

1、进入前台 127.0.0.1/advanced/frontend/web 进行注册新用户
07.png

2、进入后台 127.0.0.1/advanced/backend/web/admin/assignment/index

点击 admin 的查看按钮,为 admin 分配普通管理员的角色
08.png

3、刷新页面,你会发现 admin 用户也多了 调试的菜单
09.png

四、rbac 的作用

1、在步骤三、2中 admin 用户通过 输入地址:127.0.0.1/advanced/backend/web/admin/assignment 进入分配角色的页面,现在我们通过配置限制用户访问,配置文件为 backend/main.php
10.png

2、现在 admin 用户通过 127.0.0.1/advanced/backend/web/admin/assignment 会出现下面的界面,说明 rbac 成功了
11.png

3、退出 admin 用户,登录 master 用户,发现 master 可以执行 admin/assignment 操作

Yii2 - (五)创建左侧导航栏菜单

Shadow 发表了文章 • 0 个评论 • 1250 次浏览 • 2016-10-15 22:49 • 来自相关话题

1、创建 menu 表CREATE TABLE `menu` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(128) NOT NULL,
`parent` int(11) DEFAULT NULL,
`route` varchar(256) DEFAULT NULL,
`order` int(11) DEFAULT NULL,
`data` text,
PRIMARY KEY (`id`),
KEY `parent` (`parent`),
CONSTRAINT `menu_ibfk_1` FOREIGN KEY (`parent`) REFERENCES `menu` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 
数据库表位置:vendor\mdmsoft\yii2-admin\migrations\m140602_111327_create_menu_table.php

或按照下面你操作步骤执行:

① 打开 common/config/main.php ,在 'components' => , 数组中添加下面代码:'authManager' => [
'class' => 'yii\rbac\DbManager',
], 
② 执行命令:yii migrate --migrationPath=@mdm/admin/migrations
 2、在 backend/views/layouts/left.php 中添加内容
 
① 在 left.php 中找到下面代码:<?= dmstr\widgets\Menu::widget(
//......
) ?>② 在后面添加下面代码:<?php
use mdm\admin\components\MenuHelper;
$callback = function($menu){
$data = json_decode($menu['data'], true);
$items = $menu['children'];
$return = ['label' => $menu['name'],'url' => [$menu['route']]];
//处理我们的配置
if ($data) {
isset($data['visible']) && $return['visible'] = $data['visible'];//visible
isset($data['icon']) && $data['icon'] && $return['icon'] = $data['icon'];//icon
//other attribute e.g. class...
$return['options'] = $data;
}
//没配置图标的显示默认图标
(!isset($return['icon']) || !$return['icon']) && $return['icon'] = 'fa fa-circle-o';
$items && $return['items'] = $items;
return $return;
};
//对菜单menu进行了优化
echo dmstr\widgets\Menu::widget( [
'options' => ['class' => 'sidebar-menu'],
'items' => MenuHelper::getAssignedMenu(Yii::$app->user->id,null, $callback),
] );
?>3、点击“菜单”,然后点击 创建按钮进行创建菜单




4、点击“路由”,将以下几个路由写到 auth_item 表(为了分配路由给菜单)




点击“权限”,再点击查看“权限控制”,分配 /admin/menu/*




5、点击“菜单”,创建以下子菜单








* 注意:填写 “Parent” 即父级菜单的名称时要手动选择才行,直接全打上 会保存不了的。比如:先输入“权限”,然后出现下拉菜单就可以选择“权限控制”了。

6、刷新页面,预览效果:你会发现,多了一个菜单,请删除 left.php 中多余的 <ul></ul> 查看全部
1、创建 menu 表
CREATE TABLE `menu` (  
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(128) NOT NULL,
`parent` int(11) DEFAULT NULL,
`route` varchar(256) DEFAULT NULL,
`order` int(11) DEFAULT NULL,
`data` text,
PRIMARY KEY (`id`),
KEY `parent` (`parent`),
CONSTRAINT `menu_ibfk_1` FOREIGN KEY (`parent`) REFERENCES `menu` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
 
数据库表位置:vendor\mdmsoft\yii2-admin\migrations\m140602_111327_create_menu_table.php

或按照下面你操作步骤执行:

① 打开 common/config/main.php ,在 'components' => , 数组中添加下面代码:
'authManager' => [
'class' => 'yii\rbac\DbManager',
],
 
② 执行命令:
yii migrate --migrationPath=@mdm/admin/migrations

 2、在 backend/views/layouts/left.php 中添加内容
 
① 在 left.php 中找到下面代码:
<?= dmstr\widgets\Menu::widget(
//......
) ?>
② 在后面添加下面代码:
<?php
use mdm\admin\components\MenuHelper;
$callback = function($menu){
$data = json_decode($menu['data'], true);
$items = $menu['children'];
$return = ['label' => $menu['name'],'url' => [$menu['route']]];
//处理我们的配置
if ($data) {
isset($data['visible']) && $return['visible'] = $data['visible'];//visible
isset($data['icon']) && $data['icon'] && $return['icon'] = $data['icon'];//icon
//other attribute e.g. class...
$return['options'] = $data;
}
//没配置图标的显示默认图标
(!isset($return['icon']) || !$return['icon']) && $return['icon'] = 'fa fa-circle-o';
$items && $return['items'] = $items;
return $return;
};
//对菜单menu进行了优化
echo dmstr\widgets\Menu::widget( [
'options' => ['class' => 'sidebar-menu'],
'items' => MenuHelper::getAssignedMenu(Yii::$app->user->id,null, $callback),
] );
?>
3、点击“菜单”,然后点击 创建按钮进行创建菜单
01.png

4、点击“路由”,将以下几个路由写到 auth_item 表(为了分配路由给菜单)
02.png

点击“权限”,再点击查看“权限控制”,分配 /admin/menu/*
03.png

5、点击“菜单”,创建以下子菜单
04.png

05.png

* 注意:填写 “Parent” 即父级菜单的名称时要手动选择才行,直接全打上 会保存不了的。比如:先输入“权限”,然后出现下拉菜单就可以选择“权限控制”了。

6、刷新页面,预览效果:你会发现,多了一个菜单,请删除 left.php 中多余的 <ul></ul>
08.png

Yii2 - (四)rbac 详细操作

Shadow 发表了文章 • 0 个评论 • 721 次浏览 • 2016-10-15 22:46 • 来自相关话题

1、将 backend/views/layouts/left.php 中<?= dmstr\widgets\Menu::widget(
//......
) ?>修改为<?= dmstr\widgets\Menu::widget(
[
'options' => ['class' => 'sidebar-menu'],
'items' => [
['label' => '系统设置', 'options' => ['class' => 'header']],
[
'label' => '权限控制',
'icon' => 'fa fa-lock',
'url' => '#',
'items' => [
['label' => '路由', 'icon' => 'fa fa-circle-o', 'url' => ['/admin/route'],],
['label' => '权限', 'icon' => 'fa fa-circle-o', 'url' => ['/admin/permission'],],
['label' => '角色', 'icon' => 'fa fa-circle-o', 'url' => ['/admin/role'],],
['label' => '分配', 'icon' => 'fa fa-circle-o', 'url' => ['/admin/assignment'],],
['label' => '菜单', 'icon' => 'fa fa-circle-o', 'url' => ['/admin/menu'],],
],
],
],
]
) ?> 



进入 127.0.0.1/advanced/backend/web/ 预览效果

2、点击“路由”,将下图中的几个路由移动到右边




查看 auth_item 数据表,发现新增了几行我们刚刚添加的记录




3、点击“权限”,然后点击 创建按钮进行创建权限




再次查看 auth_item 表,你会发现多了一条记录




创建成功之后来到权限的视图界面进行分配权限,将刚刚创建的全部路由分配给该权限




查看 auth_item_child 表,发现新增了四条记录,可以简单理解:auth_item_child 为权限分配了路由




4、点击“角色”,创建一个叫“站长”的角色




查看 auth_item 表,你会发现多了一条记录




此时你会发现,在 auth_item 表中,tyep=1表示角色、type=2表示权限。

创建成功之后来到角色的视图界面进行分配路由,将刚刚创建的“权限控制”分配给该角色




查看 auth_item_child 表,你会发现多了一条记录




可以简单理解:auth_item_child 为角色分配了权限

5、点击“分配”,然后点击当前用户的查看按钮,将“站长”这个角色分配给当前用户




查看 auth_assignment 表,你会发现多了一条记录




可以简单理解:auth_assignment 为用户分配了角色 查看全部
1、将 backend/views/layouts/left.php 中
<?= dmstr\widgets\Menu::widget(
//......
) ?>
修改为
<?= dmstr\widgets\Menu::widget(
[
'options' => ['class' => 'sidebar-menu'],
'items' => [
['label' => '系统设置', 'options' => ['class' => 'header']],
[
'label' => '权限控制',
'icon' => 'fa fa-lock',
'url' => '#',
'items' => [
['label' => '路由', 'icon' => 'fa fa-circle-o', 'url' => ['/admin/route'],],
['label' => '权限', 'icon' => 'fa fa-circle-o', 'url' => ['/admin/permission'],],
['label' => '角色', 'icon' => 'fa fa-circle-o', 'url' => ['/admin/role'],],
['label' => '分配', 'icon' => 'fa fa-circle-o', 'url' => ['/admin/assignment'],],
['label' => '菜单', 'icon' => 'fa fa-circle-o', 'url' => ['/admin/menu'],],
],
],
],
]
) ?>
 
1f06d3acec-09.png

进入 127.0.0.1/advanced/backend/web/ 预览效果

2、点击“路由”,将下图中的几个路由移动到右边
2.png

查看 auth_item 数据表,发现新增了几行我们刚刚添加的记录
3.png

3、点击“权限”,然后点击 创建按钮进行创建权限
4.png

再次查看 auth_item 表,你会发现多了一条记录
5.png

创建成功之后来到权限的视图界面进行分配权限,将刚刚创建的全部路由分配给该权限
6.png

查看 auth_item_child 表,发现新增了四条记录,可以简单理解:auth_item_child 为权限分配了路由
7.png

4、点击“角色”,创建一个叫“站长”的角色
8.png

查看 auth_item 表,你会发现多了一条记录
9.png

此时你会发现,在 auth_item 表中,tyep=1表示角色、type=2表示权限。

创建成功之后来到角色的视图界面进行分配路由,将刚刚创建的“权限控制”分配给该角色
10.png

查看 auth_item_child 表,你会发现多了一条记录
11.png

可以简单理解:auth_item_child 为角色分配了权限

5、点击“分配”,然后点击当前用户的查看按钮,将“站长”这个角色分配给当前用户
12.png

查看 auth_assignment 表,你会发现多了一条记录
13.png

可以简单理解:auth_assignment 为用户分配了角色

Yii2 - (三)安装 AdminLTE 渲染后台 和 yii2-admin 集成 rbac

Shadow 发表了文章 • 0 个评论 • 2207 次浏览 • 2016-10-15 20:04 • 来自相关话题

一、安装 AdminLTE 渲染后台

1、利用 AdminLTE 渲染后台模板

AdminLTE 是一个完全响应管理模板。基于 Bootstrap3 框架,易定制模板。适合多种屏幕分辨率,从小型移动设备到大型台式机。内置了多个页面,包括仪表盘、邮箱、日历、锁屏、登录及注册、404错误、500错误等页面。

① 进入 cmd,切换到 advanced 目录,输入composer require dmstr/yii2-adminlte-asset "2.*"② 拷贝 vendor\dmstr\yii2-adminlte-asset\example-views\yiisoft\yii2-app 目录下面的文件到项目 backend\views,可直接进行覆盖替换

2、进入后台 127.0.0.1/advanced/backend/web/ 查看效果




* 如果遇到页面不断刷新,可能是因为加载资源的时候在获取 google 的 css 资源




解决办法:删除加载 css 资源的那一行代码





3、url 美化
① 配置:backend/config/main.php 文件的 compontents"urlManager" => [
//用于表明 urlManager 是否启用URL美化功能
"enablePrettyUrl" => true,
// 是否在URL中显示入口脚本
"showScriptName" => false,
],② 下载附件中的 .htaccess 文件,放在 backend/web 目录下(这是为了隐藏 Index.php,apache必须要开启rewrite模块)或者自行创建 .htaccess 文件,下面是文件内容:#表示开启重写引擎
RewriteEngine on
#请求的文件或路径是不存在的,如果文件或路径存在将返回已经存在的文件或路径
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

二、安装 yii2-admin 集成 rbac

1、yii2-admin 是 yii2 rbac 的一套管理工具,实现了漂亮的界面和完整的权限管理功能

进入 cmd,切换到 advanced 目录,输入composer require mdmsoft/yii2-admin "2.x-dev"2、配置 backend/config/main.php 文件return [
// ......
'modules' => [
'admin' => [
'class' => 'mdm\admin\Module',
],
],
'aliases' => [
'@mdm/admin' => '@vendor/mdmsoft/yii2-admin',
],
'as access' => [
'class' => 'mdm\admin\components\AccessControl',
'allowActions' => [
//这里是允许访问的action
//controller/action
// * 表示允许所有,后期会介绍这个
'*'
]
],
'components' => [
'authManager' => [
'class' => 'yii\rbac\DbManager',
'defaultRoles' => ['guest'],
],
// ......
],
];3、导入 rbac 表格

执行.sql 文件:vendor\yiisoft\yii2\rbac\migrations\schema-mysql.sql (附件中提供)

或按照下面你操作步骤执行:

① 打开 console/config/main.php ,在 'components' => , 数组中添加下面代码:'authManager' => [ 'class' => 'yii\rbac\DbManager', ], 
② 执行命令:yii migrate --migrationPath=@yii/rbac/migrations
4、运行 127.0.0.1/advanced/backend/web/admin/route 预览效果





附录:

默认的yii2-adminlte是蓝色主题,可以按照下面的方式配置主题① 打开backend\config\main.php 在components中添加assetManager
'components' => [
'assetManager' => [
'bundles' => [
'dmstr\web\AdminLteAsset' => [
'skin' => 'skin-red',
],
],
],
],

② 打开 backend\views\layouts\main.php,找到body将其class修改如下
<body class="hold-transition <?= \dmstr\helpers\AdminLteHelper::skinClass() ?> sidebar-mini">受ACF的影响,我们暂时看不出来什么,打开backend\controllers\SiteController.php文件,暂时先屏蔽掉 behaviors 方法的 access 部分,至于是什么意思,后面到了该讲的时候我们会说,现在就先把模版框架搭建好。如此一来,我们刷新下site/index看看,是不是有不同样式的主题了呢?其中配置文件中的skin还有下面的其他样式,随便替换,喜欢哪个用哪个,只需要简单的配置即可。(鸿宇还没配置过yellow的主题色,赶紧尝试了一把)"skin-blue",
"skin-black",
"skin-red",
"skin-yellow",
"skin-purple",
"skin-green",
"skin-blue-light",
"skin-black-light",
"skin-red-light",
"skin-yellow-light",
"skin-purple-light",
"skin-green-light"这不就简单的搭建好了我们的管理后台,样式也都是很ok。如果你需要更多的关于该模版的样式,请浏览器中打开 vendor\almasaeed2010\adminlte\index.html 文件进行参考,涵盖你想要的。
  查看全部
一、安装 AdminLTE 渲染后台

1、利用 AdminLTE 渲染后台模板

AdminLTE 是一个完全响应管理模板。基于 Bootstrap3 框架,易定制模板。适合多种屏幕分辨率,从小型移动设备到大型台式机。内置了多个页面,包括仪表盘、邮箱、日历、锁屏、登录及注册、404错误、500错误等页面。

① 进入 cmd,切换到 advanced 目录,输入
composer require dmstr/yii2-adminlte-asset "2.*"
② 拷贝 vendor\dmstr\yii2-adminlte-asset\example-views\yiisoft\yii2-app 目录下面的文件到项目 backend\views,可直接进行覆盖替换

2、进入后台 127.0.0.1/advanced/backend/web/ 查看效果
7ba3a4da51-07.png

* 如果遇到页面不断刷新,可能是因为加载资源的时候在获取 google 的 css 资源
12_154633.png

解决办法:删除加载 css 资源的那一行代码
01.png


3、url 美化
① 配置:backend/config/main.php 文件的 compontents
"urlManager" => [
//用于表明 urlManager 是否启用URL美化功能
"enablePrettyUrl" => true,
// 是否在URL中显示入口脚本
"showScriptName" => false,
],
② 下载附件中的 .htaccess 文件,放在 backend/web 目录下(这是为了隐藏 Index.php,apache必须要开启rewrite模块)或者自行创建 .htaccess 文件,下面是文件内容:
#表示开启重写引擎
RewriteEngine on
#请求的文件或路径是不存在的,如果文件或路径存在将返回已经存在的文件或路径
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php


二、安装 yii2-admin 集成 rbac

1、yii2-admin 是 yii2 rbac 的一套管理工具,实现了漂亮的界面和完整的权限管理功能

进入 cmd,切换到 advanced 目录,输入
composer require mdmsoft/yii2-admin "2.x-dev"
2、配置 backend/config/main.php 文件
return [
// ......
'modules' => [
'admin' => [
'class' => 'mdm\admin\Module',
],
],
'aliases' => [
'@mdm/admin' => '@vendor/mdmsoft/yii2-admin',
],
'as access' => [
'class' => 'mdm\admin\components\AccessControl',
'allowActions' => [
//这里是允许访问的action
//controller/action
// * 表示允许所有,后期会介绍这个
'*'
]
],
'components' => [
'authManager' => [
'class' => 'yii\rbac\DbManager',
'defaultRoles' => ['guest'],
],
// ......
],
];
3、导入 rbac 表格

执行.sql 文件:vendor\yiisoft\yii2\rbac\migrations\schema-mysql.sql (附件中提供)

或按照下面你操作步骤执行:

① 打开 console/config/main.php ,在 'components' => , 数组中添加下面代码:
'authManager' => [ 'class' => 'yii\rbac\DbManager', ],
 
② 执行命令:
yii migrate --migrationPath=@yii/rbac/migrations

4、运行 127.0.0.1/advanced/backend/web/admin/route 预览效果
6ce77713a2-08.png


附录:

默认的yii2-adminlte是蓝色主题,可以按照下面的方式配置主题
① 打开backend\config\main.php 在components中添加assetManager
'components' => [
'assetManager' => [
'bundles' => [
'dmstr\web\AdminLteAsset' => [
'skin' => 'skin-red',
],
],
],
],

② 打开 backend\views\layouts\main.php,找到body将其class修改如下
<body class="hold-transition <?= \dmstr\helpers\AdminLteHelper::skinClass() ?> sidebar-mini">
受ACF的影响,我们暂时看不出来什么,打开backend\controllers\SiteController.php文件,暂时先屏蔽掉 behaviors 方法的 access 部分,至于是什么意思,后面到了该讲的时候我们会说,现在就先把模版框架搭建好。如此一来,我们刷新下site/index看看,是不是有不同样式的主题了呢?其中配置文件中的skin还有下面的其他样式,随便替换,喜欢哪个用哪个,只需要简单的配置即可。(鸿宇还没配置过yellow的主题色,赶紧尝试了一把)
"skin-blue",
"skin-black",
"skin-red",
"skin-yellow",
"skin-purple",
"skin-green",
"skin-blue-light",
"skin-black-light",
"skin-red-light",
"skin-yellow-light",
"skin-purple-light",
"skin-green-light"
这不就简单的搭建好了我们的管理后台,样式也都是很ok。如果你需要更多的关于该模版的样式,请浏览器中打开 vendor\almasaeed2010\adminlte\index.html 文件进行参考,涵盖你想要的。
 

Yii2 - (二)Yii2.0 框架初始化操作

Shadow 发表了文章 • 0 个评论 • 776 次浏览 • 2016-10-15 19:51 • 来自相关话题

一、选择开发环境

[]Windows 下直接单击运行 advanced/init.bat,输入 0 选择开发环境,然后再输入 yes 生成配置文件[/]



[]Linux 下,执行命令进入 advanced 目录,输入php init然后,输入 0 ,再输入 yes 即可。[/]



二、配置数据库文件 advanced/common/main-local.php,输入数据库账号和密码<?php
return [
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=yii',
'username' => 'root',
'password' => '123456',
'charset' => 'utf8',
],
// ......
],
];
三、新建数据库 advanced,然后新建 user 用户表CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT "自增ID",
`username` varchar(255) NOT NULL COMMENT "用户名",
`auth_key` varchar(32) NOT NULL COMMENT "自动登录key",
`password_hash` varchar(255) NOT NULL COMMENT "加密密码",
`password_reset_token` varchar(255) DEFAULT NULL COMMENT "重置密码token",
`email` varchar(255) NOT NULL COMMENT "邮箱",
`role` smallint(6) NOT NULL DEFAULT "10" COMMENT "角色等级",
`status` smallint(6) NOT NULL DEFAULT "10" COMMENT "状态",
`created_at` int(11) NOT NULL COMMENT "创建时间",
`updated_at` int(11) NOT NULL COMMENT "更新时间",
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT="用户表";或者执行命令:
yii migrate
附录:

安装成功后,进行程序测试

前台地址: 127.0.0.1/advanced/frontend/web/ ,进入前台后点击 Signup 注册用户

后台地址:127.0.0.1/advanced/backend/web,进入后台登录用户

实战开发所需的基本配置<?php
return [
'components' => [
// 配置缓存
'cache' => [
'class' => 'yii\caching\FileCache',
],
// 配置数据库
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=advanced',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'tablePrefix' => 'yii_',
'enableSchemaCache' => true,
'schemaCacheDuration' => 24*3600,
'schemaCache' => 'cache',
],
],
// 配置语言
'language'=>'zh-CN',
// 配置时区
'timeZone'=>'Asia/Shanghai',
]; 查看全部
一、选择开发环境

    []Windows 下直接单击运行 advanced/init.bat,输入 0 选择开发环境,然后再输入 yes 生成配置文件[/]
QQ截图20161015195240.png

    []Linux 下,执行命令进入 advanced 目录,输入
    php init
    然后,输入 0 ,再输入 yes 即可。[/
    ]
2016-10-19_16-14-21屏幕截图.png

二、配置数据库文件 advanced/common/main-local.php,输入数据库账号和密码
<?php
return [
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=yii',
'username' => 'root',
'password' => '123456',
'charset' => 'utf8',
],
// ......
],
];

三、新建数据库 advanced,然后新建 user 用户表
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT "自增ID",
`username` varchar(255) NOT NULL COMMENT "用户名",
`auth_key` varchar(32) NOT NULL COMMENT "自动登录key",
`password_hash` varchar(255) NOT NULL COMMENT "加密密码",
`password_reset_token` varchar(255) DEFAULT NULL COMMENT "重置密码token",
`email` varchar(255) NOT NULL COMMENT "邮箱",
`role` smallint(6) NOT NULL DEFAULT "10" COMMENT "角色等级",
`status` smallint(6) NOT NULL DEFAULT "10" COMMENT "状态",
`created_at` int(11) NOT NULL COMMENT "创建时间",
`updated_at` int(11) NOT NULL COMMENT "更新时间",
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT="用户表";
或者执行命令:
yii migrate

附录:

安装成功后,进行程序测试

前台地址: 127.0.0.1/advanced/frontend/web/ ,进入前台后点击 Signup 注册用户

后台地址:127.0.0.1/advanced/backend/web,进入后台登录用户

实战开发所需的基本配置
<?php
return [
'components' => [
// 配置缓存
'cache' => [
'class' => 'yii\caching\FileCache',
],
// 配置数据库
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=advanced',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'tablePrefix' => 'yii_',
'enableSchemaCache' => true,
'schemaCacheDuration' => 24*3600,
'schemaCache' => 'cache',
],
],
// 配置语言
'language'=>'zh-CN',
// 配置时区
'timeZone'=>'Asia/Shanghai',
];

Yii2 - (一)通过 Composer 安装 Yii2.0 框架

Shadow 发表了文章 • 0 个评论 • 1102 次浏览 • 2016-10-15 19:17 • 来自相关话题

一、安装 Composer-Setup.exe (本文附件中提供 Composer-Setup.exe 下载)

① 下载之后直接运行进行安装,安装过程需要选择你的 php 可执行文件,如下图所示(*记得提前在php版本对应的php.ini文件中,开启 php_openssl 扩展):




② 如果安装失败,请开启对应的 PHP 版本的 php_openssl
 
③ 安装完Composer,运行下面的命令来安装Composer Asset插件:它是通过 Composer 管理 bower 和 npm 包所必须的,此命令全局生效,一劳永逸。进入 cmd,输入:composer global require "fxp/composer-asset-plugin:^1.3.1"
④ 进入 cmd 输入 composer 查看是否安装成功,下图是安装成功界面




二、安装 Yii2.0 框架

① 执行下面命令 或 将附件中 composer.phar 放入你的项目文件夹中 :php -r "readfile('http://getcomposer.org/installer');" | php

php composer.phar global require "fxp/composer-asset-plugin:^1.2.0"
② 现在选择的应用程序模板之一,开始安装 Yii 2.0。应用程序模板是一个包含Yii写的骨架Web应用程序包。

* 安装基本的应用程序模板,运行下面的命令:php composer.phar create-project yiisoft/yii2-app-basic basic 2.0.11
* 安装高级的应用程序模板,运行下面的命令:php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.11

composer create-project yiisoft/yii2-app-advanced advanced 2.0.11
 * 鸿宇常用安装命令:进入项目目录,依次执行下面命令:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

composer create-project yiisoft/yii2-app-advanced advanced 2.0.11
③ 请注意,您可能会被提示安装过程中输入你的 GitHub 的用户名和密码。这是正常的。只要输入它们并继续。

进入 https://github.com/settings/tokens 点击 「Generate new token」 新建一个 Token,选择默认新建就行,然后就会得到一个 Token,然后输入这个值就 OK 了。

④ 进入advanced 目录 执行 php init 命令,然后输入 0 ,再输入 yes 即可。




附录: Composer 使用方法

① 环境是搭建好了,但是我们仍然需要手动composer install,composer update,这些肯定是少不了的。相信大多数点开这篇教程的人都是composer安装失败,那这样,就教你一招,在你的命令行下面执行composer config -g repo.packagist composer https://packagist.phpcomposer.com什么意思呢?意思就是全局启用packagist镜像。有兴趣的可以搜一搜,这样你再composer self-update看看,速度是不是变快了呢!

② 注:更新 yii2 ,进入 cmd ,切换目录到 advanced,输入composer update yiisoft/yii2 yiisoft/yii2-composer bower-asset/jquery.inputmask
③ Composer 中文使用教程http://docs.phpcomposer.com/00-intro.html
④ 全局安装 Composer
 
全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。
 
Windows 系统:

[]找到并进入 PHP 的安装目录(和你在命令行中执行的 php 指令应该是同一套 PHP)。[/][]将 composer.phar 复制到 PHP 的安装目录下面,也就是和 php.exe 在同一级目录。[/][[i]]在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中。@php "%~dp0composer.phar" %[/i]最后重新打开一个命令行窗口试一试执行composer --version[/*]看看是否正确输出版本号。
 
⑤ 友情提示
 
提示:不要忘了经常执行composer selfupdate
 以保持 Composer 一直是最新版本哦!

附录
 
查看 composer 的全局配置信息composer config -l -g
 更改 composer 镜像地址中国镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com

国外镜像
composer config -g repo.packagist composer https://packagist.org
Composer 全局安装curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
Linux 安装 Yii2 文件夹权限问题
 
进入项目文件夹, 执行如下命令:chmod -R 777 .
临时改变CentOS系统php全局变量# export PATH=[php bin位置]:$PATH
康乐php7示例# export PATH=/vhs/kangle/ext/tpl_php709/bin:$PATH
 Linux Yii2 初始化# php init 
 
  查看全部
一、安装 Composer-Setup.exe (本文附件中提供 Composer-Setup.exe 下载)

① 下载之后直接运行进行安装,安装过程需要选择你的 php 可执行文件,如下图所示(*记得提前在php版本对应的php.ini文件中,开启 php_openssl 扩展):
924d312b3b-04.png

② 如果安装失败,请开启对应的 PHP 版本的 php_openssl
 
③ 安装完Composer,运行下面的命令来安装Composer Asset插件:它是通过 Composer 管理 bower 和 npm 包所必须的,此命令全局生效,一劳永逸。进入 cmd,输入:
composer global require "fxp/composer-asset-plugin:^1.3.1"

④ 进入 cmd 输入 composer 查看是否安装成功,下图是安装成功界面
cfa258af99-05.png

二、安装 Yii2.0 框架

① 执行下面命令 或 将附件中 composer.phar 放入你的项目文件夹中 :
php -r "readfile('http://getcomposer.org/installer');" | php

php composer.phar global require "fxp/composer-asset-plugin:^1.2.0"

② 现在选择的应用程序模板之一,开始安装 Yii 2.0。应用程序模板是一个包含Yii写的骨架Web应用程序包。

* 安装基本的应用程序模板,运行下面的命令:
php composer.phar create-project yiisoft/yii2-app-basic basic 2.0.11

* 安装高级的应用程序模板,运行下面的命令:
php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.11

composer create-project yiisoft/yii2-app-advanced advanced 2.0.11

 * 鸿宇常用安装命令:
进入项目目录,依次执行下面命令:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

composer create-project yiisoft/yii2-app-advanced advanced 2.0.11

③ 请注意,您可能会被提示安装过程中输入你的 GitHub 的用户名和密码。这是正常的。只要输入它们并继续。

进入 https://github.com/settings/tokens 点击 「Generate new token」 新建一个 Token,选择默认新建就行,然后就会得到一个 Token,然后输入这个值就 OK 了。

④ 进入advanced 目录 执行 php init 命令,然后输入 0 ,再输入 yes 即可。
QQ截图20161029090310.png

附录: Composer 使用方法

① 环境是搭建好了,但是我们仍然需要手动composer install,composer update,这些肯定是少不了的。相信大多数点开这篇教程的人都是composer安装失败,那这样,就教你一招,在你的命令行下面执行
composer config -g repo.packagist composer https://packagist.phpcomposer.com
什么意思呢?意思就是全局启用packagist镜像。有兴趣的可以搜一搜,这样你再composer self-update看看,速度是不是变快了呢!

② 注:更新 yii2 ,进入 cmd ,切换目录到 advanced,输入
composer update yiisoft/yii2 yiisoft/yii2-composer bower-asset/jquery.inputmask

③ Composer 中文使用教程
http://docs.phpcomposer.com/00-intro.html

④ 全局安装 Composer
 
全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。
 
Windows 系统:

    []找到并进入 PHP 的安装目录(和你在命令行中执行的 php 指令应该是同一套 PHP)。[/][]将 composer.phar 复制到 PHP 的安装目录下面,也就是和 php.exe 在同一级目录。[/][[i]]在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中。
    @php "%~dp0composer.phar" %[/i]
    最后重新打开一个命令行窗口试一试执行
    composer --version
    [/*]
看看是否正确输出版本号。
 
⑤ 友情提示
 
提示:不要忘了经常执行
composer selfupdate

 以保持 Composer 一直是最新版本哦!

附录
 
查看 composer 的全局配置信息
composer config -l -g

 更改 composer 镜像地址
中国镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com

国外镜像
composer config -g repo.packagist composer https://packagist.org

Composer 全局安装
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Linux 安装 Yii2 文件夹权限问题
 
进入项目文件夹, 执行如下命令:
chmod -R 777 .

临时改变CentOS系统php全局变量
# export PATH=[php bin位置]:$PATH

康乐php7示例
# export PATH=/vhs/kangle/ext/tpl_php709/bin:$PATH

 Linux Yii2 初始化
# php init