自定义MVC框架-工厂类

栏目: 后端 · 发布时间: 6年前

内容简介:当前代码中,所有的模型类都是开发者手动实例化的,就好比你需要一辆汽车,还得自己制造一辆汽车使用工厂模式,开发者不需要再手动创建类的对象,只需要向相关类(汽车制造厂商)要对象(汽车)即可实现方式

当前代码中,所有的模型类都是开发者手动实例化的,就好比你需要一辆汽车,还得自己制造一辆汽车

使用工厂模式,开发者不需要再手动创建类的对象,只需要向相关类(汽车制造厂商)要对象(汽车)即可

实现方式

在 framewok\core 下创建 Facotry 类

namespace framework\core;
class Factory
{
    public static function M($classname)
    {
        static $model_list = [];
        /**
         * 为类名加上命名空间的原因在于前台和后台有同名的模型类
         */
        $modelname = MODULE . "\\model\\" . $classname;
        echo $modelname;
        if (!isset($model_list[$modelname])) {
            $model_list[$modelname] = new $modelname;
        }
        return $model_list[$modelname];
    }
}

在控制器中只需要调用Factory 类中的 M 方法传入类名即可。当然需要在控制器类中引入工厂类的命名空间

自定义MVC框架-工厂类


以上所述就是小编给大家介绍的《自定义MVC框架-工厂类》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网飞传奇

网飞传奇

[美]吉娜·基廷 / 谭永乐 / 中信出版社 / 2014-1-1 / 42

飞的历史充满了传奇色彩,它的崛起伴随着复杂斗争、幸运转折、个人背叛……它自身的历史比它出租的那些电影还要更富有戏剧性。网飞在1997年建立,而建立的原因仅仅是因为创始人伦道夫和哈斯廷斯没有按时归还租借的DVD,还要缴纳因此而产生的滞纳金。 1999年,网飞公司摒弃了百视达的“每片付租”模式,转而采用了一种订阅模式:用户只需要支付固定费用,就能尽情租片观赏,免去了到期还片日、滞纳金、运费和手续......一起来看看 《网飞传奇》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具