PHP MVC开发框架学习笔记

Posted 挨踢小子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP MVC开发框架学习笔记相关的知识,希望对你有一定的参考价值。

图 | 网络

文 | 不详

——此文仅代表个人学习所得,欢迎阅览

如有侵权,请私信删除

MVC

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

php中MVC模式也称Web MVC,从上世纪70年代进化而来。MVC的目的是实现一种动态的程序设计,便于后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部份分离的同时,也赋予了各个基本部分应有的功能。

MVC各部分的职能

MVC各部分的职能:

  • 模型Model – 管理大部分的业务逻辑和所有的数据库逻辑。模型提供了连接和操作数据库的抽象层。

  • 控制器Controller - 负责响应用户请求、准备数据,以及决定如何展示数据。

  • 视图View – 负责渲染数据,通过html方式呈现给用户。

MVC流程

一个典型的Web MVC流程:

  • Controller截获用户发出的请求;

  • Controller调用Model完成状态的读写操作;

  • Controller把数据传递给View;

  • View渲染最终结果并呈献给用户。

PHP MVC开发框架学习笔记

MVC框架开发

目录准备

目录的作用

  • application – 应用代码

  • config – 程序配置或数据库配置

  • myphp - 框架核心目录

  • public – 静态文件

  • runtime - 临时数据目录

代码规范

  • mysql的表名需小写,如:item,car

  • 模块名(Models)需首字母大写,,并在名称后添加“Model”,如:ItemModel,CarModel

  • 控制器(Controllers)需首字母大写,,并在名称中添加“Controller”,如:ItemController,CarController

  • 视图(Views)部署结构为“控制器名/行为名”,如:item/view.php,car/buy.php

重定向

将所有的数据请求都重定向 index.php 文件,在 myphp-frame 目录下新建一个 .htaccess 文件,文件内容为:

<IfModule mod_rewrite.c>

   RewriteEngine On

   # 确保请求路径不是一个文件名或目录

   RewriteCond %{REQUEST_FILENAME} !-f    RewriteCond %{REQUEST_FILENAME} !-d    # 重定向所有请求到 index.php?url=PATHNAME

   RewriteRule ^(.*)$ index.php?url=$1 [PT,L]</IfModule>

这样做的主要原因有:

  • 程序有一个单一的入口;

  • 除静态程序,其他所有程序都重定向到 index.php 上;

  • 可以用来生成利于SEO的URL,想要更好的配置URL,后期可能会需要URL路由,这里先不做介绍了。

.htaccess创建方法

按组合键windows+R 打开运行,然后输入命名CMD,然后在输入copy con .htaccess 回车 (不会看到变化),然后再按ctrl+Z键,再回车,然后就创建了

入口文件

在 myphp-frame目录下添加 index.php 文件,文件内容为:

<?php // 应用目录为当前目录define('APP_PATH', __DIR__.'/');// 开启调试模式define('APP_DEBUG', true);// 网站根URLdefine('APP_URL', 'http://localhost/myphp');// 加载框架require './myphp/MyPHP.php';

注意,上面的PHP代码中,并没有添加PHP结束符号”?>”,这么做的主要原因是,对于只有 PHP 代码的文件,结束标志(“?>”)最好不存在,PHP自身并不需要结束符号,不添加结束符号可以很大程度上防止末尾被添加额外的注入内容,让程序更加安全。

由于篇幅过长,在此不做赘述,请点击阅读原文,查看完整文章

代码技巧(daimajiqiao)

编程牛人

挨踢小子(LN-aitixiaozi

以上是关于PHP MVC开发框架学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

PHP笔记-自定义MVC框架

Struts 2 学习笔记

PHP 的 MVC 框架原理及常见框架学习

Spring MVC +Spring 框架学习总结-全网最好用的学习笔记

CI框架-学习笔记

原创Zend Framework 2框架之MVC