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

相关推荐
m0_715674438 分钟前
智能化+基于行标+场景化 政务数据库审计与风险监测全维度解决方案
网络·数据库·安全·网络安全·政务
天天喝旺仔31 分钟前
MySQL索引优化实战:B+Tree原理、索引失效与覆盖索引调优
数据库·sql·mysql·性能优化
其实防守也摸鱼43 分钟前
DeepSeek Harness 开源贡献手记:从入门到合入主线
服务器·数据库·windows·https·ssl
Omics Pro1 小时前
AI药物研发10原则!欧盟EMA×美国FDA
数据库·人工智能·算法·机器学习·自然语言处理
杨云龙UP1 小时前
DB2 HADR 主备切换实战:SQL1639N 认证问题、备库只读与双向 Takeover
linux·运维·数据库·db2·主备切换·角色互换
吠品1 小时前
Nginx负载均衡配置与线上故障排查的一些经验
java·开发语言·数据库
达梦数据1 小时前
达梦数据复制软件DMDRS搭建部署示例:源数据库DM8到目标数据库DM8双向数据同步
数据库
A-刘晨阳2 小时前
32 位 XID 的“狗皮膏药”被撕掉了:金仓 V9 的 64 位事务号实测与底层拆解
数据库
cspttty2 小时前
2026秋招数据审计岗能力栈:SQL、Excel、审计流程与数据治理
大数据·数据库