thinkphp3.1.3源码分析(3)连贯操作table方法
来源:互联网 发布:淘宝小技巧 编辑:程序博客网 时间:2024/05/14 12:07
看Thinkphp官方的CURD的操作说明中说到了table()方法,但是你进入/ThinkPHP/Core/Model.class.php却看不到这个table()方法,但是其他连贯操作中的方法都能找到,是如何实现的呢?下面一起分析下吧!
方法/步骤
编辑ThinkPHP/Core/Model.class.php查看代码,一天到晚的写CURD对PHP魔术方法都几乎不关心了。所以这里就用到了__call()方法。利用__call方法实现一些特殊的Model方法。
当调用一个上下文都不存在的方法的时候。调用table()和Table()方法的时候,table字符串在$this->methods中能找到,所以走:
$this->options[strtolower($method)] = $args[0];
最后是不是又调用了ThinkPHP/Lib/Core/Db.class.php里面的parseTable()方法,
这样就发现可以传入一个索引数组,最后组成多表查询了。
但是在哪里执行的调用我还没有找到。。也不确定。
0 0
- thinkphp3.1.3源码分析(3)连贯操作table方法
- thinkphp3.1.3源码分析(4)连贯操作where方法
- 【thinkphp3.x】thinkphp3.x中连贯操作
- ThinkPHP3.1快速入门(4)连贯操作
- ThinkPHP3.1快速入门连贯操作
- thinkphp3.1.3源码分析(1)
- ThinkPHP3.1.3源码分析(一) 入口文件分析
- 关于ThinkPHP3.2中连贯操作where的说明
- table方法也属于模型类的连贯操作方法之一,主要用于指定操作的数据表。
- thinkphp3.1.3源码分析(2)配置项的读取
- Thinkphp3.1.3源码分析(5)模版“常量”配置
- Thinkphp3.1.3源码分析(6)去掉自动创建目录
- ThinkPHP3.1.3源码分析(二) runtime.php
- ThinkPHP3.1.3源码分析(三) common.php
- ThinkPHP3.1.3源码分析(四) Think.class.php
- ThinkPHP3.1.3源码分析(五) App.class.php
- PHP类连贯操作的实现方法
- 连贯操作
- linux系统编程之进程(三):进程复制fork,孤儿进程,僵尸进程
- TypeError: 'str' object is not callable
- CSV文件
- 从蓝桥杯来谈Fibonacci数列
- [JavaIDE]MyEclipse和Eclipse的关系
- thinkphp3.1.3源码分析(3)连贯操作table方法
- Tomcat启动错误的几件事
- Eclipse里启动Tomcat,配置内存大小
- linux系统编程之进程(四):进程退出exit,_exit区别即atexit函数
- thinkphp3.1.3源码分析(4)连贯操作where方法
- 首试debian + vim
- POJ 3280 简单区间 DP
- linux系统编程之信号(五):信号集操作函数,信号阻塞与未决
- 【cocos2dx-3.0beta-制作flappybird】就要结束了吗—Android交叉编译以及后继