PHP从零开始打造自己的MVC框架之入口文件实现方法详解


Posted in PHP onJune 03, 2019

本文实例讲述了PHP从零开始打造自己的MVC框架之入口文件实现方法。分享给大家供大家参考,具体如下:

首先来了解一下框架的运行流程:

入口文件 -> 定义常量 -> 引入函数库 -> 自动加载类 -> 启动框架 -> 路由解析 -> 加载控制器 -> 返回结果

PHP从零开始打造自己的MVC框架之入口文件实现方法详解

入口文件index.php:

<?php
/*
入口文件
1.定义常量
2.加载函数库
3.启动框架
*/
// 定义当前框架所在的根目录
define('IMOOC', __DIR__);
// 定义框架核心文件所在的目录
define('CORE', IMOOC.'/core');
// 项目文件所在目录
define('APP', IMOOC.'/app');
// 定义项目调试模式
define('DEBUG', true);
// 判断项目是否处于调试状态
if (DEBUG) {
  // 设置报错级别:显示所有错误
  ini_set('display_error', 'On');
}else{
  ini_set('display_error','Off');
}
// 加载函数库
include CORE.'/common/function.php';
// 加载框架核心文件
include CORE.'/imooc.php';
\core\Imooc::run();

框架核心目录里的公共函数function.php:

<?php
/*
输出对应的变量或者数组
*/
function p($var){
  if(is_bool($var)){
    var_dump($var);
  }elseif (is_null($var)) {
    var_dump(NULL);
  }else{
    echo '<pre style="position:relative;z-index:1000;padding:10px;border-radius:5px;background:#f5f5f5;border:1px solid #aaa;font-size:14px;line-height:18px;opacity:0.9;">'.print_r($var,true).'</pre>';
  }
}

框架核心文件imooc.php:

<?php
namespace core;
class Imooc
{
  static public function run()
  {
    p('ok');
  }
}

运行项目,访问入口文件index.php,浏览器如期输出一个:ok

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
基于qmail的完整WEBMAIL解决方案安装详解
Oct 09 PHP
一个用php3编写的简单计数器
Oct 09 PHP
php面向对象全攻略 (九)访问类型
Sep 30 PHP
国外比较好的几个的Php开源建站平台小结
Apr 22 PHP
关于php curl获取301或302转向的网址问题的解决方法
Jun 02 PHP
php操作memcache缓存方法分享
Jun 03 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 PHP
PHP设置头信息及取得返回头信息的方法
Jan 25 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
Jul 09 PHP
php实现URL加密解密的方法
Nov 17 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
Apr 02 PHP
thinkphp5使html5实现动态跳转的例子
Oct 16 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 #PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
May 31 #PHP
PHP使用ActiveMQ实现消息队列的方法详解
May 31 #PHP
php中的buffer缓冲区用法分析
May 31 #PHP
PHP实现基于状态的责任链审批模式详解
May 31 #PHP
Laravel框架实现调用百度翻译API功能示例
May 30 #PHP
Laravel框架学习笔记之批量更新数据功能
May 30 #PHP
You might like
php邮件发送,php发送邮件的类
2011/03/24 PHP
php安装dblib扩展,连接mssql的具体步骤
2017/03/02 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
php生成word并下载代码实例
2019/03/15 PHP
swoole锁的机制代码实例讲解
2021/03/04 PHP
数理公式,也可以这么唯美
2021/03/10 无线电
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
2013/09/16 Javascript
js获得页面的高度和宽度的方法
2014/02/23 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
JS仿淘宝实现的简单滑动门效果代码
2015/10/14 Javascript
微信小程序 自定义Toast实例代码
2017/06/12 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
python 随机数生成的代码的详细分析
2011/05/15 Python
详解C++编程中一元运算符的重载
2016/01/19 Python
numpy数组广播的机制
2019/07/12 Python
使用Fabric自动化部署Django项目的实现
2019/09/27 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
Python模块future用法原理详解
2020/01/20 Python
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
Auchan Direct波兰:欧尚在线杂货店
2016/10/19 全球购物
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
经贸日语专业自荐信
2014/09/02 职场文书
学校食堂标语
2014/10/06 职场文书
教师个人工作总结范文2014
2014/11/10 职场文书
2014公司年终工作总结
2014/12/19 职场文书
师德师风事迹材料
2014/12/20 职场文书
胡桃夹子观后感
2015/06/11 职场文书
SQL SERVER存储过程用法详解
2022/02/24 SQL Server