设为首页 加入收藏

TOP

php手撸轻量级开发(二)框架加载(二)
2019-08-23 00:39:57 】 浏览:54
Tags:php 轻量级 开发 框架 加载
; } exit(); }

不要看这个函数没有参数列表,其实它的参数可以是无限的。func_num_args这个方法就可以拿到调用它时传递的参数数组,然后把它打印在web中,随后中断程序。

6. 调用路由方法

\core\core::run();

这个方法先去调用route类,去获取到控制器和方法的名称,然后加载这个类。这里我定义了一个默认的初始化方法,意思是如果有一个名叫init的方法,不管是自己的方法还是继承过来的方法,都要先调用这个方法。这样做的好处是,之后的业务里可以对接口做统一或者单独的初始化或者拦截设置。
core::run()方法,看上边有整个core文件的代码。
调用的route类代码:

namespace core;

class route
{
    private static $in = null;

    private function __construct()
    {

    }

    public static function Factory()
    {
        if (!isset(self::$in)) {
            self::$in = new route();
        }
        return self::$in;
    }

    public function active()
    {
        $ctrl   = 'index';
        $action = 'index';
        if (isset($_SERVER[REQUEST_URI]) && $_SERVER[REQUEST_URI] != '/') {
            $path    = strtok($_SERVER['REQUEST_URI'], '?');
            $patharr = explode('/', trim($path, '/'));
            if (isset($patharr[0])) {
                $ctrl = $patharr[0];
            }
            if (isset($patharr[1])) {
                $action = $patharr[1];
            }
        }
        return array('ctrl'=>$ctrl,'action'=>$action);
    }
}  

所有代码

所有代码都在github上,框架部分在framework分支。

github地址: https://github.com/gaopu1995/hiphp.git

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Fpm启动机制及流程分析———详细 下一篇PHP程序员的技术成长规划 第二阶..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目