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:\Windows\System32\cmd.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

https://github.com

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 \yii\web\IdentityInterface

内容加上登录验证代码

  /**
* @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就可以直接登录使用啦。

最新文章

  1. Android实现电子邮箱客户端
  2. Linux命令工具 top详解
  3. hdu4436-str2int(后缀数组 or 后缀自动机)
  4. linux定时备份学习笔记
  5. web前端页面设计小笔记
  6. Linux 任务计划 crontab 配置概要与常见问题
  7. MSChart的研究(转)
  8. Crisp String CodeForces - 1117F (状压)
  9. Centos6.8 编译安装Apache2.4
  10. Application Request Route实现IIS Server Farms集群负载
  11. ntp服务问题
  12. hdu6351 2018 Multi-University Training Contest 5 1002 Beautiful Now
  13. Apache本地配置虚拟域名
  14. nginx安装(转发)
  15. HDU 1229 还是A+B(A+B陶冶情操)
  16. mybatis之入门
  17. Cocos2d-x Scene生命周期 pushScene和replaceScene
  18. 如何退出Activity?如何安全退出已调用多个Activity的Application?
  19. Java IO流-字节流
  20. 「PKUWC2018」Minimax

热门文章

  1. Windows消息传递函数SendMessage参数属性
  2. js访问 xmldom
  3. mysql性能监控工具Innotop
  4. chrome误删书签恢复。
  5. jira 解决结果配置
  6. 几个DOM属性
  7. PHP之闭包详解
  8. 为YUM设置代理的方法
  9. WIN7 64位通过VPN远程登录 ASP.Net通过VPN访问Oracle服务器
  10. Android切换页面效果的实现一:WebView+ViewFlipper