1.下载Composer_installer.phar
https://getcomposer.org/composer.phar
重命名为 composer_installer.phar
将文件放入根目录WWW
2.开启PHP 的 openssl 扩展
打开对应php版本的php,ini
去掉注释;
3.安装Composer
cmd -> d: -> cd d:/phpstudy/www
php composer_installer.phar
4.设置使用Composer命令
在 C:/ 下创建 initcmdenv.cmd 文件 内容如下
@echo off :: Temporary system path(为当前命令行增加额外的PATH,可随意增加不影响全局系统) set PATH=%PATH%; :: Commands(增加新的快捷命令,必须为DOSKEY 快捷名称=完整命令) DOSKEY composer=php d:/phpstudy/www/composer.phar $* ::Show something(显示初始化的内容,可以删掉) echo ========DOSKEY========== DOSKEY /macros echo ========END==========
创建 C:WindowsSystem32cmd.exe 快捷方式
设置开解方式目标为 %windir%/system32/cmd.exe /K C:/initcmdenv.cmd
设置好后 直接运行这个 cmd.exe 快捷方式 就可以直接在命令行的任何地方直接使用 composer 命令了。
5.下载 Composer归档包
2个版本,advanced 和 basic :
https://github.com/yiisoft/yii2/releases/download/2.0.9/yii-advanced-app-2.0.9.tgz
https://github.com/yiisoft/yii2/releases/download/2.0.9/yii-basic-app-2.0.9.tgz
下载后解压缩至根目录 WWW
在解压的归档包 composer.json 中添加 中国镜像 地址
{ "repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } } }
6. require "fxp/composer-asset-plugin:~1.1.1" 查询并添加最新版本
php composer.phar global require "fxp/composer-asset-plugin:~1.1.1"
或
composer global require "fxp/composer-asset-plugin:~1.1.1"
7.创建Yii2项目
cmd快捷方式 -> d: -> cd d:/phpstudy/www/baisc (advanced)
advanced:
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-advanced ../yii2test
basic:
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic ../yii2test
8.Token (github)
create a new Token
MyID:50486****@**.com Password:23*********
⑴
⑵
⑶
⑷
⑸
⑹
将得到的Token输入即可。
等待项目创建完成。
9.在创建的项目内添加phpexcel扩展
{ "require": { "php": ">=5.4.0", "yiisoft/yii2": "~2.0.5", "yiisoft/yii2-bootstrap": "~2.0.0", "yiisoft/yii2-swiftmailer": "~2.0.0", "phpoffice/phpexcel": "dev-develop" }, "config": { "process-timeout": 1800, "secure-http": false }, "repositories": { "packagist": { "type": "composer", "url": "https://packagist.phpcomposer.com" } } }
cmd快捷方式 -> d: -> cd d:/phpstudy/www/NewProject
composer update
10.使用YII2已写好的demo登录
User SQL:
CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(32) NOT NULL, `email` varchar(32) NOT NULL, `password` varchar(32) NOT NULL, `authKey` varchar(100) NOT NULL DEFAULT '', `accessToken` varchar(100) NOT NULL DEFAULT '', PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
使用gii生成 model User 。
将Class User implements yiiwebIdentityInterface
内容加上登录验证代码
/** * @inheritdoc */ public static function findIdentity($id) { return static::findOne($id); //return isset(self::$users[$id]) ? new static(self::$users[$id]) : null; } /** * @inheritdoc */ public static function findIdentityByAccessToken($token, $type = null) { return static::findOne(['access_token' => $token]); /*foreach (self::$users as $user) { if ($user['accessToken'] === $token) { return new static($user); } } return null;*/ } /** * Finds user by username * * @param string $username * @return static|null */ public static function findByUsername($username) { $user = User::find() ->where(['username' => $username]) ->asArray() ->one(); if($user){ return new static($user); } return null; /*foreach (self::$users as $user) { if (strcasecmp($user['username'], $username) === 0) { return new static($user); } } return null;*/ } /** * @inheritdoc */ public function getId() { return $this->id; } /** * get level by username * @param string username * @return string level */ public function getLevelByusername($username) { $user = User::find() ->where(['username' => $username]) ->asArray() ->one(); return $user['level']; } /** * @inheritdoc */ public function getAuthKey() { return $this->authKey; } /** * @inheritdoc */ public function validateAuthKey($authKey) { return $this->authKey === $authKey; } /** * Validates password * * @param string $password password to validate * @return boolean if password provided is valid for current user */ public function validatePassword($password) { return $this->password === $password; }
这样设置的User就可以直接登录使用啦。