通过构造函数能够为类的完整性提供了保证。......
2023-11-04
http://beauty-soft.net”。其中参数string表示需要进行省略处理的字符串;参数length表示省略的字符数。safeHtml通常用于过滤表单输入,防止用户输入HTML代码破坏数据安全性。"/>
PHP是一种弱类型开发语言,对字符串变量能够自动识别,在处理字符串上一直是强项。在传统的PHP开发中,用于处理字符串的技术的有函数、正则以及扩展等。Input类库是ThinkPHP提供的一个字符串输入处理扩展,能够方便地对字符串进行安全过滤、转义等,下面将对Input扩展类公开可调用的方法进行介绍。
1.makeLink(自动匹配链接)
在网站开发中,经常需要对页面中的网址字符串进行自动匹配。例如用户在发表微博时,只需要输入文本网址,系统会自动将该网址转换为标准的HTML链接代码。这对用户而言,提高了用户体验,对于网站而言,提高了安全性(用户只能输入文本)。在传统的PHP中,实现上述功能可以使用正则替换,在MVC编程中,这些步骤简化为使用类库方法。makeLink就是一个基于正则替换实现的URL处理方法,形式如下。
参数string表示URL字符串文本(需要带http),使用方式如下。
URL协议支持https、ftp等,运行结果为“<a href="http://beauty-soft.net"title="http://beauty-soft.net"rel="external">http://beauty-soft.net</a>”。
2.truncate(自动省略字符)
truncate方法能够对字符串进行自动省略,被省略的字符默认使用“…”代替。truncate方法形式如下。
其中参数string表示需要进行省略处理的字符串;参数length表示省略的字符数。使用方式如以下代码所示。
上述代码的运行结果为“P...VC实战”。
3.safeHtml(安全HTML)(www.chuimin.cn)
safeHtml能够对HTML中不安全脚本进行过滤,例如JavaScript、转义字符等。safeHtml通常用于过滤表单输入,防止用户输入HTML代码破坏数据安全性。也可以用于调用第三方页面代码时过滤其中的危险代码。safeHtml方法如下。
static function undoHsc($text)
参数text表示需要安全过滤的HTML代码,可以来自于表单或者远程HTML。使用方式如下。
代码运行结果为“<hml>测试function test(){alert('html');}</scipt>测试</a>”。与之相类似的方法还有deleteHtmlTags,该方法不仅过滤危险的HTML代码,还对HTML代码进行过滤,只留下纯文本数据。
4.nl2Br(自动换行)
nl2Br方法能够对用户输入的回车符转换为HTML代码中的<br/>换行符,方法形式如下。
参数string表示需要自动换行的文本数据。使用方式如下代码所示。
上述代码的运行结果为“PHP MVC<br/>实战<br/>”。
有关PHP MVC开发实战的文章
PHP 5后的版本借鉴了大量Java思想,得益于早期PHP面向过程编程支持,PHP在实现MVC设计中变得较灵活、易用。但是随着PHP 5.x的到来,各种MVC框架的出现,尤其Zend推出的Zend Framework,彻底地改变了PHP状况,使得PHP也能够实现优雅的Web编程。MVC设计模式将使代码将变得简洁。但是在MVC设计模式中,Index称为动作。当然,MVC只是一种设计模式,在开源的PHP编程世界中,已经拥有众多的MVC编程框架。......
2023-11-04
Smarty并不是一项新的PHP技术,而在PHP 4.x以前就已经是非常流行的界面与后台相分离的技术。直至现在,Smarty依然盛行,这点从各大招聘网站中可见一斑。所以要深入理解这两者之间的关系,还需要读者真正掌握Smarty的使用。图13-1 Smarty前台后分离图13-2 Smarty执行流程相信读者对Smarty的执行流程并不陌生,因为前面介绍的ThinkPHP模板引擎就是以相同的方式处理模板的。所以本章重点介绍Smarty引擎,读者在深入掌握该模板引擎的使用后,将会对MVC设计有更深入的认识。......
2023-11-04
前面已经简单介绍过ThinkPHP视图引擎,这些标签处理机制类似于JSP tag,使用XML作为标签的渲染方式,开发人员可以方便地在网页中嵌入XML标签,然后由ThinkPHP视图引擎解释成标准的PHP代码。ThinkPHP的视图引擎之所以高效,主要体现在它的标签扩展性。ThinkPHP的视图标签扩展性够完美地与后台控制器代码相结合,例如在Smarty中使用函数功能,首先需要在后台PHP代码注册,而在ThinkPHP中完全不需要,如以下代码所示。......
2023-11-04
系统共支持7种模式扩展,下面将分别对最常用的几种模式进行介绍。表11-1 CURD操作接口如表11-1所示,参数$data表示传入或返回的数据信息;参数$options表示返回当前操作的模型名称及表前缀。......
2023-11-04
在应用程序中数据库的操作主要分为4大类:创建数据、更新数据、读取数据及删除数据,简称CURD。主流的MVC框架都会对CURD操作进行封装,以达到易用、灵活的目的。ThinkPHP的CURD操作是以连贯操作为基础的,通常情况下这两者会配合使用。......
2023-11-04
在网站开发中处理时间日期数据是比较烦琐的工作,例如计划日期时差、日期转星期、指定日期倒计时等。系统内置了Date扩展类,能够让日期数据处理变得快捷、简单。上述代码运行结果为“1.4246575342466”,即1.4年。其中参数time表示与构造函数日期比较的日期数据;参数precision表示结果精度。......
2023-11-04
Eclipse是IBM的一个商业项目,2001年11月起IBM将Eclipse贡献给开源社区,从此奠定了Eclipse的地位。Eclipse通过PDT插件来提供PHP开发支持,Eclipse PDT能够让编写PHP变得简单和高效,下面将介绍Eclipse PDT的安装和使用。Eclipse PDT的安装有两种方式,一种是直接通过Eclipse的扩展进行安装;另一种是下载带PDT插件的Eclipse。下面将以Eclipse3.5.2作为基础,讲解Eclipse PDT插件的安装过程。如果下载带PDT插件的Eclipse,只需要双击Eclipse启动程序即可,此时Eclipse就提供了完美的PHP编程支持。......
2023-11-04
相关推荐