接下来这篇博文介绍的是最近学习Yii2这个框架的一些经验。
百度Yii,进入yii官网或者中国yii中文网下载框架包。下面是yii的目录结构
各目录的介绍:
把Apache配置http.d文件的网站根目录指向你放置yii2解压好的文件夹。
浏览器输入http://localhost/web/index.php看到以下图片,表示yii2环境已经准备好了:
接下来和大多数框架的结构差不多,yii2也采用MVC设计模式,那就从MVC这3个方面来介绍提供的功能。Yii2是纯面向对象所设计的,所以我们在考虑问题的时候
要用面向对象的思维来思考。
首先先从常用配置来讲: /config目录下的 web.php 和 db.php文件
web.php是主要配置文件,常用的配置有:
1.1 url的美化
默认yii2的url形式是这样的 http://localhost/web/index.php?r=index/index ,其中index.php 是web目录下的脚本入口文件 r=代表路由参数 index/index 是指
index控制器下的index方法。美化之后变为 http://localhost/web/index.php/index/index ,如果还想去掉web Apache配置网站根目录指向web ,若再想去掉 index.php
在web目录下添加 .htacess文件,文件内容为:
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews IfModule> RewriteEngine On # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] IfModule>
开启url美化的方法: 在web.php中的component数组中添加 :
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
],
1.2.更改默认路由首页
在美化url或者没有开启美化url之前,我们访问index.php入口文件都会呈现上面的那个网页,那么如果要修改为
我们自己网站的默认页面,假设网站页面在 index/index index控制器下的index操作之中的话:
在web.php的$config参数中加入以下参数:
'defaultRoute' => 'index/index',
当我们再打开这个index.php入口脚本后就会出现到我们设置的首页去。
2.db.php配置数据库事项
'dsn' => 'mysql:host=127.0.0.1;dbname=php',
这一项配置在于host主机ip地址千万不要用localhost,访问数据库特别慢!博主今天查询20条数据竟然花费了
1s的时间,后来使用java获取同样的数据才使用了12ms,速度相差巨大!找了半天的时间感觉很诡异,后来才发现这个
配置我使用localhost该为127.0.0.1之后,访问速度立马变为正常速度了。