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渲染最终结果并呈献给用户。
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开发框架学习笔记的主要内容,如果未能解决你的问题,请参考以下文章