从外部类调用函数到codeigniter库

时间:2019-06-01 15:15:46

标签: php codeigniter

我有一个要在codeigniter库类中调用的外部类

Loader.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;

        }
    }
}

并在我的代码初始化库中

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([]);
    }
}

但是它把我扔了

  

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

     

消息:调用成员函数load()为空

有什么帮助,有想法吗?

1 个答案:

答案 0 :(得分:2)

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

$loader = new \PDLoader\Loader;