yii:高性能框架,代码重用率很高,惰性加载框架,速度超快,缓存,登录组建,助手(小物件,灵活创建表单,常见html代码),日志组件等等。
适合开发大型web应用系统
卧槽,美国华人开发的。
呃看了一下,tp的核心文件大小是3M多,Yii是23M多。。。。
重量级和轻量级就在这显示出来了。
呃。目录结构
crm 客户关系管理系统 呃。。。
他创建系统用的是系统脚本文件YIIC
如图所示
好马上要部署了
遇到了一个环境变量的问题,很快就解决了。
呃,因为以前是自个配的环境,现在是集成环境,有点变化了。
创建了一个democms的一个程序框架
学到这里,感觉和TP差不多的,也是MVC,也有controller.Model.和view.
但是有细节的区别
控制器命名:
TP:XXXController.class.php
YII: XXXController.php
方法:
TP:function xxxxxx(){}
YII:function actionXXX(){}
Yii路由:
特别是r=User/login User代表控制器 login代表方法
这是样式放的目录。。。
静态资源目录统一放入系统常量里面,方便调用。。
/protected/config/constants.php
当然,在后面的如何引入系统常量的时候。。
视频里面老师讲解的是在config下创建一个php配置文件,然后用defind方式定义。。并且入口文件必须要require_once一次
但是我看YIi的架构里面都是用的
<?php echo Yii:: app ()-> request -> baseUrl ; ?> /css/screen.css 这个定义的,并且,并且这个是默认的。 到时候我先把这个给输出来看看是啥原理。。 开始扒皮了。 哈哈哈。。
那么主配置文件 main.php怎么引入的。在index.php入口文件引入的。。。
控制器->父类控制器->compoments->main.php->index.php
yii自己有一个模块机制,帮助我们进行后台搭建
由自己的控制器,自己的视图,独立的模型并且不可以单独部署
我们创建模块,gii(自动代码生成工具)
gii在yii里面是以模块的形式存在,在main.php 配置文件里面打开gii
gii通过路由的形式访问模块
?r=gii
路由会判断当前的名字是否是模块~否则定位控制器
所以说后台访问的路径为 url?r=模块名/控制器名/方法名
任何路径都是相对于入口文件处的路径。
链接数据库的配置,数据库默认是走PDO,所以需要有PDO扩展
测试YII框架是否有连接上数据库
在控制器里面随便一个地方输出信息:
var_dump(Yii::app()->db);
Yii:app():Yii框架是纯oop面向对象框架,每次web请求,相当于通过创建一个类的对象,让对象调用相关方法执行,对象是我们框架应用
的核心对象,我们也可以通过代码获得这个应用对象(Yii:app())。
如果不知道Yii某个配置就可以在yiilte,php中搜索
模型:
有多少数据表,就建立多少模型
模型其实就是类
我们对数据库进行操作,需要实例化模型类,产生对象
通过对象调用相关的方法,就可以实现数据库的操作