码迷,mamicode.com
首页 > Web开发 > 详细

简单快速打造你自己的PHP MVC框架

时间:2016-07-21 11:06:21      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:php培训

简单快速打造你自己的PHP MVC框架

简介

MVC框架在现在的开发中相当流行,不论你使用的是JAVA,C#,PHP或者IOS,你肯定都会选择一款框架。虽然不能保证100%的开发语言都会使用框架,所以最好的理解MVC的方法就是写一个你自己的MVC框架。兄弟连www.lampbrother.net这篇文章中将会向你展示如何构建一个自己的MVC框架。

 技术分享

MVC架构模式

M: Model-模型

 

V: View-视图

C: Controller-控制器

 

 

MVC的关键概念就是从视图层分发业务逻辑。首先解释以下HTTP的请求和相应是如何工作的。例如,我们有一个商城网站,然后我们想要添加一个商品,那么最简单的一个URL就会是像下面这个样子:

 

http://bestshop.com/index.php?p=admin&c=goods&a=add

 

http://bestshop.com就是主域名或者基础URL

 

p=admin 意味着处在管理模块,,或者是系统的后台模块。同时我们肯定也拥有前台模块,前台模块供所有用户访问(本例中, 它是p=public)

 

c=goods&a=add 意思是URL请求的是goods控制器里的add方法。

 

前台控制器设计

在上面的例子中index.php中是什么?在PHP框架中它被称为入口文件。这个文件通常都被命名为index.php,当然你也可以给它别的命名。这个index.php的最主要的作用就是作为HTTP请求的唯一入口文件,这样无论你的URL请求什么资源,它都必须通过这个Index.php来请求。你可能要问为什么,它是如何做到的?PHP中的前端控制器用到了Apache服务器的分布式配置.htaccess实现的。在这个文件中,我们可以使用重写模块告诉Apache服务器重定向到我们的index.php入口文件,就像下面这样:

 

<IfModule mod_rewrite.c>

 

   Options +FollowSymLinks

 

   RewriteEngine on

 

   # Send request via index.php

 

   RewriteCond %{REQUEST_FILENAME} !-f

 

   RewriteCond %{REQUEST_FILENAME} !-d

 

   RewriteRule ^(.*)$ index.php/$1 [L]

 

</IfModule>

这个配置文件非常有用,还有当你重写这个配置文件的时候你不需要重启Apache。但是当你修改Apache的其他配置文件的时候你都需要重启Apache才能生效,因为Apache只有在启动的时候才会读取这些配置文件。

 

同时,index.php还会进行框架的初始化并且分发路由请求给对应的控制器和方法。

 

我们的MVC目录结构

现在让我们开始创建我们的框架目录结构。我们你可以随便先建立一个文件夹,命名为你项目的名称,比如:/bestshop。在这个文件夹下你需要建立下面的文件夹:

 

/application-存放web应用程序目录

 

/framework-存放框架文件目录

 

/public-存放所有的公共的静态资源,比如HTML文件,CSS文件和jJS文件。

 

index.php-唯一入口文件

 

然后在application文件夹下再建立下一级的目录

 

/config-存放应用的配置文件

 

/controllers-应用的控制器类

 

/model-应用的模型类

 

/view-应用的视图文件

 

现在在application/controllers文件夹下,我们还需要创建两个文件夹,一个frontend,一个backend

 

同样的,在view下也建立frontendbackend文件夹:

 

就像你看到的,在applicationcontrollersview下面建立了backenfrontend文件夹,就像我们的用用有前台和后台功能一样。但是为什么不在model下也这样做呢?

 

Well, the reason here is, normally for a web app:是因为一般在我们的应用中,前台和后台其实是可以看做是两个“网站的”,但是CRUD操作的是同一个数据库,这就是问什么管理员更新了货物的价格的时候,前台用户可以马上看到价格的变化,因为前台和后台是共享一个数据库(表)的。所以在model中没必要再去建立两个文件夹。

 

:现在让我们回到framework文件夹中,一些框架的文件夹命名会用框架的名字命名,比如"symfony"。在framework中让我们快速建立下面的子目录:

 

/core-框架核心文件目录

 

/database-数据库目录(比如数据库启动类)

 

/helpers-辅助函数目录

 

/libraries-类库目录

 

现在进入public文件夹,建立下面的目录:

 

/css-存放css文件

 

/images-存放图片文件

 

/js-存放js文件

 

/uploads-存放上传的文件

 

OK。到目前为止这就是我们这个迷你的MVC框架的目录结构了!


简单快速打造你自己的PHP MVC框架

标签:php培训

原文地址:http://11842155.blog.51cto.com/11832155/1828293

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!