自定义MVC框架-工厂类

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

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

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

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

实现方式

在 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框架-工厂类》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Algorithms

Algorithms

Robert Sedgewick、Kevin Wayne / Addison-Wesley Professional / 2011-3-19 / USD 89.99

Essential Information about Algorithms and Data Structures A Classic Reference The latest version of Sedgewick,s best-selling series, reflecting an indispensable body of knowledge developed over the ......一起来看看 《Algorithms》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

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

正则表达式在线测试