ThinkPhp框架研究之二 魔术函数 __call
来源:互联网 发布:那款网络电视好 编辑:程序博客网 时间:2024/05/17 06:06
在看 TP框架的帮助文档的时候 看到一个很有意思的功能---字段的动态查询
官方是这么描述的
第一感觉 是 getBy后面的内容是字段名字 于是乎 就翻开Model类源码去看了看
果不其然..发现了一个 魔术函数 __CALL;
__call 函数是 在用对象访问一个该类不存在的方法时调用的函数
系统会自动把方法名和 参数都传到 __call方法中
TP是这么定义的
仔细阅读代码
它提供了三种方式 如果都不符合直接报错提示
第一种
应该能看懂吧...
_call把捕获的方法及其参数传递进来
判断 $method是否在允许的数组中,如果存在 将参数赋给$this->option变量
然后返回 $this对象
这是什么意思?
按照 __call函数 第一种解释就是
$Form->order('id desc') 执行之后
$this->option变量会变成
$this->option['order']='id desc',
然后 会返回$this对象
变成
$this->option['limit']='6',
然后会执行SQL去搜索数据
第二种就是
这个的意思就是
如果符合array('count','sum','min','max','avg'),true)
会将参数作为 sql语句的搜索字段 ,如果没有 默认就是 星
也就是 SELECT count(*)|sum(*)|min(*)|max(*)|avg(*) ********返回给数据
第三种就是咱们前面说的
这句代码会将 $User->getby* 中的*作为where 语句的参数来执行
假如说 代码为
$User->getByUsername("siren");
那么 通过__call执行之后形成的语句就是
select * from table where username="siren"
就是这样..如果有错的地方 欢迎提出来..
- ThinkPhp框架研究之二 魔术函数 __call
- ThinkPhp框架研究之二 魔术函数 __call
- PHP魔术函数__call篇
- PHP魔术方法之__call重载方法
- PHP 魔术方法之 __call 与 __callStatic
- php通过魔术方法__call实现类函数重载
- __call 魔术方法
- php 魔术方法 __call
- php 魔术方法 __call
- 魔术方法(__call/__callstatic)
- 魔术方法:__call
- PHP框架之ThinkPHP研究(0)
- PHP魔术方法之__call与__callStatic方法
- PHP魔术方法之__call与__callStatic方法
- PHP魔术方法之__call与__callStatic方法
- PHP魔术方法之__call与__callStatic方法
- PHP魔术方法之__call与__callStatic方法
- PHP魔术方法之__call与__callStatic方法
- 软核、硬核以及固核的概念
- Oracle走不上索引的几个原因
- 确认网络环境3G/WIFI
- 15个值得开发人员关注的jQuery开发技巧和心得
- 转《彻底搞定C指针》第2篇----指针是什么
- ThinkPhp框架研究之二 魔术函数 __call
- STM8SXX 开发时候个人总结的一点经验
- 网页居中问题
- 好看的按钮样式
- js常用运行库总结
- 从零开始学习ASP.NET MVC 1.0
- 彻底搞定C指针》第一篇 变量的内存实质
- GridView合并表头多重表头
- JDK1.6下载|JDK1.6官方下载|JDK1.6中文版下载|JDK1.6中文CHM中文API下载