ThinkPHP的架构: 是 核心 + 行为 + 驱动bai,TP官方简称为:CBD
核心(Core):就是du框zhi架的核心代码,不可缺少的东西,TP本身是dao基于MVC思想开发的框架。
行为(Behavior) :行为在新版ThinkPHP的架构里面起着举足轻重的作用,在系统核心之上,设置了很多标签扩展位,而每个标签位置可以依次执行各自的独立行为。行为扩展就因此而诞生了,而且很多系统功能也是通过内置的行为扩展完成的,所有行为扩展都是可替换和增加的,由此形成了底层框架可组装的基础。
驱动( Driver ):数据库驱动、缓存驱动、标签库驱动和模板引擎驱动,以及外置的类扩展。
thinkphp5框架实现原理一 框架启动(简易版)
一、入口文件 index.php
<?php
define('DS', DIRECTORY_SEPARATOR);
// 定义应用目录
define('APP_PATH', __DIR__ . '/app/');
// 定义根目录
defined('ROOT_PATH') or define('ROOT_PATH', __DIR__ . DS);
// 加载框架引导文件
require __DIR__ . '/core/start.php';
二、框架引导文件 core目录下start.php
<?php
namespace core;
// 1. 加载基础文件
require __DIR__ . '/base.php';
//框架启动
App::run()->send();
三、基础文件 core目录下的base.php
<?php
//定义核心目录
define('CORE_PATH', ROOT_PATH . 'core' . DS);
define('EXT', '.php');
// 环境常量
define('IS_CLI', PHP_SAPI == 'cli' ? true : false);
define('IS_WIN', strpos(PHP_OS, 'WIN') !== false);
//载入加载类
include_once CORE_PATH . 'Loader.php';
\core\Loader::register();
// 加载惯例配置文件
\core\Config::set(include CORE_PATH . 'convention' . EXT);
系统常量:
网站根目录地址 __ROOT__ 路径为根目录 /
当前路径下 __URL__
公共区: __PUBLIC__ 路径为 /Public/
当前应用入口 __APP__
更多精彩文章请访问:百考汇