简单的mvc框架(一)

一个基本的框架核心就是 ,自动加载,路由功能;
当输入url时候,能解析到指定的控制器的方法,需要路由,并且需要自动加载功能;
大致的目录结构如下

-strongFramework
——-app
———————–controllers
———————–models
———————–views
———————–strongFrame //框架核心类库
——-conf
———————–conf.ini //配置文件
——-index.php //入口文件

首先写个自动加载类吧,拷贝到strongFrame目录下

define(‘app_path’,dirname(__FILE__));
final class Autoload
{
    private static $instance;

    public static function getInstance()
    {
        if (!self::$instance) {
            self::$instance = new self();
        }
        return self::$instance;
    }

    public function __construct()
    {
        spl_autoload_register(array($this, 'load'));
    }


    private function load($class)
    {
        $frameCore_path = app_path . '/app/strongFrame/' . $class . '.class.php';//框架核心类
        $controller_name = str_replace('Controller', '', $class);//控制器类名是 aController
        $controller_path = app_path . '/app/controllers/' . $controller_name . '.controller.php';//框架核心类

        $model_name = str_replace('Model', '', $class);//数据模型类名称 aModel
        $model_path = app_path . '/app/models/' . $model_name . '.model.php';

        $view_path = app_path . '/app/views/' . $class;// 视图

        $lib_path = app_path . '/app/lib/' . $class;

        if (file_exists($frameCore_path)) {
            require_once($frameCore_path);
        } elseif (file_exists($controller_path)) {
            require_once($controller_path);
        } elseif (file_exists($model_path)) {
            require_once($model_path);
        } elseif (file_exists($view_path)) {
            require_once($view_path);
        } elseif (file_exists($lib_path)) {
            require_once($lib_path);
        } else {
            die($frameCore_path . ' not found');
        }
    }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值