php的la框架,PHP“企业模式”直观描述(lavale,yii,thinkphp)

相信大家都接触过php框架吧,lavale,yii,thinkphp,简单来书这些都是企业模式。

这些模板虽然各不相同,各具优势,但是归根结底都是一样的,框架直接拿来使用很痛快,但是如果能够深入挖掘这些框架,会有更深入的理解,针对不同的业务可以有自己的框架。

注册表(全局配置信息-数据库,用户请求信息)-》用户请求数据分析-》找到执行文件执行用户请求-》返回页面(或者数据)

单例模式建立注册表,这部分在“单例模式中”有介绍,把数据库配置和用户请求做成全局变量,便于传输

用户请求信息分析:对用户信息指令进行分析,找到执行文件执行

返回页面,或者结果:如果需要页面直接include一个页面,如果需要结果,返回一个json

全是文字,没有代码是吧。之前写过

下面是一个注册表:

``<?php

namespace woo\base;

class ApplicationRegistry extends Registry{

private static $instance;

private $freezedir ='data';

private $values = array();

private $mtimes = array();

private function instance(){

if(!isset(self::$instance)){

self::$instance = new self();

}

return self::$instance;

}

protected function get($key){

$path = $this->freezedir.DIRECTORY_SEPARATOR.$key;

if(file_exists($path)){

clearstatcache();

$mtime = filemtime($path);

if(! isset($this->mtimes[$key])){

$this->mtimes[$key]=0;

}

if($mtime > $this->mtimes[$key]){

$data = file_get_contents($path);

return $this->values[$key] = unserialize($data);

}

}

if(isset($this->values[$key])){

return $this->values[$key];

}

return null;

}

protected function set($key, $val){

$this->values[$key] = $val;

$path = $this->freezedir.DIRECTORY_SEPARATOR.$key;

file_put_contents($path, serialize($val));

$this->mtimes[$key] = time();

}

static function getDSN(){

return self::$instance->get('dsn');

}

}``

指令分析

class CommandResolver{

function getCommand( $request)

{   //这块大家发挥的空间很大,可以随意哦

}

function execute()

{

include("cmdfile");

}

怎么组合?,告诉你,一个run()可以init配置,加载request,execute

如果有人看到我的技术文章,有疑问,欢迎私信,有问必答

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值