Codeigniter4で独自・外部ライブラリの作成と呼び出し方法
Codeigniter4で独自ライブラリを作成し、コントローラー側で呼び出したい。また、それとは別にdBug.php等の外部ライブラリを呼び出したい。以下に対応方法をメモ。
目次 [非表示]
対応方法
独自ライブラリ
/app/Libraries/MyCustomClass.php
<?php
namespace App\Libraries;
class MyCustomClass
{
public function sayHi()
{
return "Hello World!";
}
}
<?php
namespace App\Libraries;
class MyCustomClass
{
public function sayHi()
{
return "Hello World!";
}
}
<?php namespace App\Libraries; class MyCustomClass { public function sayHi() { return "Hello World!"; } }
/app/Controllers/Test_Controller.php
<?php
namespace App\Controllers;
use \App\Libraries\MyCustomClass;
class Test_Controller extends BaseController
{
public function index()
{
$mine = new MyCustomClass();
echo $mine->sayHi();
}
}
<?php
namespace App\Controllers;
use \App\Libraries\MyCustomClass;
class Test_Controller extends BaseController
{
public function index()
{
$mine = new MyCustomClass();
echo $mine->sayHi();
}
}
<?php namespace App\Controllers; use \App\Libraries\MyCustomClass; class Test_Controller extends BaseController { public function index() { $mine = new MyCustomClass(); echo $mine->sayHi(); } }
外部ライブラリ
ライブラリファイルのアップロード
/app/Librariesディレクトリにアップロードする。尚、Codeigniter4系のリファレンスは見つからなかったが3系のリファレンスに以下の命名規則が記載されていた。
- ファイル名の 1 文字目は大文字でなければなりません。たとえば: Myclass.php
- クラス宣言の 1 文字目は大文字でなければなりません。たとえば: class Myclass
- クラス名とファイル名が一致している必要があります。
4系でも同じ命名規則に沿っておいた方が良いと思われる。そのためdBug.phpの場合は以下のようにソースコードを書き換え、DBug.phpというファイル名でアップロードする。
namespace App\Libraries;
class DBug {
namespace App\Libraries;
class DBug {
namespace App\Libraries; class DBug {
/app/Controllers/Test_Controller.php
<?php
namespace App\Controllers;
use \App\Libraries\DBug;
class Test_Controller extends BaseController
{
public function index()
{
$data = array(1,2,3);
new DBug($data);
}
}
<?php
namespace App\Controllers;
use \App\Libraries\DBug;
class Test_Controller extends BaseController
{
public function index()
{
$data = array(1,2,3);
new DBug($data);
}
}
<?php namespace App\Controllers; use \App\Libraries\DBug; class Test_Controller extends BaseController { public function index() { $data = array(1,2,3); new DBug($data); } }
所感
バージョン4系だと独自ライブラリに関するリファレンスが見つからなかったため、動作確認は取れたもののこの方法が正しいのかは不明。
参考サイト
関連記事
-
-
Codeigniter3で異なるデータベースを使用する
Codeigniterで2つのコンテンツがあって、それぞれ別のデータベースを使用 ...
-
-
DTIのVPSにCodeigniter3を導入する方法
DTIのVPSにPHPフレームワークのCodeigniter3系をインストールし ...
-
-
Codeigniter4で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法
Codeigniter4.4.4でCSS及びJavaScriptファイルを設置し ...
-
-
Codeigniter3で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法
CodeigniterでCSSやJSファイル等の外部ファイル読み込みたかった。ま ...
-
-
CodeIgniter4でGET / POSTパラメータの受け取りとルーティング設定方法
CodeIgniter4.4.4でページを開いた際にGET / POSTパラメー ...