零,简介
Yii:高性能框架、代码重用性发挥到了极致、惰性加载框架、速度非常快缓存、登录组件、助手(小物件,灵活创建表单,常见html代码)、日志组件等等
适合开发大型web应用系统
yii中国主站:http://www.yiichina.com/
yii国际主站:http://www.yiiframework.com/
yii框架图书:http://www.yiibook.com/
yii各种扩展:http://www.yiiframework.com/extension/
yii论坛:http://www.yiichina.com/forum/ 可以发帖求问
【yii在什么地方用的多】
框架:dedecms ecshop crm
Dedecms是内容管理系统的框架
Ecshop是做商城网站的框架
Crm是做客户关系管理系统的框架
以上3个框架都是“专门”针对具体领域的框架,这样的框架不灵活,死板。
Yii框架是通用的框架,一般适合客户需求比较灵活、比较花样多,比较复杂的地方。
Yii框架设计模式是主流MVC。
Yii框架是一个纯OOP面向对象框架。
一,YII的安装和部署
0,前提环境先配置好,yii2.0至少要php5.4以上版本才行。
---appserv 2.6.10中php是6.0,但是兼容性有点问题。推荐phpstudy,不推荐wamp和appserv
1,在浏览器中访问解压缩目录下的requirements.php文件,看环境是否验证通过,不通过会显示对应错误信息。
(一),使用归档文件安装yii-basic-app安装---推荐
1,解压缩官方归档文件。
2,设置cookieValidationKey的值。
编辑\项目根目录\config\web.PHP,加入cookieValidationKey
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'request' => [
// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
'cookieValidationKey' => 'HelloWorld', //这里加入HelloWorld
],
'cache' => [
'class' => 'yii\caching\FileCache',
],
3,安装完成,yii-basic-app安装非常简单。高级版复杂点,看下边教程。
(二),使用归档文件安装yii-advanced-app---推荐
这是我做的笔记:
1、下载归档文件,并解压到web目录下; 下载地址:http://www.yiichina.com/download,下载yii-advanced-app-2.0.6.tgz类似文件即可。
2、将php目录添加到系统的path变量里;(!!!很重要,不然下边命令执行不了!!!)
3、运行 "init.bat" 命令,选择开发环境(Development:开发环境; Production:生产环境);
---开发环境配置,所有的异常会直接显示在页面。生产环境异常会被Yii2框架异常处理模块捕获。
---选择yes即安装。
4、执行yii初始化命令 "yii.bat";
5、新建数据库,并修改数据库配置 "\common\config\main-local.php";
6、创建相应的数据表,执行命令 "yii.bat migrate";
---用yii.bat migrate命令初始化数据库表,会新建两个表(migration和user表)
---新建表之后,就可以在yii中注册用户和登录了。
7、前台访问页面 http://localhost/advanced/frontend/web/;
后台访问页面 http://localhost/advanced/backend/web/;
(三),Composer安装
详情可以参考yii中文社区
---安装成功后提示
---解决问题
----使用Composer安装的问题:如果镜像不好,下载速度会特别慢。
二,YII配置数据库
0,新建一个yii对应的数据库,排序规则即编码选择为utf8_general_ci。
1,在advanced\common\config\main-local.php文件中配置yii连接数据库。
3,用yii.bat migrate命令初始化数据库表,会新建两个表(migration和user表)
4,新建表之后,就可以在yii中注册用户和登录了。
@总结:
1,yii的basic和advanced有什么区别?
(1),相同点:
都自带有用户模型(User),有一些基本页面about contact之类的,还有注册登录功能
(2),不同点:
basic更适合新手(刚刚接触yii)
adavanced分两个应用 一个叫frontend(前台) backend(后台),每个应用(App)就类似basic,只不过它将前台和后台分开了,这样可以方便前后台分别用不同域名(需要绑定)来访问,其实和basic稍微复杂一点,但不适合新手,适合学过yii的。
如果你是老手,可以下载一个adavanced来参考,自己搭一个框架(基于Yii2)
2,可能遇到的问题及解决方法:
---原文url:http://blog.csdn.net/shanzhihang/article/details/8772758
(1):yiic执行出现不是内部或外部命令的解决办法
右击我的电脑-->属性-->高级-->环境变量-->系统变量 设置为"D:\wamp\bin\php\php5.2.5;D:\wamp\www\yii\framework"(具体看自己的环境配置情况)
注:添加环境变量后,关闭cmd重新打开!
(2):yii-advanced下自带的init.bat和yii.bat找不到php.exe解决方法:
---用记事本打开上边两个文件(init.bat和yii.bat):
修改if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe为 if "%PHP_COMMAND%" == "" set PHP_COMMAND=D:\wamp\php\php.exe(后面php.exe的路径根据自己的安装环境而定)
3,第一次访问yii主页提示错误,yii\web\Request::cookieValidationKey must be configured with a secret key?或者yii must be configured witha secret key?
解决方法:编辑\项目根目录\config\web.PHP,加入cookieValidationKey
$config = [
'id' => 'basic',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'components' => [
'request' => [
// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
'cookieValidationKey' => 'HelloWorld', //这里加入HelloWorld
],
'cache' => [
'class' => 'yii\caching\FileCache',
],