1、ThinkPHP1ThinkPHP(一)回顾1、变量 (1)普通变量 声明: a)$smarty-assign(); b)assign var=变量名 value=值 取值: $变量名 (2)保留变量 $smarty 作用: (1)可以获取用户请求的变量 $smarty.get.变量名 $smarty.post.变量名 $smarty.requset.变量名 (2)获取回话和cookie $smarty.session.变量名 $smarty.cookies.变量名 (3)获取PHP的环境变量 $smarty.server.变量名 (4)常亮 $smarty.const.变量名 (5)其他 $
2、smarty.now $smarty.version $smarty.ldelim $smarty.rdelim (3)配置变量 定义 a)配置变量放在configs目录下 b)可以定义全局和局部变量(节),用 表示节 c)先定义全局变量,在定义局部变量host=127.0.0.1web1host=192.168.0.2 取值 a)导入配置文件 config_load file=地址 section=节名称 b)#配置变量名#2、数组 Smarty中数组的声明和PHP是一样的,在模板中取值的方法有两个数组下标数组.下标3、foreach循环(1)语法:foreach 数组名 as $k = $
3、vforeachelse 没有数组输出/foreach(2)foreach的内部关键字值变量iteration 从1开始增长值变量index 从0开始增长值变量first 第一行就返回1值变量last 最后一行就返回1值变量total 一共有多少条记录值变量show 如果数组可以变量就返回true,否则返回false。4、section循环(1)语法:section name=自定义变量名称 loop=被遍历的数组 被遍历的数组自定义变量名称sctionelse 没有数组输出/section(2)内部关键字$smarty.section.自定义变量名称.iteration$smarty.sec
4、tion.自定义变量名称.index$smarty.section.自定义变量名称.first$smarty.section.自定义变量名称.last注意:section循环只能变量索引数组,不能变量关联数组5、判断语句if 条件elseif 条件else/if6、smary的运算符和PHP运算符是一样的7、循环语法for($i=1 to 10 step 2)/forwhile 条件/while8、html_checkboxes name= output= values= selected=可以换成html_checkboxes name= options= selected=html_rad
5、ioshtml_options和html_checkboxes用法一样9、把HTML和smarty结合起来10、布局(1)通过block name=这个标签来实现布局(2)一个布局文件可以有多个block(3)在子页面中通过extends file=布局文件的路径继承布局文件(4)通过名字来替换布局文件中的block11、包含文件include file=包含文件的地址注意:如果公共部分多用布局文件如果公共部分少用包含文件。12、变量修饰器时间:$smarty.now|data_format:%Y-%m-%d %H:%M:%S转换大写$str|upper转换小写$str|lower字符串截取$
6、str|truncate:10:.:true:true13、缓存:(1)开启缓存$smarty-caching=1|true; 缓存存放在cache文件夹下。(2)缓存更新a)删除对应的缓存文件,b)修改模板文件、布局文件,包含文件,配置文件缓存会自动更新c)强制更新 $smarty-force_cache=true;d)设置缓存的过期时间。缓存的生命周期语法:$smarty-cache_lifetime=-1|0|N-1缓存永久不失效0立即失效N缓存存在N秒默认情况下,缓存是3600秒cache=1和cache=2的区别$smarty-caching=1; 根据$smarty-cache_l
7、ifetime来计算过期时间$smarty-caching=2;更改缓存文件中的” cache_lifetime “来计算过期时间单模板多页面缓存局部不缓存技术缓存集合清除缓存例题(Smarty继承到项目中)1、第一步2、新建编译文件存放的路径3、定义编译后的路径4、5、调用Smarty6、ThinkPHP按照MVC模式开发的一个框架,也叫TP框架。优点:1. 快速,稳定的搭建系统程序2. 可以使开发人员精力集中在业务逻辑上,不需要关心程序的底层架构3. 可以节省大量的代码,后期的升级、维护、优化十分方便4. 有利于团队的代码风格统一。相关的一些框架1、zend frameworkzend公司
8、开发的官方的框架,功能很强大,重量级框架。2、Yii国人自己开发的重量级框架,该框架的特点就是代码的可重用性非常好。3、CI(code Igniter) 轻量级的框架,4、cakePHP 外国的PHP开发框架5、ThinkPHP这是国人开发的,免费、开源的,简单的、面向对象的,轻量级的PHP框架。ThinkPHP下载ThinkPHP的结构如下:在ThinkPHPLibraryThink文件夹中,几个重要的文件1、App.class.php 框架核心类文件2、Think.class.php 每次请求都要执行的类3、Controller.class.php 控制器的父类4、Model.class.
9、php 模型的父类5、View.class.php 试图的父类搭建ThinkPHP的环境在站点下新建index.php,代码如下:运行后出现欢迎界面,在说明系统自动生成了ThinkPHP的项目目录,并写入了初始的控制器和方法。自动生成的目录如下:创建控制器1. 控制器存放在Controller文件夹中2. 命名规范:控制器的名称+Controller.class.php3. 类名和文件的名称要一致4. 类名用帕斯卡命名法5. 尽量区分大小写,windows不区分大小写,但Linux中区分6. ThinkPHP默认的编码是UTF-8的。7. 如果地址中没有写控制器,这默认调用Index控制器,如
10、果没有写方法,则默认调用index方法命名法:1、帕斯卡命名法:首字母大写 UserName MyNameIsLiping2、骆驼命名法:userName _user_name3、匈牙利命名法:前缀(类别)+名字 radSex txtUsername iIength oStuThinkPHP的路由1、普通模式2、pathinfo模式http:/网址/入口文件(index.php)/分组(平台)/控制器/方法比如:http:/localhost/index.php/home/index/index3、rewrite()重写模式4、兼容模式参数s=/分组/控制器/方法。ThinkPHP中,默认使用
11、pathinfo模式。定义和调用TP的模板所有的模板都要放在view文件夹下。规则:一个控制器对应一个文件夹,一个方法对应一个文件TP模板的调用TP系统常量项目后台的搭建1、在Application文件夹下新建一个Admin文件夹,在Admin文件夹中新建Controller和View文件夹。2、在AdminController控制器中新建一个LoginController.class.php页面,代码如下:3、在login.html中更改css、js、img的路径表单提交地址更改4、在AdminController文件夹中新建ManagerClass.php文件5、对应的index页面中更改如下:6、注意更改index、head、left、right页面中的路径模板中常量字符串替换
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1