使用Composer从零开发一个简单的web框架(07)-自动加载
admin
2024-04-02 17:21
短信预约 PHP-IT技能 免费直播动态提醒
框架目前提供了两个地方让用户编写代码,一个是public/index.php
,一个是控制器。当我们要为所有应用加载共同的配置和为某个应用加载单独的配置,现在是行不通或者比较麻烦的,所以框架需要提供自动加载文件的处理
自动加载
编辑core/App.php
,start
方法添加自动加载文件相关代码
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()
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341