yii 安装及基本配置
yii 是一个 高性能 的,适用于开发 web 2.0 应用的 php 框架。yii的特性可以前往yii中文官网查看(国外网址也放一下)。yii的安装很简单,官方直接提供了下载,下载之后只要本地有php环境即可使用。yii官方下载可点击这里,国内可能会出现下载很慢或下载失败的问题,我上传了一份yii-basic版,需要的可点击对应版本前往下载。
推荐学习:《传智播客yii开发大型商城项目视频教程》
下载之后,解压到php环境路径,我在本地安装了wampserver,所以直接放到wampserver对应的站点路径。解压之后先检查一下本地的php环境是否适合该版本的yii运行,可浏览器中查看basic目录下的requirements.php文件:
看到以上提示,说明本地php版本支持该yii版本运行。
然后访问:http://localhost/basic/web/index.php,初次安装使用的话,会出现以下报错
yii\web\request::cookievalidationkey must be configured with a secret key.
我们还需要进行相关的配置才可使用,找到basic/config/web.php文件中配置cookievalidationkey(防止cookie攻击。):
随便输入一个字符串,重新再访问以下http://localhost/basic/web/index.php,搞定:
controller的使用
controller统一写在controllers目录下,文件名首字母大写,以controller结尾,且需要继承controller,下面我新建了一个hellocontroller.php文件:
为了测试,我们在hellocontroller.php新建一个action
<?phpnamespace app\controllers;use yii;use yii\web\controller;/*** */class hellocontroller extends controller{ public function actionindex() { echo "hello world"; }}?>
然后在浏览器中打开http://localhost/basic/web/index.php?r=hello/index,浏览器中可显示hello world
其中:hello表示哪个控制器,index表示控制器内的具体操作
session简单处理及存放位置
我们先把上面的actionindex修改一下,加入一个session
public function actionindex() { $session = yii::$app->session; $session->open(); $session['id']="123456"; echo $session['id']; echo '<br/>'; echo "hello world"; }
然后再浏览器中输入:http://localhost/basic/web/index.php?r=hello/index,按f12打开调试窗口查看:
在cookie中多了一个phpsessid,phpsessid的作用是什么呢?我们知道在session可以用来暂时存储一些数据信息,在浏览器关闭前都是有效的。但是服务器是如何区别不同的session会话呢?就是通过sessionid,也就是这里的phpsessid。浏览器每次发送请求时都会将cookie(包括phpsessid)发送给服务器,php通过phpsessid来区分每一个session会话。
那么这个phpsessid保存在哪里呢?我们可以打开php->php.ini文件,搜索session.save_path:
根据上面的路径,打开d:\wamp\tmp,
正好有一个文件,而且这个文件名与上面的phpsessid对应的value完全一样
yii默认存储 session 数据为文件到服务器上,当然,我们也可以设置将session保存到数据表中。
以上就是开始上手使用yii框架的详细内容。