不积跬步无以至千里

记录精彩的程序人生

  • 首页
  • Java
  • Golang
  • PHP
  • Python
  • Nodejs
  • Lua
  • Docker
  • DevOps
  • 文章归档
  • 默认分类
  • 关于
  • 标签

  • 搜索
PostgreSQL hbase 时间同步 nexus 开机启动 nexus, 开机启动 jenkins安装配置 gitlab安装配置 gitlab安装 文件系统 fastdfs gcc切换 gcc升级 mysql8 交换空间 虚拟内存 tcp thrift lua tag test VPN SoftEtherVPN homebrew asm spring tomcat maven jdk ios mac 图案字符 figlet mysql半同步复制 mysql主从同步 一主多从 一主一从 主从同步 反向代理 密码重置 test 虚拟机扩容 swap 虚拟空间 docker ldocker grpc-gateway protobuf 微服务 go grp GRPC 授权登录 OAuth2.0 SOA supervisord supervisor RPC CentOS rabbitmq 环境变量 php-fpm php.ini error php7 lnmp 编译安装 mysql nginx linux java php python redis 字符串操作 mysql5.7 Solo

php工厂模式闲聊

发表于 2020-05-08 | 分类于 默认分类 | 0 | 阅读次数 1268

我们在用smarty的时候,经常要声明$smarty = new smarty();并且要定义很多smarty的参数,我们以前常用的作法是把它们放在某个全局文件中,要用的时候调用一下.下面我们用工厂模式简单阐述一下用工厂模式的解决方式:
我们声明一个工厂类,这个类继承自smarty类库
class mySmartyFactory extends smarty
{
function __contruct()
{
//在此初始化一切smarty需要初始化的东东.
$this->template_dir = 'dir/to/template_dir/';
$this->cache_dir = 'dir/to/cache_dir/';
}
}
当然,运行本文件之前必须导入smarty类文件.
当我们要用smarty的时候,就可以直接这样$mySmarty = new mySmartyFactory ();//所有的东东都在类内部初始化了,无需我们重复去做.
简而言这,工厂模式就是对类的封装,使我们在用原始类的时候能够在不改变类本身(smarty)的前提下对对象进行大量的操作.

至于多个类的工厂模式,比如更复杂的抽象类或接口等,其基本前提都是这样的.

良好的学习技巧和工作方法可以有效提高自己
PHP简单工厂模式(simple factory)趣味讲解
  • 文章目录
  • 站点概览
ken

ken

记录精彩的程序人生

498 日志
9 分类
77 标签
RSS
Creative Commons
Links
  • 酷壳
0%
© 2010 — 2026 ken
由 Halo 强力驱动
鄂ICP备18013899号-1