WEB TECKS - WEBサイト構築知識いろいろ

[PHP]CodeIgniter4で$baseURLを動的に変更設定

更新日:2024-02-26 16:56:39 登録日:2024-02-26 16:55:55

 CodeIgniter4でWEBサイトを運営している場合、一つのCodeIgniterのシステムで、複数のドメインの運用をしたい場合があると思います。
 CodeIgniter4では、「/app/Config/App.php」で設定されている[$baseURL]という変数に、WEBサイトの基本アドレスを設定するようになっています。[$baseURL]はCodeIgniter4で提供されているページネーション等のライブラリ利用時に、自動的にリンク先アドレスを生成するために使用されています。
 複数ドメインで運用する場合は、それぞれアクセスされて来たドメインのアドレスで、それらリンクアドレスも生成したいところです。
 そのような場合、動的に$baseURLを変更する方法を記述します。

「/app/Config/App.php」の修正

 「/app/Config/App.php」のAppクラス内に以下の内容のコンストラクタを追記します。

public function __construct()
{
// 親コンストラクタ呼び
parent::__construct();

// SSLからのアクセス判断
$s=isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 's' : '';

// 生成アドレスを$baseURL変数にセット
$this->baseURL = "http{$s}://{$_SERVER["HTTP_HOST"]}/";
}

CodeIgniterとは

 CodeIgniterは、PHPで開発されたオープンソースのウェブアプリケーションフレームワークです。MVC(Model-View-Controller)アーキテクチャを採用しており、ウェブアプリケーションの開発を迅速かつ効率的に行うための機能やツールを提供します。

 CodeIgniterの主な特徴は以下のとおりです。

1.軽量で高速: CodeIgniterは軽量で、学習しやすい作りになっています。実行速度が速く、リソース消費が少ないため、小規模から中規模のプロジェクトに適しています。

2.豊富なライブラリ: CodeIgniterには、データベース、フォーム検証、イメージ操作などの多くの便利なライブラリが含まれており、これらを利用することで開発作業を効率化することができます。

3.拡張性と柔軟性: CodeIgniterはモジュール性が高く、必要に応じて機能を追加したり、既存の機能をカスタマイズしたりすることが容易です。

4.優れたドキュメント: CodeIgniterには豊富なドキュメントがあり、初心者から上級者まで幅広いユーザーに対応しています。また、アクティブなコミュニティが存在し、サポートや情報交換が行われています。

5.セキュリティ: CodeIgniterはセキュリティを重視しており、CSRF(Cross-Site Request Forgery)対策やXSS(Cross-Site Scripting)対策などのセキュリティ機能が組み込まれています。

 CodeIgniterは、小規模なWebアプリケーションから大規模なプロジェクトまで幅広く利用されており、シンプルでありながらパワフルなフレームワークとして広く評価されています。