Ryongyon!

这世界上假绅士太多,缺少训练有素的流氓

· 杂乱无章 · · 5399次浏览

TinyPHP 源码讲解(1):入口文件

前言

本文会更详细的讲解 TinyPHP 源码

首先我们先了解一下整个框架的运行流程:

  1. 入口文件
  2. 定义常量
  3. 自动加载
  4. 自定义错误处理
  5. 自定义异常处理
  6. 检测是否需要安装
  7. 路由解析
  8. 加载控制器
  9. 渲染结果

入口文件

接下来我们一步步看,首先是入口文件 index.php

<?php
/*********************
        入口文件
**********************/

// 载入配置
require_once('config.inc.php');

// 载入框架
require_once(CORE_PATH . 'App.php');

// 初始化
(new App())->init();

入口文件只做了3件事,首先是载入配置文件 config.inc.php

<?php
/*********************
        配置文件
**********************/

// 调试模式
define('APP_DEBUG', true);

// 伪静态
define('URL_REWRITE', false);

// 路径配置
define('APP_PATH'        , __DIR__   . '/');            // 主目录
define('PAGES_PATH'      , APP_PATH  . 'pages/');       // 视图目录
define('CORE_PATH'       , APP_PATH  . 'core/');        // 核心目录
define('CONTROLLERS_PATH', CORE_PATH . 'controllers/'); // 控制器目录
define('MODELS_PATH'     , CORE_PATH . 'models/');      // 模型目录

// 数据库配置
define('DB_HOST'   , '%1%');
define('DB_PORT'   , '%2%');
define('DB_USER'   , '%3%');
define('DB_PASS'   , '%4%');
define('DB_NAME'   , '%5%');
define('DB_PREFIX' , '%6%');
define('DB_CHARSET', '%7%');

配置文件定义了一些供框架用到的 常量 ,很好理解,可能有细心的朋友会注意到为什么数据库配置的值是 %1% 呢?这个主要用于 安装程序 去查找字符串替换,后面会说到...

我们在回来看入口文件做的第二件事:载入框架
这个很好理解,就是载入 core/App.php 文件,这个文件是框架核心,什么自动加载啦,自定义错误处理啦,自定义异常处理啦,路由啦,都在这里面。源码较长就不贴出来了,自行查阅。

第三件事就是实例化框架核心文件并执行init方法

自此,入口文件的任务就结束啦。

TinyPHP 源码讲解

评论 (0条)