多久可以自己mvc开发框架php mvc框架

php实现最简单的MVC框架实例教程
投稿:shichen2014
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了php实现最简单的MVC框架实例教程,讲述了MVC框架的运行原理及简单实现方法,具有不错的参考借鉴价值,需要的朋友可以参考下
本文以一个实例的形式讲述了PHP实现MVC框架的过程,比较浅显易懂。现分享给大家供大家参考之用。具体分析如下:
首先,在学习一个框架之前,基本上我们都需要知道什么是mvc,即model-view-control,说白了就是数据控制以及页面的分离实现,mvc就是这样应运而生的,mvc分为了三个层次,而且三个层次各司其职,互不干扰,首先简单介绍下,各个层次:view即是视图,也就是web页面,control即是控制器 向系统发出指令的工具,model 简单说是从数据库中取出数据进行处理。
MVC的工作流程如下:
1. 浏览者-&调用控制器,对此发出指令
2. 控制器-&按指令选取一个合适的模型
3. 模型-&按照控制器指令选取相应的数据
4. 控制器-&按指令选取相应的视图
5. 视图-&把第三步取到的数据按用户想要的样子显示出来
简单地实例开发如下,首先进行第一个控制器的开发 我们在此命名规范如下testController.class.php
class testController{
function show(){
其次书写一个简单地模型如下testModel.class.php
class testModel{
function get(){
return "hello world";
第一个视图文件的创建testView.class.php 是为了呈现数据所存在的
class testVies{
function display($data){
下面我们要做的就是按照之前所说的五步进行程序的测试:代码如下 测试文件的建立test.php
require_once('testController.class.php');
require_once('testModel.class.php');
require_once('testView.class.php');
$testController = new testController();//调用控制器
$testController-&show();
class testController{
function show(){
$testModel = new testModel();//选取合适的模型
$data = $testModel-&get();//获取相应的数据
$testView = new testView();//选择相应的视图
$testView-&display($data);//展示给用户
而后我们浏览器打开test.php 会显示为hello world,说明我们已经成功了。
注:本文实例仅为框架结构,具体的功能读者可以自行添加。希望本文所述实例对大家PHP程序设计框架的学习有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具推荐给开发者的20个优秀PHP框架
来源:developerslane&&&时间: 19:48:06&&&阅读数:
[导读] PHP是非常受欢迎并且很有影响力的一门编程语言,很多Web开发者喜欢使用PHP开发,而且确实有很大比例的网站都是依赖于PHP的。在Web开发中,PHP框架可以帮助到你开发过程的各个方面,使你的工作变得简单起来。
&&&&&& 本文由PHP100中文网编译,转载请看文末的转载要求,谢谢合作!
&&&&&& PHP是非常受欢迎并且很有影响力的一门编程语言,很多Web开发者喜欢使用PHP开发,而且确实有很大比例的网站都是依赖于PHP的。在Web开发中,PHP框架可以帮助到你开发过程的各个方面,使你的工作变得简单起来。
&&&&&& PHP语言有着飞速的发展,它可能已经不像你记忆中的那样,不再有复杂的程序式代码和庞大的系统,重生的PHP有着齐备的功能、支持、命名空间、以及逐步增多的可复用代码库。所以,你现在赶上了PHP最好的时光,可以更好地,增强你的能力。下面推荐给你在2015年值得使用的20款优秀PHP框架。
Silex是为PHP5.3准备的一个小型框架,它是基于Symphony2和Pimple的,也受到了Sinatra的一些灵感。Silex的目标就是简洁,同时有较好的可扩展性和可测试性。
Agavi是一个强大的,可扩展的PHP5应用框架,遵循MVC模式。它帮助开发者写出清晰、易维护和可扩展的代码,它有着相对自由的规则,更加关注长久的质量,而非眼前的特性。
这是PHP&Web开发中很受欢迎的工具,它被设计的尽可能实用和安全。它有着多种语言环境,帮助你开发出更好的网站。Nette使用革命性的技术,消除安全漏洞,比如XSS,CSRF,session拦截等。它有着出色的调试工具,帮助你及时发现所有的bug。总之,Nette是流行的框架,支持着很多先进的技术。
Typo3&Flow是一个Web应用平台,帮助开发者创建优秀的Web解决方案,并找到编程的乐趣。它可以快速返回结果,是复杂应用的可靠基础。同时,它依靠着最大的PHP社区&&TYPO3。
Simple&MVC&Framework的环境非常容易搭建,代码结构清晰,并且简单易学,它有着简单的主题文件和控制操作。它受到了多方面的支持,比如Twitter,Facebook&Groups和一些专用论坛。而且它是轻量级的,大小小于1MB。
Pop&PHP是一个健壮的,但易于使用的PHP框架,它同时有着复杂的API。它支持PHP5.3+,如今Pop&PHP框架依然维持着易用性,而且是轻量级的。它有很多的内置特征,可以被视为一个工具箱或是应用的基础框架。
PHPixie是轻量级的PHP&MVC框架,具有快速、易学的特点,是Web开发值得信赖的工具。它有着很多的命名规则,你需要设置的内容是很少的。
我很喜欢这个小型框架,它是最轻量级的PHP数据库框架,一个文件只有13KB的大小,可以加快开发进程。它非常易于学习和使用,与众多SQL数据库兼容,包括MySQL,MSSQL,SQLite、Oracle、Sybase、PostgreSQL等。Medoo在MIT特许下是免费的。
Flight是PHP的小型框架,快速、简单、可扩展性好。它会帮助你快速构建RESTful&Web应用,它需要PHP5.3+和MIT的特许。
Fuel拥有简洁、灵活的特性,吸收了其它框架的优秀设计。它目前发布了版本2,同样是基于MVC模型。
Slim&Framework如同名称一样,属于轻量级的小型框架,帮助你快速构建简单但强大的Web应用。它提供用户视图、Flash信息、安全cookies、错误处理、代码调试等功能。
Kohana是一款高级的PHP框架,提供丰富的开发Web应用的特征。它有着很多常见的组件,比如翻译工具、数据库连接、代码剖析、加密和认证技术等,可以帮你节省时间,快速开发Web应用。
Zend绝对是PHP中的处于领先的框架之一,它有着很强的灵活性,非常适合现代Web应用的开发,受到很多开发者的喜爱。它的设计简洁、符合人们的学习曲线,被广泛使用,所以安全性也较好。
Aura&Project适合那些喜欢清晰简洁代码的开发者们,它有着低耦合的类和独立的包。这样的框架有着很多的用户,与CakePHP有很多相似之处。Aura的目标就是提供高质量、经受测试、符合规范、低耦合的类库,可以广泛被使用。
CakePHP是在2015年应该尝试使用的框架之一,它将要发布一个稳定的3.0版本。CakePHP使得开发Web应用更为容易、快速,需要更少量的代码。它支持使用代码生成器,同样是在MIT的许可下。
CodeIgniter是一款强大的PHP框架,为那些需要简洁优秀工具的开发者们使用,帮助他们开发功能齐全的Web应用。
Yii&Framework对于要在短时间内开发高质量的Web应用是一个不错的选择,它有着优秀的文档,可以帮助我们开发出拥有着良好用户体验和功能的应用。
Symfony是为Web项目开发准备的PHP框架,它加速了应用构建和维护的速度,去掉了那些重复的代码任务。Symfony&PHP框架有着一些列可重用的PHP组件,有着越来越流行的趋势。很多CMS系统和论坛系统都使用的是Symphony框架。
Phalcon可能是这份清单中最快的框架,本来是基于C的,后来作为PHP的扩展,提供高性能的使用。
Laravel是免费、开源的PHP&Web应用框架,遵循MVC模式,它帮助你创建强大的应用,而且只需使用简单的语法,可读性强,有着很好的文档,帮助你的开发进程。
(翻译:PHP100_Zeroing)&
手机扫描下方二维码,关注php100官方微信。
同步官网每日更新,为您带来随时随地的资讯与技术信息。更有不定期的互动抽奖活动,赢取实用贴心的小礼物。
除非特别声明,PHP100新闻均为原创或投稿报道,转载请注明作者及原文链接原文地址:
延伸阅读 More
视频教程 Video
网站服务:
会员问题 :
友情链接 :
网站投稿 :
@php100官方
php100官方微信
Copyright (C) 2007-, All Rights Reserved 版权所有 京ICP备号-14
请关注php100官方微信为什么大部份开源项目不用MVC框架开发?
主流的PHP开源应用如:Discuz,WordPress,各种cms等基本上都没有使用开源框架开发。除了历史原因以外:1、如果使用框架开发是不是更加安全成熟稳定?2、有哪些因素导致这些开源项目不采用开源的MVC框架3、使用开源MVC框架有哪些弊端?
按投票排序
朋友你好,谢邀。希望我的理解对你的帮助大于误导。接着说说我的看法。通过题目看出题主对PHP很有感觉哦。我个人虽然不是一个专业的phper,当初确也学过并且真的实践过。感觉php确实是逆袭的利器,成本低开发快,而且性能都还不错。额,跑题了,咱们今天不是讨论语言,而是应该转到开源、框架、mvc等话题上。首先说说楼主的题目,我不知道你是怎么理解mvc的。mvc是一种设计思想,是一种设计模式。这个应该没错,但是任何一个框架的卖点绝不是因为他是遵循mvc模式开发的。而是因为它实打实的提供某类问题的快速解决方案。你使用它是因为你有这样的需求它能给你带来便利。但凡某个mvc框架的介绍基本都是这样的,xx是一个用来解决xx问题的mvc框架,你应该可以看出,重点是能解决什么,而不是后面附带的mvc框架。框架就好比给程序员使用的产品,一个产品如果不是针对某类具体问题而生的,那么这个产品的意义就不好说了。如果你仅把mvc当做一个产品,那么就好比你的产品什么都能做,但是什么都做不好,谁都不需要这类产品。我想我刚才绕远了,其实我只是想说我们选择一个框架往往取决于该框架的开发目的,而不是开发模式。说起框架我立马就想起了java的ssh框架。好似成了java本身的一部分一样。现在学过java的人,一般都会接着去学习ssh框架。而且ssh使用率也非常高。想起了以前读书时那段在图书馆啃着java大块头书籍的时光了。哎,往事不堪回首啊。好了,赶紧转入正题。接下来说说引入一个框架可能产生的问题:性能损失。但凡框架都会带来性能损失,这也是一些对性能要求很高的项目往往不会使用框架,而为自己的场景定制优化。当然这个性能在如今来说大概也可以忽略了。复杂度提升。学习成本和部署成本这就是你必然要面对的问题。适应性。框架一旦引入,你的整体结构就被固定死了,你需要按照固定的模式去使用,这个地方加一些自己写的具体代码,另外一个地方加一点,这些都是框架帮你规定好了的。这东西可能其实也挺好,方面你后续维护什么的,但是你得去适应。摩擦。这个东西就不好说了,有些框架有些地方可能非常符合你的需求,有些地方却不是你想要的,甚至是反向的。这个时候你要么就去hack一下,要么就去修改一下该框架的源代码。总之你使用起来不会特别爽。说了框架说说php语言本身。作为一门易学习使用,大量函数内置的这么一门语言。你发现你很多操作都不需要自己封装实现,内置的都已经足够强大了。以前在深受mvc熏陶下,我用php写东西会这样,首先建立module,view,server3个目录,然后按照这种思路去填充对应的代码。这算不算一种mvc的简易实现了?所以个人觉得php内置的强大可能导致更少的使用框架。一个框架不能过于抽象,也不能太具化。对php来说这点就很难把握。有时候你应该想想你需要的是一些php代码片段还是一个框架。Discuz,WordPress等这些东西为什么不使用开源框架?我也想尝试着回答。但是只是揣测而已。这些东西往往职责单一,目标明确,而且使用php开发,其代码量也不一定非常多。使用框架一来难以灵活适应场景需求,而来其带来了更高的复杂度。这类大众类产品,大部分用户需要的是快速安装使用,少部分程序员希望修改自定义。所以不管出于何种需求,复杂总不是个好东西。还有可能的原因就是作者看不上别人的代码。自己怎么写怎么爽。开源代码往往追求自由,而商业项目往往追求效率。所以商业项目往往会更频繁的使用框架。说了这么框架的坏话,因为这是我们问题的聚焦。其实好的框架能够省去你大量的工作,节省你很多时间。所以框架本是一个好的东西,而往往不好的是它遇到了一个不理解它的程序员。我想我们任何一个人或集体在选择一个开源框架的时候一定要明确自己的需要和了解你将使用的框架。做了必要的利弊权衡之后,你才可以确定是否使用该框架。框架不是你想用,想用都能用,否则最后知道真相的你眼泪只能掉下来。要是朋友你能具体说明你所指的php开源mvc框架,也许我能回答得更贴题。以上仅为个人愚见。
我估计这2家在开发的时候,MVC思想还没有流行到PHP吧。现在PHP也流行MVC了,他们自己就已经有自己的一套框架体系了。之前有稍微看了下他们的源码,感觉都是疯子写的。让我是没法维护的,不知道他们的团队是怎么想的。可能是面向过程的敏捷开发吧。又或者是考虑到性能或其他。但是看看现在的出来的开源程序,基本上都是遵循MVC的,像PHPWIND,SHOPEX等,所以,MVC还是必然方向吧。
你说的开源项目范围略显大,也不知道你看了哪些开源项目。不同的开源项目宗旨和适用的场景是不同的,就我见过的而言,可以大致的分为下面这几大类:基础工具库,帮助你搞定非常dirty或者tricky的事情,让你专注于业务逻辑,比如前端领域的jQuery,封装了浏览器兼容性的很多问题,给前端工程师提供了非常统一的接口;工作流框架,帮助你梳理某些工作的典型工作流,比如网站处理用户请求,并给出响应,涉及到数据层,逻辑层,视图层等等,这些框架大多使用了很多比较成熟的设计模式,典型的模式是MVC,当然,为了将这些框架做的更加易于扩展,还会有其他的模式被使用,比如工厂模式,代理模式,这方面的框架就太多的,每种语言都有很多,数不胜数,比如Java的Spring,PHP的Cake,Zend,Think,Javascript的backbone,nodejs的express,python的django等等。总的来说,每种开源的项目都是作者将其工作的沉淀和技巧的积累放出来供他人使用,期望得到他人的贡献,众人拾柴火焰高,目前github上的很多项目都是如此,有了这些项目,后来者的工作可以说是站在巨人的肩上。
个人觉得 用框架就是依赖别人,他们完全有能力搭建自己的框架,与其花费精力去研究一个框架,还不如自己写一个框架。(大型项目对框架的扩展修改是非常频繁的。)
读过dedecms的源码,写得有点烂
WeCenter国内的一个开源社交类问答程序就是用的Mvc框架,可以去试试
我自己也在考虑用不用框架....感觉自己开发冗余代码是不是会很多...
我觉得MVC挺好的,开发效率挺高的。

我要回帖

更多关于 mvc4后台开发框架源码 的文章

 

随机推荐