搜索
首页后端开发php教程mvc框架 php打造属于自己的MVC框架

一、文件结构
建立3个文件夹
controller文件夹存放控制器文件
view文件夹存放视图文件
model文件夹存放数据文件
建立1个index.php 作为唯一入口
二、控制器
我们在controller文件夹下建立一个democontroller.php文件,文件内容如下

复制代码 代码如下:


class DemoController
{
function index()
{
echo('hello world');
}
}
/* End of file democontroller.php */


这个文件里面我们只是建立了一个名为DemoController的对象并包含一个index的方法,该方法输出hello world。下面在index.php中执行DemoController中index方法。
index.php的代码如下

复制代码 代码如下:


require('controller/democontroller.php');
$c DemoController();
$controller->index();
/* End of file index.php */


运行index.php,ok如愿我们看到了我们久违的hello world。这两个文件非常简单,但也揭示了一点点mvc的本质,通过唯一入口运行我们要运行的控制器。当然controller部分应该是由uri来决定的,那么我们来改写一下index.php使他能通过uri来决定运行那个controller。
index.php改写代码如下:

复制代码 代码如下:


$c_str=$_GET['c'];
//获取要运行的controller
$c_name=$c_str.'Controller';
//按照约定url中获取的controller名字不包含Controller,此处补齐。
$c_path='controller/'.$c_name.'.php';
//按照约定controller文件要建立在controller文件夹下,类名要与文件名相同,且文件名要全部小写。
$method=$_GET['a'];
//获取要运行的action
require($c_path);
//加载controller文件
$c $c_name;
//实例化controller文件
$controller->$method();
//运行该实例下的action
/* End of file index.php */


在浏览器中输入http://localhost/index.php?c=demo&a=index,得到了我们的hello world。当然如果我们有其他的controller并且要运行它,只要修改url参数中的c和a的值就可以了。
这里有几个问题要说明一下。
一、php是动态语言,我们直接可以通过字符串new出我们想要的对象和运行我们想要的方法,即上面的new $c_name,我们可以理解成new 'DemoController',因为$c_name本身的值就是'DemoController',当然直接new 'DemoController'这么写是不行的,其中的'DemoController'字符串必须通过一个变量来中转一下。方法也是一样的。
二、我们在url中c的值是demo,也就是说$c_name 的值应该是demoController呀,php不是区分大小写吗,这样也能运行吗?php区分大小写这句话不完整,在php中只有变量(前面带$的)和常量(define定义的)是区分大小写的,而类名方,法名甚至一些关键字都是不区分大小写的。而true,false,null等只能全部大写或全部小写。当然我们最好在实际编码过程中区分大小写。
三、视图
我们在前面的controller中只是输出了一个“hello world”,并没有达到mvc的效果,下面我将在此基础上增加视图功能,相信到这里大家基本已经能想到如何添加视图功能了。对,就是通过万恶的require或者include来实现。
首先我们在view文件夹下建立一个index.php,随便写点什么(呵呵,我写的还是hello world)。之后我们改写一下我们之前的DemoController。代码如下:

复制代码 代码如下:


class DemoController
{
function index()
{
require('view/index.php');
}
}
/* End of file democontroller.php */


再在浏览器中运行一下,看看是不是已经输出了我们想要的内容了。
接着我们通过controller向view传递一些数据看看,代码如下:

复制代码 代码如下:


class DemoController
{
function index()
{
$data['title']='First Title';
$data['list']=array('A','B','C','D');
require('view/index.php');
}
}
/* End of file democontroller.php */


view文件夹下index.php文件代码如下:

复制代码 代码如下:




demo



foreach ($data['list'] as $item)
{
echo $item.'
';
}
?>


以上就介绍了mvc框架 php打造属于自己的MVC框架,包括了mvc框架方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
php的mvc框架有哪些php的mvc框架有哪些Jul 24, 2023 am 10:52 AM

