SpeedPHP强大并智能的对象初始化工具


在基于sp框架的程序开发中,spClass可以算得上是开发者最常使用到的核心函数了,甚至还要比dump调试程序用地更多。spClass——sp框架类实例化程序,可以说在任何sp程序中都能见到它的身影。

  spClass的作用和PHP本身的new关键字作用相似,都是进行将类实例化成对象的操作,不过spClass比new要更强大,而且也有着很多非常实用的特性。接下来我们来介绍一下spClass的使用。

  spClass —— 类实例化程序

  用法:

  spClass($class_name, $args = null, $dir = null)

  参数:

  $class_name,需要实例化的类名称,同时也可以是一个文件名称与类名相同的文件名。

  $args,类实例化时的参数。

  $dir,如果限制该类的文件是在某个目录,$dir将取值为该目录。如果$dir没有设置,则spClass将使用import来自动搜索相关路径以载入类定义文件。

  使用spClass将为我们带来以下的多个好处:

  1.spClass在实例化前,将检查该类是否已经实例化,如已经实例化,将直接返回该实例化后的对象句柄,以免增加不必要的对象资源开销。

  2.spClass可以设置载入类文件的路径,我们可直接指定载入路径,spClass将一次自动完成载入文件及实例化等相关操作。

  3.spClass使用了import方式自动搜索类定义文件,使得在很多时候,我们只要直接spClass(类名)就可以类实例化了。

  4.spClass使用了更友好的spError错误提示。

  这里我们介绍一个关于spClass的更简便的用法。

  比如在留言本中我们调用留言模型类guestbook来进行findAll的操作,代码:

01 <?php
02 class main extends spController
03 {
04   ...
05     function guestbooks(){
06         $gb = spClass('guestbook'); // 初始化类
07         $result = $gb->findAll(); // 执行findAll,获得返回结果
08         $this->gblist = $result; // 将结果赋值给模板中的gblist变量
09         $this->display('main_guestbooks.html'); // 输出模板
10     }
11   ...
12 } 

  但是我们的spClass可以简化上面的操作:

01 <?php
02 class main extends spController
03 {
04   ...
05     function guestbooks(){
06         $this->gblist = spClass('guestbook')->findAll(); // spClass一次完成了对象初始化及查找操作,同时将结果赋值给模板中的gblist变量
07         $this->display('main_guestbooks.html'); // 输出模板
08     }
09   ...
10 }

  如果加上自动模板输出,那么我们的代码可以更简捷了:

1 <?php
2 class main extends spController
3 {
4   ...
5     function guestbooks(){
6         $this->gblist = spClass('guestbook')->findAll();
7     } // 视图类将自动输出main_guestbooks.html模板
8   ...
9 }



相关阅读:
CSS3 网页下拉菜单代码解释 中文翻译
js实现图片显示局部,鼠标经过显示全部的效果
人们期待的CSS3的10大功能
批处理实现文本内容居中显示的代码
CSS网页布局全精通
关于JavaScript的gzip静态压缩方法
学习js所必须要知道的一些
oracle函数使用:decode和nvl函数
SQL语句判断已知表是否存在
oracle DB LINK的简单应用
JS应用DOM入门:DOM的对象属性
自动采集程序
CSS教程实例:关于网页的两列布局
Linux为什么比Windows稳定
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 读有的人有感400字 十八岁的回忆作文800字 毫不妥协的居里夫人作文800字 五一活动方案 《背起爸爸上学》读后感 风流女皇叶卡特琳娜二世 你对我很重要,所以我想为你改变 描写雪的作文500字 关于爱国的演讲稿1000字 凌箜物语 散文:藍顏知已26-云淡风轻,细水长流! 小学生植树节演讲稿1500字 狼医作文600字 28条经典的说说语录 若非那缕阳光,请将我忽略 吃年糕作文 小学生清明节作文:清明踏青 《鲁滨孙飘流记》名著读后感500字 思念的宣泄 物业服务工作年终汇报小结 背影,引起情思 小学五年级作文900字:琉璃与城墙 幼儿园工作总结(44) 老舍先生的名言:北京的春风能把春天吹跑 为何这般感伤 小学四年级作文350字:阅兵式观感 陈生铠群诗词选--之--【英雄何时归】 作文参赛宣言 守财奴老爸和爱花钱老妈(转载)作文1200字 梦想奔跑 小学三年级作文450字:游虞山 九九重阳节发言稿 最温馨的生日贺卡祝福语 我愿化作一片雪花150字作文 多变的爸爸作文450字 莎士比亚《麦克白》读后感范文精选 2015个人年度工作小结 温哥华冬天不下雪 爱情就象鬼,相信的人多,见到的人少 河——流 2013年最新客服部经理述职报告 假如世界上没有了书籍作文400字 寒意打湿我的文字 九月份培训工作计划 聘用合同范本【最新版】 忍, 如果我只是爱你 上半年党委组织部工作总结 关于西部农村基础教育调查报告 地球一小时有感400字

Copyright © 2016 phpStudy |