为了账号安全,请及时绑定邮箱和手机立即绑定

关于new class的问题

为什么controller可以new其他的class

正在回答

7 回答

因为有require或者include把视图(viem)、模型(Model)、控制器(controller)都引入到了同一个文件中,所以最终其实都是在同一个页面执行所以能够new其他的class。

0 回复 有任何疑惑可以回复我~

明白了,谢谢啦

0 回复 有任何疑惑可以回复我~

这个就是MVC单一入口模式,入口文件中会封装一个__autoload魔术方法,当你实例化一个此页面不存在的类时会触发__autoload方法,根据你实例化的类名去找这个类.你在网上好好看看这个MVC的视频教程吧!

0 回复 有任何疑惑可以回复我~

你说的同一页面是?,视频上每个class是分开写的啊,不是在一个php文件里写了很多class啊,还希望你能再解释下,也许是我理解有问题。

0 回复 有任何疑惑可以回复我~

在一个页面里同时定义了两个类,在另一个类里是能实例化另上一个类的

    class Model{
        public function fun(){
            echo "这是fun";
        }
    }
    class Demo{
        public function db(){
              $obj=new Model();
              return $obj->fun();
        }
    }

    $obj=new Demo();
    $obj->db();

会输出Model类的fun方法

0 回复 有任何疑惑可以回复我~

有点疑惑,不是在test.php里require_once三个class,所以在test里new我能理解,我但试了下在每个class里都可以new 其他的class对象,希望你能帮我解释一下,哈哈

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
MVC架构模式分析与设计
  • 参与学习       82395    人
  • 解答问题       929    个

通过学习MVC理论知识,由浅入深带您实现人生第一个MVC框架

进入课程

关于new class的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信