thinkcmf、url美化、assign方法介绍
1、U(‘User/index’) // 生成当前应用的User控制器的index操作的URL地址。就是在当前页面跳转,链接地址不变
2、url美化就是:https://localhost/portal/list/index?id=1——>https://localhost/case.html
原始网址规则:portal/list/index?id=1
显示网址:cases
注意:进行URL美化之后,要进入ThinkCMF后台admin,进行清除缓存操作后,刷新前台,才能看到美化效果。
3、assign方法就是把控制器的变量传递到前台显示界面上
所有assign方法,都必须在display,show,fetch方法执行前调用;
$this->assign(‘name’,’this is name’);
user=array(‘name′=>′Dean′,‘email′=>′cmf@simplewind.net′,‘phone′=>′15121010086′);this->assign(user);模板里就被传递了name,email,phone 三个变量了,你可以直接输出{name},{email},{$phone}
4、还有一种调用模板的情况是我们只想渲染后返回模板渲染后的数据而不是直接输出,这时我们会用fetch方法;fetch的用法和display 完全一样,只是不直接输出了;
5、this?>display(‘edit′);表示调用此控制器下的edit操作的模板this->display(‘:index’);
此种方式表示调用此应用下index控制器的模板;
在前台模板文件夹,index文件夹下的网页和index文件夹外的文件
还有一种使用场景,就是有时我们可能会把模板存在数据库,或缓存等地方,并没有任何模板文件,只有模板内容,这时我们就要用到另一种方法show了;
//content是数据库中的模板内容this->show($content);
6、模型定义
改变默认的模型对应表的规则 protectedtableName=‘users′;设置数据表前缀,系统默认的表前缀是cmf,如果是其他表前缀则需要设置一下,如果你的数据表直接就是user,而没有前缀,则可以设置tablePrefix为空字符串。protectedtablePrefix = ‘top_’;
没有表前缀的情况必须设置,否则会获取当前配置文件中的 DB_PREFIX。
7、M方法和D方法来实例化模型;
M([‘模型名’],[‘数据表前缀’],[‘数据库连接信息’]);
User=M(‘User′);//执行具体的数据操作User->select();
M方法仅支持基本的CURD操作;但是性能会较D方法高,如果你的模型类有自己的业务逻辑,M方法是无法支持的,就算是你已经定义了具体的模型类,M方法实例化的时候是会直接忽略。
假设当前模块为Home; D(‘User’);D(‘Home/User’);是一样的;
8、 定义隐藏字段。隐藏字段对于用户是不可见的。隐藏字段通常会存储一个默认值,它们的值也可以由 JavaScript 进行修改。