Ryongyon!

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

· 杂乱无章 · · 2041次浏览

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 源码讲解

评论 (20条)
  1. affelaync

    http://buyzithromaxinf.com/ - zithromax for uti dosage

    回复
  2. ODONTENCY

    https://buylasixshop.com/ - Lasix

    回复
  3. Viagra Kaufen Apotheke Rezeptfrei

    回复
  4. cialis cyalis

    回复
  5. immisyday

    buy zithromax for chlamydia

    回复
  6. chellobre

    can you buy priligy

    回复
  7. vokAlmowl

    Plaquenil

    回复
  8. comments about generic cialis

    回复
  9. Bundeby

    http://buystromectolon.com/ - Stromectol

    回复
  10. Venangefs

    http://buytadalafshop.com/ - cheap cialis online

    回复