PHP自己的框架2.0版本目录结构和命名空间自动加载类(重构篇一)

目录

1、目录结构演示效果

2、搭建目录结构,以及入口public->index.php

3、引入core下面core->base.php

4、自动加载实现core->fm->autoload.php

5、框架运行文件core->fm->core.php

6、最终运行index.php结果


1、目录结构演示效果

2、搭建目录结构,以及入口public->index.php

php 复制代码
<?php
namespace fm;
// 加载基础文件
require __DIR__ . '/../core/base.php';
core::run();

3、引入core下面core->base.php

php 复制代码
<?php
namespace fm;
require __DIR__.'/fm/autoload.php';

autoload::register();

4、自动加载实现core->fm->autoload.php

php 复制代码
<?php
namespace fm;
class autoload{
    public static  function register(){
        spl_autoload_register(array(__CLASS__,'_autoload'));
    }
    public static function _autoload($className){
        $path=dirname(dirname(str_replace('\\','//',__FILE__)));
        $file=$path.'/'.$className.'.php';
        if(is_file($file))  include $file;
    }

}

5、框架运行文件core->fm->core.php

php 复制代码
<?php
namespace fm;
class core{
    public static function run(){
      echo '框架运行中';
    }

}

6、最终运行index.php结果

localhost/frame/public/index.php

相关推荐
dishugj6 小时前
oracle日志切换三条命令区别
数据库
Patrick在香港6 小时前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
悟道书生6 小时前
(一)Navicate为什么转存结构和数据只转存表而不包含建库?
数据库·oracle
guoran_shini6 小时前
AI开发与AI重构
重构·spec·持续迭代
隔窗听雨眠7 小时前
从近端策略优化到群组相对策略优化:DeepSeek大模型强化学习训练范式重构
重构
赤龙ERP7 小时前
ERP周报:连接器开闸、国产GPU进场与智能工厂253家
数据库·人工智能·大模型·rpa·erp·企业数字化·builderpattern
lusklusklusk7 小时前
SQL Server补丁版本号为什么“日期新反而版本低”?——GDR、CU、CU+GDR 版本号规则与升级路径详解
数据库
李纲明7 小时前
WordPress 媒体库上传图片失败:先核 PHP 体积与目录权限,再查安全插件与对象存储
php·上传·wordpress·媒体库·devdiy
海域云SeaArea_7 小时前
Windows Server 2008 R2 从零安装 IIS7.5(二):php.ini 配置
开发语言·windows·php
key_3_feng7 小时前
评估与对齐:Agent 自我进化的护栏
前端·数据库·agent