使用Composer从零开发一个简单的web框架(07)-自动加载

框架目前提供了两个地方让用户编写代码,一个是public/index.php,一个是控制器。当我们要为所有应用加载共同的配置和为某个应用加载单独的配置,现在是行不通或者比较麻烦的,所以框架需要提供自动加载文件的处理

自动加载

编辑core/App.phpstart方法添加自动加载文件相关代码

define('APP',       $app);
define('CONTROLLER',$controller);

// 自动加载全局文件
$autoloadFile = PATH_APP . 'autoload.php';
if (file_exists($autoloadFile)) {
    require_once $autoloadFile;
}
// 自动加载应用文件
$appAutoloadFile = PATH_APP . $app . '/autoload.php';
if (file_exists($appAutoloadFile)) {
    require_once $appAutoloadFile;
}

// 模板目录
defined('PATH_VIEW') or define('PATH_VIEW', PATH_APP . $app . '/view/');

主要逻辑是存在app/autoload.php文件自动加载,存在 app/应用/autoload.php 文件自动加载

测试

新建app/autoload.php,内容如下

<?php
echo '自动加载了 app/autoload.php<br />';

新建app/home/autoload.php,内容如下

<?php
echo '自动加载了 app/home/autoload.php<br />';

浏览器访问 phpweb.com/home/hello/world ,输出

自动加载了 app/autoload.php
自动加载了 app/home/autoload.php
Hello.world()
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!