第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

【九月打卡】第13天--大話PHP設計模式第十四章節(jié)綜合實戰(zhàn)

標簽:
PHP

课程名称:大话PHP设计模式

课程章节: 14-2MVC结构 14-3自动加载配置
课程链接

主讲老师:Rango

课程内容

讲解了MVC结构和自动加载配置的现实过程

课程收获

一、MVC结构

定义

模型-视图-控制器模式,也称为MVC模式(Model View Controller)。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
它把软件系统分为三个基本部分:
模型(Model):负责存储系统的中心数据。
视图(View):将信息显示给用户(可以定义多个视图)。
控制器(Controller):处理用户输入的信息。负责从视图读取数据,控制用户输入,并向模型发送数据,是应用程序中处理用户交互的部分。负责管理与用户交互交互控制。

目的

实现一种动态的程序设计,是后序对程序的修改和扩展简化,并且使程序某一部分的重复利用称为可能。
通过对复杂度的简化,使程序结构更加直观。

二、自动加载配置

实现原理

1、PHP中使用ArrayAccess实现配置文件的加载
2、在工厂方法中读取配置,生成可配置化的对象
3、使用装饰器模式是实现权限验证,模板渲染,JSON串化
4、使用观察者模式实现数据更新事件的一系列更新操作
5、使用代理模式实现数据库的主从自动切换

代码实现

class Config implements ArrayAccess
{
    protected $path;
    protected $configs = [];
    function __construct($path)
    {
        $this->path = $path;
    }

    function offsetGet(mixed $offset): mixed
    {
        if (empty($this->configs[$offset]))
        {
            $file_path = $this->path.'/'.$offset.'.php';
            $config = require $file_path;
            $this->configs[$offset] = $config;
        }

        return $this->configs[$offset];
    }

    function offsetSet(mixed $offset, mixed $value): void
    {
        throw new Exception("cannpr write config file.");
        
    }

    function offsetExists(mixed $offset): bool
    {
        return isset($this->configs[$offset]);
    }

    function offsetUnset(mixed $offset): void
    {
        unset($this->configs[$offset]);
    }

}

$config = new Config(__DIR__.'/configs');
var_dump($config['controller']);

\configs\controller.php

$config = [
    'home' => [
        'decorator' => ['Demo\decorator\Template']
    ]
];

return $config;

课程截图

图片描述
图片描述

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消