申请书范文网,分享全网优秀范文,学习好帮手!
申请书范文网 > PHP设计模式之工厂模式 单例模式和注册模式

PHP设计模式之工厂模式 单例模式和注册模式

时间:2020-06-13 05:12:56

相关推荐

PHP设计模式之工厂模式 单例模式和注册模式

后端开发|php教程

PHP设计模式 工厂模式 单例模式 注册模式

后端开发-php教程

所有面向对象中最常见的三种设计模式分别是:工厂模式,单例模式,注册(器)模式

微信全网vip视频源码,网页字体vscode替换,Ubuntu各大版本,tomcat创建xml文件,短尾爬虫,php 团购系统,seo自学教程推荐排名,关于感恩的网站源码,东方头条 模板系统lzw

工厂模式,工厂方法或者类产生对象,百不是在代码中直接new

免费手机版在线考试源码,vscode怎么设置c,ubuntu apt记录,tomcat 的动态部署,床垫爬虫,php更新session,学seo有哪些能力,网络网站源码下载,wordpress 微商城模板下载lzw

单例模式,使某个类的对象仅允许创建一个

二手网 源码下载,ubuntu 显卡透传,tomcat启动不显示猫,scrapy 通用爬虫,php开启扩展模块,浙江短视频seo优质服务商lzw

注册模式,全局共享和交换对象

工厂模式factory.php

<?phpclass Database{ public function __construct() { return "Database\n"; } }//工厂类class Factory{ public static function createDatabase() { $db = new Database(); return $db; }} $db = Factory::createDatabase();$db1 = Factory::createDatabase();$db2 = Factory::createDatabase(); var_dump($db, $db1, $db2);#object(Database)#1 (0) {#}#object(Database)#2 (0) {#}#object(Database)#3 (0) {#}

单例模式singleton.php

<?php//单例模式class Database{ protected static $db; //构造方法私有,防止在外层直接new private function __construct(){ //code }static function getInstance(){ if (self::$db) { return self::$db; }else{ self::$db = new self(); return self::$db; } }} $db = Database::getInstance();$db1 = Database::getInstance();$db2 = Database::getInstance(); var_dump($db, $db1, $db2);#object(Database)#1 (0) {#}#object(Database)#1 (0) {#}#object(Database)#1 (0) {#}

工厂模式和单例结合使用

<?phpclass Database{ protected static $db; private function __construct(){ }static function getInstance(){ if (self::$db) { return self::$db; }else{ self::$db = new self(); return self::$db; } }}class Factory{ public static function createDatabase(){ return Database::getInstance(); }} var_dump(Factory::createDatabase());

注册器类register.php

<?php//注册器模式class Register{ protected static $objects;static function set($alias, $object){ self::$objects[$alias] = $object; } static function get($name){ return self::$objects[$name]; } function _unset($alias){ unset(self::$objects[$alias]); }} Register::set(db1, $db);Register::get(db1);

更多PHP设计模式之工厂模式、单例模式和注册模式相关文章请关注PHP中文网!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。