Если вы хотите загрузить свою собственную библиотеку, вы должны полагаться на пространства имен и создавать новый объект всякий раз, когда вы хотите использовать эту библиотеку. Также обязательно проверьте файл app/Config/Autoload.php
, чтобы ваш пользовательский lib был известен автозагрузчику.
Поскольку суперобъект codeigniter 3 был удален, вы не сможете получить к нему доступ везде, где захотите. Однако вы можете загрузить его в представление, контроллер и модель и сделать ваши представления, контроллеры и модели расширяющими его.
Например, библиотека с именем FooLib
в app/Librairies
будет иметь вид:
namespace App\Libraries;
class FooLib {
public function __construct() {
// your constructor
}
// ...
}
И если вы хотите вызвать его в контроллере:
namespace App\Controllers;
use App\Libraries\FooLib
use CodeIgniter\Controller;
class FooController extends Controller {
protected $lib;
public function __construct() {
$this->lib = new FooLib();
}
}
И обязательно добавьте его в автозагрузчик в app/Config/Autoload.php
, изменив переменную $psr4
, если ваша папка lib находится вне папки приложения.
$psr4 = [
'App' => APPPATH, // To ensure filters, etc still found,
APP_NAMESPACE => APPPATH, // For custom namespace
'Config' => APPPATH . 'Config',
'Libraries' => APPPATH . 'Libraries' // Your custom librairies
];