基于Yii框架的开发,一般按照以下流程进行开发部署
1. 创建Yii应用程序骨架,可以自己手工部署,也可以使用集成工具yiic完成
2. 配置应用程序,主要对程序配置文件(protected/config/main.php)进行修改、配置
3. 为所需模块创建模型类(主要完成数据校验部分和一些特殊功能)
4. 为所需模块创建控制器,并根据用户请求动作,完善类中相应函数
5. 为程序制作视图,一般每个模块一个相对应文件夹
6. 制作过滤器,限制用户权限
7. 配置主题或者国际化(如果需要的话)
8. 使用缓存提高访问速度(大访问量网站特别需要)
9. 完善细节,部署发布(设置各个目录访问权限,关闭错误输出等)
创建一个HelloWorld程序
第一步
在protected/controllers目录下创建一个HelloWorldController.php
1
2
3
4
5
6
7
8
9
10
11
12
|
class HelloWorldController extends Controller { public $str = 'Hello World!!' ; //Index-控制器默认执行的操作 public function actionIndex() { //加载index.php视图,并分配变量$str $this ->renderPartial( 'index' , array ( 'str' => 'ok?' )); } } |
第二步
在protected/views/helloworld目录下创建index.php
1
|
echo $this ->str. ' ' . $str ; |
这样我们就可以通过浏览器:http://localhost/index.php?r=helloworld/index来访问我们的应用了。如无意外,我们就可以看到
"Hello World!!oK?"了。
说明
1. helloworld/index中helloworld是对应的控制器类名,index是该控制器下对应的方法
应用程序首先会寻找protected/controllers下HelloWorldController.php并实例化之,再调用该类下的actionIndex函数执行。actionIndex为控制器的默认执行操作,即如果输入http://localhost/index.php?r=helloworld效果等同。
2. actionIndex函数中,程序会寻找protected/views/helloworld下index.php文件,renderPartial()等同于render(),都是传递变量并加载视图文件
3. 视图中的$this->str或替换为控制的共有属性$str的值"Hello World!!",$str会替换为renderPartial函数中传递的与之同名的数组键所对应的值"oK".组合后会把该视图文件加载进来,显示结果即是"Hello World!!oK?"