php的mvc框架有:1、Laravel,具有简单、优雅和可扩展的语法,提供了丰富的功能和强大的开发工具;2、Symfony,以灵活性和可扩展性而闻名,提供了许多组件和工具;3、CodeIgniter,简单而快速的MVC框架,拥有清晰简洁的代码和轻量级的体量,适用于快速开发小型和中型的Web应用程序;4、Yii,高性能的MVC框架,注重安全性和可扩展性等等。

PHP中的MVC框架有哪些?PHP中的MVC框架有哪些?May 12, 2023 pm 09:40 PM

随着互联网技术的发展,MVC框架成为了Web开发中最受欢迎的一种思想和模式。其中,PHP语言作为一种Web开发语言,也有着丰富的MVC框架。本篇文章将介绍一些常用的PHPMVC框架。一、LaravelLaravel是目前PHP中最受欢迎的MVC框架之一,也是一个开放源代码的PHPWeb框架,由TaylorOtwell创建。Laravel采用了现代的PH

php开源mvc框架有哪些php开源mvc框架有哪些Aug 23, 2023 pm 01:26 PM

php开源mvc框架有Laravel、Symfony、CodeIgniter、Yii和Phalcon等。详细介绍:1、Laravel是一个流行的PHP框架,它提供了简洁优雅的语法和丰富的功能,它具有强大的路由系统、数据库抽象层、队列处理、缓存管理和认证功能等,Laravel还提供了一个活跃的社区和广泛的文档资源,使得学习和使用变得更加容易;2、Symfony等等。

php mvc有哪些php mvc有哪些Aug 01, 2023 pm 05:29 PM

php mvc有Laravel、Symfony、CodeIgniter和Yii。1、Laravel,提供了丰富的功能和工具,用于快速开发高效的Web应用程序;2、Symfony,提供可复用的组件和模块;3、CodeIgniter,提供简单而强大的开发工具和功能;4、Yii,提供了丰富的功能和灵活的扩展性。

Go语言的MVC框架开发详解Go语言的MVC框架开发详解Jun 03, 2023 am 10:02 AM

随着互联网技术的发展和全球化的趋势,越来越多的开发者选择使用Go语言进行开发,而MVC框架是一种被广泛应用的Web框架。本文将详细介绍Go语言中MVC框架的开发,旨在帮助开发者更好地理解和运用MVC框架。一、MVC框架简介MVC(Model-View-Controller)是一种软件开发中的架构模式,它将一个应用程序分为三个核心部分:模型(Model)、视图

php有哪些mvc框架php有哪些mvc框架Aug 02, 2023 pm 01:31 PM

php的mvc框架有:1、Laravel,功能强大的MVC框架,有活跃的社区,提供大量的文档和教程;2、Symfony,稳定强大的MVC框架,提供了高度可定制的组件和Bundle的概念;3、CodeIgniter,简单灵活的MVC框架,具有小巧的体积和快速的执行速度;4、Yii,高性能的MVC框架,提供丰富的特性;5、Phalcon,高性能的MVC框架;6、CakePHP等等。

php中mvc框架有哪些php中mvc框架有哪些Aug 23, 2023 am 11:25 AM

php中mvc框架有Laravel、Symfony、CodeIgniter、Yii、Phalcon、CakePHP和Zend Framework等。详细介绍:1、Laravel是目前最受欢迎的PHP框架之一,提供了很多有用的功能和工具,如路由、ORM、数据库迁移、模板引擎等,Laravel具有简洁的语法和优雅的设计,使得开发人员可以快速构建高性能的Web应用程序等等。

PHP7.0中的MVC框架有哪些?PHP7.0中的MVC框架有哪些?May 27, 2023 pm 04:51 PM

PHP7.0中的MVC框架有哪些?随着互联网应用的高速发展,越来越多的网站和企业应用选择了采用PHP编程语言开发,而MVC(Model-View-Controller)架构已成为PHP开发中常用的架构模式。MVC的基本思想是将应用程序分为三个模块:模型(Model)、视图(View)和控制器(Controller),提高程序的可维护性和可扩展性。在PHP7.

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器