博主信息
博文 27
粉丝 2
评论 0
访问量 25049
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
MVC基础---PHP九期线上班
一丁
原创
1114人浏览过

1.demo1

实例

<?php

//命名空间
namespace mvc;

// 1. 加载模型
require 'Model.php';

// 2. 加载视图
require 'View.php';

// 3. 创建控制器
class Controller1{
	//创建方法
   public function index(){
       // 3.1 获取数据
        $model = new Model();
        $data = $model->getData();

       // 3.2 渲染模板
       $view = new View();
       return $view->fetch($data);
   }
}

// 4. 客户端调用/访问类成员
$controller = new Controller1();
echo $controller->index();

运行实例 »

点击 "运行实例" 按钮查看在线实例

运行模式:

image.png


2.demo2

实例

<?php
//命名空间
namespace mvc;

// 1. 加载模型
use BaconQrCode\Common\Mode;

require 'Model.php';

// 2. 加载视图
require 'View.php';

// 3. 创建控制器
class Controller2{
	//创建方法
   public function index(Model $model, View $view){
       // 3.1 获取数据
        $data = $model->getData();

       // 3.2 渲染模板
       return $view->fetch($data);
   }
}

// 4. 客户端调用/访问类成员
// 将模型与视图的实例化代码从控制器分离出来, 放到了客户端
$model = new Model();
$view = new View();

// 将模型对象与视图对象,以参数的方式再次注入到控制器的方法
$controller = new Controller2();
echo $controller->index($model, $view);

运行实例 »

点击 "运行实例" 按钮查看在线实例

运行结果图:

image.png


3.demo3

实例

<?php
//命名空间
namespace mvc;

// 1. 加载模型
use BaconQrCode\Common\Mode;

require 'Model.php';

// 2. 加载视图
require 'View.php';

// 3. 创建控制器
class Controller3{
  //建立保护属性
    protected $model;
    protected $view;
    // 构造方法, 注入点改到了构造方法中, 实现了模型与视图对象的共享
    public function __construct(Model $model, View $view){
        //把构造方法里的值传入保护属性
        $this->model = $model;
        $this->view = $view;
    }

    public function index(){
       // 3.1 获取数据
        $data = $this->model->getData();

       // 3.2 渲染模板
       return $this->view->fetch($data);
   }
}

// 4. 客户端调用/访问类成员
// 将模型与视图的实例化代码从控制器分离出来, 放到了客户端
$model = new Model();
$view = new View();

// 将模型对象与视图对象,以参数的方式再次注入到控制器的方法
$controller = new Controller3($model, $view);
echo $controller->index();

运行实例 »

点击 "运行实例" 按钮查看在线实例

运行结果图:

image.png

4.demo4

实例

<?php
//命名空間
namespace mvc;
//加載模板
require './mvc/Model.php';
//加載視圖
require './mvc/View.php';
//創建容器
class rongqi{
//建立一個空數組
	protected $ina=[];
//建立綁定方法	
	public function bind($a,$b){
//把$a放入ina數組中,等於$b		
		$this->ina[$a]=$b;
		//$this->instance['model']='new Model(x,y)'
	}
//建立使用方法
	public function make($a,$c=[]){
//返回回調函數
		return call_user_func_array($this->ina[$a],[]);
	}
}
//實例化容器
$k=new rongqi;

//用到模型對象,視圖對象,將它們綁定到容器中
$k->bind('model',function (){return new Model();});
$k->bind('view',function (){return new View();});

//創建控制器
class Controller4{

	public function index(rongqi $k){
		//獲取數據
		$data=$k->make('model')->getData();
		//渲染模板
		return $k->make('view')->fetch($data);
	}

}
//客戶端調用
$Controller=new Controller4;
echo $Controller->index($k);

运行实例 »

点击 "运行实例" 按钮查看在线实例

运行结果图:

image.png


5.demo5

image.png


总结

知道了MVC基本框架,模型,视图,通过例子一步步把代码变的更加优美。

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:是很美, 希望一直这样美下去
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学