最近接手了别人做的一个php项目,他用的是Yii框架,以前从来没接触过php,只能现学,看了一些网上的资料,自己做了一下笔记,基本把这个项目看懂了
Yii 是一个基于组件的高性能 PHP 框架,用于快速开发大型 Web 应用。它使Web开发中的 可复用度最大化,可以显著提高你的Web应用开发速度。Yii 这个名字(读作易(Yee) 或 [ji:])代表 简单(easy), 高效(efficient) 和 可扩展(extensible).
1.下载yii framework
https://github.com/yiisoft/yii/releases/download/1.1.17/yii-1.1.17.467ff50.tar.gz
2.解压缩后放在appserv的www目录下面,启动apache和mysql,在地址栏中输入:
http://localhost/yii/requirements/index.php
查看配置环境
PDO和GD库需要配置一下,打开php.ini,加入:
extension=php_pdo_mysql.dll
extension=php_mysql.dll
(注:yii是基于php5的,所以需要在php5的php.ini里进行修改)
3.创建yii应用
C:\AppServ\www>yii6\framework\yiic webapp test
应用的目录结构为:
这时我在浏览器直接访问提示我没有权限
发现yii demos目录下的项目是有权限的,于是我把test拷贝到demos目录下,需要修改一下$yii的路径
$yii=dirname(__FILE__).'/../../framework/yii.php';
这样就可以访问我们刚刚新建的webapp了
4.连接数据库
YII的数据库连接配置在主配置文件config/main.php中进行配置。
如果是sqllite数据库,只需要在database.php中指定正确的数据库文件位置即可;
如果是mysql数据库,或者其他数据库(pgsql/oracle),需要注释掉原来的配置。
YII使用的php的PDO来访问数据库的
5.Yii表单控件CHtml
CHtml控件是system.web.helpers的一个控件。主要用于渲染各种html表单
1)下来菜单
<?php
$idcs = array(
'1' => 'JX',
'2' => 'TC',
'3' => 'YF'
);
echo CHtml::dropDownList('idcs','',$idcs) ?>
生成的HTML
<select name="idcs" id="idcs">
<option value="1">JX</option>
<option value="2">TC</option>
<option value="3">YF</option>
</select>
2)radio
<?php
$time_scale = array(
'0' => '周',
'1' => '月',
'2' => '季度',
'3' => '年'
);
echo CHtml::radioButtonList('time_scale','1',$time_scale,array('separator'=>'')) ?>
生成的HTML
<span id="time_scale">
<input value="0" id="time_scale_0" type="radio" name="time_scale" />
<label for="time_scale_0">周</label>
<input value="1" id="time_scale_1" checked="checked" type="radio" name="time_scale" />
<label for="time_scale_1">月</label>
<input value="2" id="time_scale_2" type="radio" name="time_scale" />
<label for="time_scale_2">季度</label>
<input value="3" id="time_scale_3" type="radio" name="time_scale" />
<label for="time_scale_3">年</label>
</span>
3)链接
<?php echo CHtml::link('链接',array('controller/login','p'=>'cc'));?>
生成的HTML
<a href="/yii7/demos/test/index.php?r=controller/login&p=cc">链接</a>