勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

Codeigniter4で独自・外部ライブラリの作成と呼び出し方法

  PHP CodeIgniter

Codeigniter4で独自ライブラリを作成し、コントローラー側で呼び出したい。また、それとは別にdBug.php等の外部ライブラリを呼び出したい。以下に対応方法をメモ。

 

対応方法

独自ライブラリ

/app/Libraries/MyCustomClass.php

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

}

外部ライブラリ

ライブラリファイルのアップロード

/app/Librariesディレクトリにアップロードする。尚、Codeigniter4系のリファレンスは見つからなかったが3系のリファレンスに以下の命名規則が記載されていた。

  • ファイル名の 1 文字目は大文字でなければなりません。たとえば: Myclass.php
  • クラス宣言の 1 文字目は大文字でなければなりません。たとえば: class Myclass
  • クラス名とファイル名が一致している必要があります。

4系でも同じ命名規則に沿っておいた方が良いと思われる。そのためdBug.phpの場合は以下のようにソースコードを書き換え、DBug.phpというファイル名でアップロードする。

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); 
    }

}

 

所感

バージョン4系だと独自ライブラリに関するリファレンスが見つからなかったため、動作確認は取れたもののこの方法が正しいのかは不明。

 

参考サイト

https://forum.codeigniter.com/thread-75969.html

 - PHP CodeIgniter

  関連記事

CodeIgniter4で祝日一覧APIにCURLでリクエストし結果をファイルキャッシュする方法

Codeigniter4.4.4で祝日一覧APIにCURLでリクエストしたい。尚 ...

CodeIgniter4&Bootstrap&jQueryで簡易版お問い合わせページの作成

CodeIgniter4.4.4&Bootstrap&jQuer ...

CodeIgniter3でファイルキャッシュする方法

CodeIgniterでファイルキャッシュが楽に導入できた。そこそこ使いそうなの ...

CodeIgniter4でGET / POSTパラメータの受け取りとルーティング設定方法

CodeIgniter4.4.4でページを開いた際にGET / POSTパラメー ...

Codeigniter3で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法

CodeigniterでCSSやJSファイル等の外部ファイル読み込みたかった。ま ...