为了账号安全,请及时绑定邮箱和手机立即绑定

MVC架构模式分析与设计

PengCheng PHP开发工程师
难度中级
时长 5小时36分
学习人数
综合评分9.53
196人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.2 逻辑清晰
  • // 添加,修改新闻 public function newsadd(){ // 判断是否有 POST['submit'] 数据 /*因为 $_POST 是一个全局变量 isset($_POST) 会一直 =ture 所以使用 !isset($_POST['submit']) 或者 empty($_POST['submit']) 来判断*/ if(!isset($_POST['submit'])){ // POST 为空 显示添加或修改界面 $data = $this->getnewsinfo(); //根据 GET[id] 调取新闻数据,没有 GET[id] 返回空数组 //显示新闻数据 VIEW::assign(array('data'=>$data)); VIEW::display('admin/newsadd.html'); //添加修改新闻共用模板 }else{ //POST有数据 数据库改或者添加新闻 $this->newssubmit(); // 根据 GET[id] 有值则修改新闻, 无值则添加新闻 } }
    查看全部
  • 控制器层不书写任何业务处理程序,只负责各个model和view之间的协调调用(总概全局方法)。业务逻辑的具体实现在模型层!模型层根据相应的方法进行方法的细化,避免代码量过长而导致逻辑不清晰。
    查看全部
  • - 创建数据库 CREATE DATABASE IF NOT EXISTS `newsreport`; USE `newsreport`; -- admin 表 DROP TABLE IF EXISTS `admin`; CREATE TABLE `admin`( `id` int unsigned auto_increment, `username` varchar(30) not null unique, `password` char(32) not null, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; -- news 表 DROP TABLE IF EXISTS `news`; CREATE TABLE `news`( `id` int unsigned auto_increment, `title` char(50) not null, `author` varchar(20) not null, `from` varchar(20) not null, `content` text not null, `dateline` int(4) not null DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    查看全部
  • 微框架提供给我们 1扩展便利 2全自动,半自动 3统一配置借口
    查看全部
    1 采集 收起 来源:MVC微框架简介

    2017-05-25

  • header("Content-type: text/html; charset=utf-8"); //url形式 index.php?controller=控制器名&method=方法名 // 调用配置文件 require_once('config.php'); // 调用微型框架 require_once('framework/pc.php'); // 启动框架引擎 PC::run($config);
    查看全部
  • //获取当前文件地址 $currentdir = dirname(__FILE__); include_once($currentdir.'/include.list.php'); //加载部分库文件 foreach($paths as $path){ include_once($currentdir.'/'.$path); } class PC{ public static $controller; public static $method; private static $config; //实例化 数据库类 private static function init_db(){ DB::init('mysql', self::$config['dbconfig']); } //实例化 视图类 private static function init_view(){ VIEW::init('Smarty', self::$config['viewconfig']); } //获取(或初始化)当前要调用的控制器 private static function init_controllor(){ self::$controller = isset($_GET['controller'])?daddslashes($_GET['controller']):'index'; } //获取(或初始化)当前要调用的控制器->方法 private static function init_method(){ self::$method = isset($_GET['method'])?daddslashes($_GET['method']):'index'; } //启动引擎 public static function run($config){ self::$config = $config; self::init_db(); self::init_view(); self::init_controllor(); self::init_method(); // 实例化控制器 并调用 指定方法 C(self::$controller, self::$method); } }
    查看全部
  • smarty模版(name.tpl)内使用php内置函数格式: {variable|function_name:value1:value2:value3} 自定义函数使用前需要在name.php注册后,才能在smarty模版(name.tpl)内使用自定义函数: 注册使用registerPlugin函数:registerPlugin('function','注册函数名',‘自定义函数名'); 自定义函数在name.tpl使用: {注册函数名(registername) 参数1(parameter)=值1(value) 参数2(parameter)=值2(value)} 除了php内置函数,自定义函数可以作为插件来使用。 插件:插件是尊重原有系统结构,可以自由的在原结构上增加、去除但不影响原结构的函数。 插件分类:函数插件(function)、修饰函数插件(modifier function)、区块函数插件(block function) 插件文件存放在smarty目录下的lib目录下的plugins目录里,等同于使用注册函数registerplugin。 插件文件命名规范:插件分类(function或modifier或block).插件名(注册函数名).php。(文件保存在smarty/lib/plugin) 插件函数定义在function.name.php 插件函数定义命名规范:function smarty_插件分类_插件名或注册函数名($value){ return $value['a']*$value['b']; } 插件定义好后在name.tpl直接使用。
    查看全部
  • 条件判断语句if 条件有eq(==)、neq(!=)、gt(>)、lt(<) {if $name eq "values1"} PHP5 {elseif $name eq "values2"} PHP7 {else} PHP {/if}
    查看全部
  • qq2
    查看全部
  • 好的视图引擎 1.基于该引擎开发出的模板要更贴近标准的html 2.语法简单易懂 3.良好的缓存机制 4.扩展性好 5.网络资源多
    查看全部
  • -- 创建数据库 CREATE DATABASE IF NOT EXISTS `newsreport`; USE `newsreport`; -- admin 表 DROP TABLE IF EXISTS `admin`; CREATE TABLE `admin`( `id` int unsigned auto_increment, `username` varchar(30) not null unique, `password` char(32) not null, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; -- news 表 DROP TABLE IF EXISTS `news`; CREATE TABLE `news`( `id` int unsigned auto_increment, `title` char(50) not null, `author` varchar(20) not null, `from` varchar(20) not null, `content` text not null, `dateline` int(4) not null DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    查看全部
  • // 记录的更新操作 function update($table, $array, $where = null) { // update imooc_admin set username = 'king' where id = 1; $str = null; foreach ($array as $key => $value) { if ($str == null) { $sep = ""; } else { $sep = ","; } $str .= $sep . $key . "='" . $value . "'"; } $sql = "update {$table} set {$str} " . ($where == null? null : " where ".$where); if (mysql_query($sql)) { return mysql_affected_rows(); } else { return false; } }
    查看全部
  • 好的视图引擎 1.基于该引擎开发出的模板要更贴近标准的html 2.语法简单易懂 3.良好的缓存机制 4.扩展性好 5.网络资源多
    查看全部
  • 目录规范 - 类库目录 + 控制器目录 + 模型目录 + 第三方类库 + 视图目录 + 配置文件 + 入口文件目录 单一入口指的是一个wed应用程序中,所有的请求都指向相同的一个脚本文件
    查看全部
  • 流程 浏览者->1、调用控制器,对其发出指令 控制器->2、按照指令选取一个合适的模型 模型->3、按照控制器的指令取出数据 控制器->4、按照指令取出相对的视图 视图->5、把第三步取到的数据按照客户的要求的样子显示出来
    查看全部

举报

0/150
提交
取消
课程须知
本课程是php高级课程的一环,需要大家掌握以下知识点: 1、对php的基础知识掌握,如数组、自定义函数、php常用内置函数 2、掌握php面向对象编程的基本概念,至少要明白类、对象的概念
老师告诉你能学到什么?
1、MVC理论概念。 2、运用MVC理论设计简单的框架。 3、对框架里MVC三层的调用进行简化。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!