Composer Yii2 不设置全局变量 归档安装 Win7
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
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就可以直接登录使用啦。
最新文章
- Android实现电子邮箱客户端
- Linux命令工具 top详解
- hdu4436-str2int(后缀数组 or 后缀自动机)
- linux定时备份学习笔记
- web前端页面设计小笔记
- Linux 任务计划 crontab 配置概要与常见问题
- MSChart的研究(转)
- Crisp String CodeForces - 1117F (状压)
- Centos6.8 编译安装Apache2.4
- Application Request Route实现IIS Server Farms集群负载
- ntp服务问题
- hdu6351 2018 Multi-University Training Contest 5 1002 Beautiful Now
- Apache本地配置虚拟域名
- nginx安装(转发)
- HDU 1229 还是A+B(A+B陶冶情操)
- mybatis之入门
- Cocos2d-x Scene生命周期 pushScene和replaceScene
- 如何退出Activity?如何安全退出已调用多个Activity的Application?
- Java IO流-字节流
- 「PKUWC2018」Minimax