一个让人大吃一惊 的写法
程序员文章站
2024-01-09 10:48:48
...
Model('seo')->type('index')->show();在一个源码中看到这样的话,这个源码其实是一个mvc框架,不过为啥大吃一惊呢,其中Model其实是一个公共函数,不是一个类中的方法,
而后面的连贯写法,却是类的写法,我查了一下type函数和model函数也没啥关系,也没有查出在逻辑上有啥关联,
但却用了类的写法,不知这里有啥玄机不成
而后面的连贯写法,却是类的写法,我查了一下type函数和model函数也没啥关系,也没有查出在逻辑上有啥关联,
但却用了类的写法,不知这里有啥玄机不成
回复讨论(解决方案)
Mode公共方法里面应该是实例化了seo类
这有什么可奇怪的
Model 是一个函数,他会根据传入的参数返回一个对象
比如 Model('seo') 就返回一个与 seo 相关的对象
你只要看看 Model 函数的定义就可以了,他一定有类似这样的代码
function Model($name) { return new $name;}