首页 > 解决方案 > 从外部类调用一个函数到codeigniter库

问题描述

我有这个外部类,我试图在 codeigniter 库类中调用

加载器.php

<?php

namespace PDLoader;

class Loader{

    public function load($comp=false){

        if( $comp ){

            $comp = ucfirst($comp);

            if( !file_exists(__DIR__.'/modules/'.$comp.'/'.$comp.'.php') ){
                print_r('Component '.$comp.' not found.');
                return;
            }

            require_once(__DIR__.'/modules/'.$comp.'/'.$comp.'.php');

            $module = __NAMESPACE__ . '\\' .$comp;

            return new $module;

        }
    }
}

在我的 codeigniter 库中

defined('BASEPATH') OR exit('No direct script access allowed');

require_once(__DIR__.'/../../../Loader/Loader.php');

$loader = new Loader;

class Loader{

    public function loadModule(){

        global $loader;

        $loader->load('basicwebsite')->appheader([]);
    }
}

然而它把我扔到了这个

遇到未捕获的异常类型:错误

消息:在 null 上调用成员函数 load()

我该如何解决这个问题?

标签: phpcodeigniter

解决方案


创建加载程序时需要指定命名空间:

$loader = new \PDLoader\Loader;

推荐阅读