MVC(Model(模型) View(视图) Controller(控制器))
复习
1. 商品表
增删改查
index.php add.php view.php edit.php action.php
2. MVC(Model(模型) View(视图) Controller(控制器))
v1版本
将原来的action(动作),写成方法,每一个action文件,就是个类
什么是入口文件?
用于浏览器直接访问的那个文件
什么是action?
是我们类中的,用于调用的方法
如何在同一个入口文件中,如何调用不同的action?
通过url中的参数来控制 $_GET['a'];
v2 版本
如何在同一个入口文件中,调用不同的类
接收参数,来确定当前要实例化哪一个类
通过url中的参数来控制 $_GET['a'];
什么是单一入口(实现单一入口)
浏览器只会访问同一个文件
1.路径问题,全部都相对于入口文件
2.方便安全控制,只需要入口文件内验证
v3
数据库访问,使用Model类
界面,使用Smarty来实现
MVC是设计模式
不要在入口文件中,直接调用action,应该由控制器自己去调用action
让入口文件把控制权,交给控制器
需要确保每一个控制器都有一个相同名字的入口方法,如何实现?
写一个控制器的父类(base类) Controller类,在父类中写一个run()方法,让入口文件调用
v4
集成Smarty和Model
在入口文件中,包含Smarty类文件
让Controller继承自Smarty
在控制器基类中,写一个私有的 _initSmarty()方法,来配置Smarty,在run()方法调用
也可以写构造方法,用来初始化Smarty
在控制器中,就可以直接使用$this->assgin(),$this->display()来调用Smarty提供的方法;
v5
类的自动加载
将所有的控制器,都放到了controller文件夹中,将所有的model类,放在model目录中
类的自动加载
新建一个config/config.php,配置文件,并在入口文件中包含
MVC(Model(模型) View(视图) Controller(控制器))的更多相关文章
- [.net 面向对象程序设计深入](6).NET MVC 6 —— 模型、视图、控制器、路由等的基本操作
[.net 面向对象程序设计深入](6).NET MVC 6 —— 模型.视图.控制器.路由等的基本操作 1. 使用Visual Studio 2015创建Web App (1)文件>新建> ...
- ASP.NET MVC轻教程 Step By Step 4——Model、View和Controller
ASP.NET MVC中的Model(数据模型)主要包括定义数据结构.数据库读写.数据验证等等和对象处理相关的工作. 在解决方案资源管理器中找到Model文件夹,点击右键,添加一个新类,名为“Mess ...
- MVC使用jQuery从视图向控制器传递Model,数据验证,MVC HTML辅助方法小结
//MVC HTML辅助类常用方法记录 (1)@Html.DisplayNameFor(model => model.Title)是显示列名, (2)@Html.DisplayFor(model ...
- Asp.Net Core 入门(四)—— Model、View、Controller
和我们学习Asp.Net MVC一样,Asp.Net Core MVC的Model.View.Controller也和我们熟悉的Asp.Net MVC中的相似.不同的是我们在使用Asp.Net Cor ...
- 深入理解模型,视图和控制器(C#)
这篇文章向你提供ASP.NET MVC 模型,视图和控制的高度概览.换句话说,解释一下ASP.NET MVC中的 ‘M’, ‘V’, 和 ‘C’. 看完这篇文章以后,你应该就能理解ASP.NET MV ...
- OPEN(SAP) UI5 学习入门系列之三:MVC (下) - 视图与控制器
继续来学习UI5的MVC模型吧,这次我们来探讨视图与控制器. 1 视图 在MVC中,视图用来定义和渲染UI.在UI5中,视图的类型是可以自定义的,除了以下预定义的四种视图类型之外,你也可以定制自己的视 ...
- 【MVC框架】——View和Controller之间的传值
在MVC中,Controller运行一个能够说是路由功能.它通过View传过来的数据,来决定应该调用哪一个Model,相同会把Model处理完的数据传给View,所以就总是涉及到Controller和 ...
- 1、ASP.NET Core2.0之Model、View、Controller
一.新建空项目 打开VS2017,新建→项目,选择如下: 点击,确定,弹出的界面选择如下: 选择空项目,因为选择其他的话会自动生成很多用不到的类,显得项目不够“清爽”,ASP.NET Core选择2. ...
- MVC使用jQuery从视图向控制器传递Model的2种方法
http://blog.csdn.net/make1828/article/details/29846003 using System.ComponentModel.DataAnnotations; ...
随机推荐
- emberJS
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- BZOJ-1015 StarWar星球大战 并查集+离线处理
1015: [JSOI2008]星球大战starwar Time Limit: 3 Sec Memory Limit: 162 MB Submit: 4105 Solved: 1826 [Submit ...
- 【bzoj2819】 Nim
www.lydsy.com/JudgeOnline/problem.php?id=2819 (题目链接) 题意 动态树上路径异或和. Solution Nim取石子游戏的sg值就是每堆石子的异或和,所 ...
- ubuntu设置开机启动图形应用程序,替换默认图形桌面
直接将启动程序放在rc.local即可.但是如果自动启动的程序奔溃后,会返回到ubuntu的unity桌面系统. 我遇到的问题是程序还有调用 xset 去定时关闭屏幕.在桌面启动后调用没问题.如果rc ...
- jquery------.cycle的使用
代码下载地址:http://malsup.github.io/jquery.cycle.all.js 把里面的代码复制到jquery.cycle.all.js里面 index.jsp <scri ...
- Laravel教程 六:表单 Forms
Laravel教程 六:表单 Forms 此文章为原创文章,未经同意,禁止转载. Form laravel 5.2 之后请使用 laravelcollective/html 替换 illuminate ...
- 本地与在线图片转Base64及图片预览
查看效果:http://sandbox.runjs.cn/show/tgvbo9nq 本地图片转Base64(从而可以预览图片): function localImgLoad() { var src ...
- 菲涅尔反射(Fresnel Reflection)
离线渲染中,通常可以用kd,ks,kt(分别代表物体的漫反射系数,镜面反射系数,透射系数)来简单地描述一个物体的基本材质,例如,我们将一个物体设置为:kd=0,ks=0.1,kt=0.9,即代表一束光 ...
- CSS3 动画animation
关键帧 什么是关键帧.一如上面对Flash原理的描述一样,我们知道动画其实由许多静态画面组成,第一个这样的静态画面可以表述为一帧.其中关键帧是在动画过程中体现了物理明显变化的那些帧. 比如之前的例子中 ...
- Developing a plugin framework in ASP.NET MVC with medium trust
http://shazwazza.com/post/Developing-a-plugin-framework-in-ASPNET-with-medium-trust.aspx January 7, ...