php auto_load mvc 接口框架(原创)

本文介绍了一个基于PHP的MVC框架的自动加载机制和初始化过程,详细展示了如何使用spl_autoload_register进行类的自动加载,以及如何通过请求参数动态调用控制器和方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

autoload.php

<?php
function framework_autoload($className){
    $className=str_replace('\\','/',$className);
    include_once($className.'.class'.'.php');
}
spl_autoload_register('framework_autoload');

 

init.php

<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/comm.php");

// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',true);
APP_DEBUG?error_reporting(E_ALL):error_reporting(0);

// 定义应用目录
define('APP_PATH',$_SERVER['DOCUMENT_ROOT'] . "/new_framework/");

//定义按照类名自动加载的include起始路径
$autoLoadIncludePath=array(APP_PATH);
set_include_path(get_include_path() . PATH_SEPARATOR .implode(PATH_SEPARATOR,$autoLoadIncludePath));

//php自动加载
require_once(APP_PATH."BLL/autoload.php");

//mvc 处理
$c=$_REQUEST['c'];
$controller='Controller\\'.$c.'Controller';
$action=$_REQUEST['a'];
if(!class_exists($controller)){
    $res['code']=1000;
    $res['msg']=$c.'控制器不存在!';
}else if(!method_exists($controller,$action)){
    $res['code']=1001;
    $res['msg']=$action.'方法不存在!';
}else{
    $controllerObj=new $controller();
    $res=$controllerObj->$action();
}
echo json_encode($res);

 

转载于:https://www.cnblogs.com/zhudongchang/p/4353715.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值