ThinkPHP的模板引擎高效之处在于灵活的视图标签,熟悉这些标签的使用方式将能够提高视图模板的设计水平。接下来将从基本的创建视图开始,然后深入介绍默认视图引擎的使用。创建一个视图可分为以下几个步骤。需要注意的是,使用默认的{$}边界符,在视图模板中使用JavaScript等脚本时,有可能造成冲突。ThinkPHP内置了多种视图引擎,在默认情况下系统会使用内置的视图引擎,如果使用第三方的视图引擎,变量的分配方式会有所不同。......
2023-11-04
在传统的PHP编程中,开发人员可以方便地在HTML代码中嵌入逻辑代码,ThinkPHP模板引擎最终也是将模板中的特定标签转换成标准的PHP代码,这些标签可以是语句结构、变量、常量、数组等,当然也包括函数。
假设模板中有一个变量<!--{$addTime}-->,该变量值在控制器动作中直接赋给当前时间戳$this->assign(“addTime”,time())。现在需要输出中文格式的日期及时间。如果使用传统的编程方式,那么代码如下所示。
在ThinkPHP模板中需要使用“|”分隔符引入函数,然后使用“=”号来为函数赋参。上述代码使用模板标签实现,代码如下。
如上述代码所示,$addTime是需要输出的变量,如果直接输出$addTime将会得到一串标准时间戳数字。由于使用“|”引入了date函数,该函数共有2个参数,每个参数使用“,”隔开。其中使用“###”符号表示引用变量自身值。最后得出的结果类似于2012-09-24 14:54:26字符串。
开发人员还可以引用自定义的函数,自定义函数存放在项目的Common/common.php文件中,如以下代码所示。(www.chuimin.cn)
在模板中调用formatTime自定义函数和调用PHP内置的函数是一样的。结合后面介绍的多语言技术,能够轻松地实现同一模板显示多种时间格式的功能。这里只是简单地演示在模板中怎样使用函数,在实际应用开发中,读者可根据需要在模板标签中引入函数。
在模板中还可以嵌套函数,实现更加灵活的功能。函数嵌套与传统的PHP一样能够支持无限层次。在ThinkPHP模板引擎中,使用函数嵌套的顺序由左到右(传统的PHP由里到外),即模板引擎最先解释左边的函数,最终的结果由最右边的函数决定,如以下代码所示。
上述代码转换后的PHP代码如下所示。
有关PHP MVC开发实战的文章
ThinkPHP的模板引擎高效之处在于灵活的视图标签,熟悉这些标签的使用方式将能够提高视图模板的设计水平。接下来将从基本的创建视图开始,然后深入介绍默认视图引擎的使用。创建一个视图可分为以下几个步骤。需要注意的是,使用默认的{$}边界符,在视图模板中使用JavaScript等脚本时,有可能造成冲突。ThinkPHP内置了多种视图引擎,在默认情况下系统会使用内置的视图引擎,如果使用第三方的视图引擎,变量的分配方式会有所不同。......
2023-11-04
系统基础函数库是确保系统能够正常运行的关键,当然在项目中调用系统的基础函数也是被允许的,接下来将分别介绍几个内置的高效基础函数。is_file是PHP内置的一个基础函数,该函数用于检测指定的文件是否存在,如果存在则返回true否则返回false。require_once是一个用于包含文件的PHP基础函数,该函数是PHP 5.x新增加的,用于避免重复的include引用导致程序崩溃。......
2023-11-04
接下来将使用CodeIgniter实现一个简单的新闻列表,用户点击列表中的新闻标题将会进入新闻的正文页面,通过该例子演示CodeIgniter实现MVC开发的流程。在CodeIgniter中,控制器命名规则比较灵活,它不需要加前缀或后缀,一个普通的文件即可。......
2023-11-04
在数据库开发中,查询和插入数据是同等重要的,ThinkPHP对数据的插入、更新等都做了高度封装,系统提供create方法,用于创建数据对象。图7-2 create创建数据流程2.create数据操作前面介绍了create方法的运行过程,读者只需要理解即可,在实际应用开发中创建数据的过程是极其简单的。下面将结合示例代码,介绍create方法的实际应用,加深对create方法的认识。一切完成后,此时数据对象存放于内存中,使用add方法进行提交,完成整个create创建数据的过程。......
2023-11-04
首先需要使用content方法连接上Memcached服务器,代码如下所示。接下来将继续使用Memcache成员方法对缓存数据库进行操作。stats cachedump:显示slabs指定范围内的缓存项,例如stats cachedump 0,3。......
2023-11-04
Json能够应用在许多场合,包括PHP本身就提供了对Json的反序列化操作。事实上,Json在传送大量数据时本身是存在溢出的,所以在设计时服务端要尽量避免输出大量Json数据。要达到前后台分离设计,使用Json通信最好不过了,因为主流的UI设计框架都对Json提供了完善的支持,下面将以Jquery为基础,详细介绍Ajax与Json的开发过程。由于使用Jsonp进行异步获取数据,所以Ajax异步通信变得简单。......
2023-11-04
图6-4 网站布局ThinkPHP 3.0之前的模板引擎没有布局的概念,但开发人员可以使用include包含文件达到网站布局的效果。布局文件允许嵌套,如果网站页面更加复杂,还可以结合include等标签实现开发需求。另外,如果不需要全局布局,也可以单独在当前页面中使用布局文件,只需要在当前页面头部加上
2023-11-04
电子邮件发送是网站开发中重要的功能,典型的应用场景有会员注册、邮件订阅、密码找回等。事实上,主流的邮件系统都是基于SMTP验证的,并且支持Socket连接。所以开发人员可以直接在PHP中使用fsockopen函数向服务器提交数据,SMTP默认情况下会监听25号通信端口,如果校验通过,邮件系统会直接执行Socket发送的命令,完成邮件处理。ThinkPHP本身没有内置邮件发送扩展,接下来将使用第三方扩展类库实现邮件发送。表11-3 SendMessage配置选项其中邮件配置项必须为mail元素值。......
2023-11-04
相关推荐