Input类库是ThinkPHP提供的一个字符串输入处理扩展,能够方便地对字符串进行安全过滤、转义等,下面将对Input扩展类公开可调用的方法进行介绍。URL协议支持https、ftp等,运行结果为“http://beauty-soft.net”。其中参数string表示需要进行省略处理的字符串;参数length表示省略的字符数。safeHtml通常用于过滤表单输入,防止用户输入HTML代码破坏数据安全性。......
2023-11-04
一个功能完整的PHP类体都会包含许多类成员,类成员的设计决定了类的意义与功能,除了前面提到的类方法,常见的PHP类成员还包括构造函数、成员变量、类常量、释构函数等,下面将分别介绍。
1.构造函数
构造函数是一个比较特殊的函数,它用于类对象初始化时的默认传参。一个比较复杂的功能类,需要实现的功能非常多,程序员在调用类时往往需要处理一大堆默认参数,使用构造函数就可以在实例化类时直接以news(参数1,参数2)的方式进行赋值。如以下代码所示。
上述代码共有两个类,分别为class1和class2,它们输出的结果都为“李开涌在写代码”。class1类使用了__construct声明了一个构造函数,构造函数共有两个参数$_name、$_action,并指定两个参数的值赋给成员变量$name和$action,以便其他类方法进行调用,这两个参数在该类中的作用就是强制实例化时必须赋参,否则编译器将会报错。通过构造函数能够为类的完整性提供了保证。
class2没有使用构造函数,虽然也实现了和class1相同的功能,但在实例化类时需要进行额外的属性属赋值,代码也多了3行。上述示例只是简单地演示构造函数的功能,在类功能复杂的情况下,构造函数可以方便开发人员初始化类。此外,PHP构造函数除了使用__construct进行声明外,还可以使用与类同名的方法作为该类构造函数。
2.成员变量(www.chuimin.cn)
成员变量也称为成员属性,它是由普通的变量加上访问修饰符而构成的,成员变量和普通变量一样只用于临时存放数据,在PHP类设计中类变量还用于接收外部数据和反馈方法运行结果。如以下代码所示。
3.释构函数
PHP类构造函数一旦被初始化,编译器即会在操作系统内存区中建立资源堆栈,直到程序发出释放资源命令,才会释放该类所创建的资源。PHP使用__destruct()函数进行释构,它的功能是跟__construct构造函数取反值的,如以下代码所示。
如上述代码所示,使用__destruct()函数清除由构造函数创建的$name、$action资源,这个过程是自动化的,PHP不返回任何消息。事实上PHP的构造函数在实际应用开发中是不需要的,因为PHP内置了垃圾回收机制(garbage collection),就算不手动进行释放,PHP也能自动清理残留的内存资源,保证程序的运行效率。
有关PHP MVC开发实战的文章
Input类库是ThinkPHP提供的一个字符串输入处理扩展,能够方便地对字符串进行安全过滤、转义等,下面将对Input扩展类公开可调用的方法进行介绍。URL协议支持https、ftp等,运行结果为“http://beauty-soft.net”。其中参数string表示需要进行省略处理的字符串;参数length表示省略的字符数。safeHtml通常用于过滤表单输入,防止用户输入HTML代码破坏数据安全性。......
2023-11-04
对于普通的开发者而言,最需要关注Lib目录及Extend目录,接下来分别进行介绍。由于ThinkPHP遵循Apache 2.0协议,意味着PHP开发人员可以通过修改ThinkPHP源代码,以便更适合自己的开发需求,这就要求开发人员必须要对Extend目录下的扩展类库要有深入的认识。......
2023-11-04
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
前面已经简单介绍过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
在网站开发中处理时间日期数据是比较烦琐的工作,例如计划日期时差、日期转星期、指定日期倒计时等。系统内置了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
图12-2 SOAP服务如果服务没有开启,需要在PHP配置文件中开启,如以下代码所示。其中参数1表示SOA服务描述文件,即WSDL文件,该文件是SOAP通信的核心;参数2表示SOAP协议版本,常用的版本有1.0及1.2,本章内容及示例全部基于SOAP 1.2版本实现。使用普通的Firebug等插件不能获取到异常信息,而断点调试是PHP的弱项,所以调试问题将会是SOAP开发首要面对的问题。......
2023-11-04
相关推荐