普段は改修案件が多く、フレームワークを1から構築する機会がほとんどありません。
そこで、軽量フレームワークとして有名なCodeigniter4を一度触ってみることにしました。
Laravelを使うことが多いので、
「どのくらい構造が違うのか」
「画面を出すまでの流れはどうなのか」
を確認する目的も含めて、簡単な動作確認をしていきます。
フォルダ構成
今回触ったのは、主に以下の2つだけです。
app/
├─ Controllers/
│ └─ TestController.php
└─ Views/
└─ test.php
シンプルでMBSの形が分かりやすい構成になっています。
開発環境の準備
こちらはcomposerがインストールされている前提で進めます。
まずは、Codeigniter4のプロジェクトフォルダを作成します。
composer create-project codeigniter4/appstarter learnCI
次に、依存関係のインストール
composer install
バージョン確認
php spark --version
正常にインストールされていれば、spark コマンドが実行できるようになります。
画面を表示してみる
1.ルーティング設定
codeigniterは「Config/Routes.php」の中にルーティングの設定をするらしいですね。
app/Config/Routes.phpの中に以下を追記します。
<?php
use CodeIgniter\Router\RouteCollection;
/**
* @var RouteCollection $routes
*/
$routes->get('/', 'Home::index');
$routes->get('/test', 'TestController::index');
//↑を追加
これで /test にアクセスしたときに index() が呼ばれるようになります。
2.コントローラの作成
次にコントローラの作成です。
codeigniterにはlaravelと似たようなコマンドがあるんですね。
php spark make:controller TestController
作成されたTestController.phpを編集します。
<?php
namespace App\Controllers;
use App\Controllers\BaseController;
use CodeIgniter\HTTP\ResponseInterface;
class TestController extends BaseController
{
public function index()
{
return view('test');//←これを「test」に修正
}
}
3.Viewファイルを作成
app/Views/test.phpを作成します。
もともとwelcome_message.phpがあると思うのでそれを複製し、中身を必要最小限にします。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Welcome to CodeIgniter 4!</title>
<meta name="description" content="The small framework with powerful features">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" type="image/png" href="/favicon.ico">
</head>
<body>
<h1>test</h1>
</body>
</html>
4.画面を確認する
ローカルサーバーを起動します。
php spark serve
ブラウザで以下にアクセス
http://localhost:8080/test
設定どおりの画面が表示されれば成功です!
ここまでで触った感想
フォルダ構成がちょっとだけ違うだけでlaravelとあんまり変わらないですね。
これからCRUDアプリを作っていくと違いを実感できるようになるかな?
まとめ
今回は、CodeIgniter 4 で最初の画面を表示するところまでをまとめました。
- ルーティングを追加する
- コントローラを作る
- View を作成する
この3ステップで画面を表示できるので、
初心者でも取り組みやすいフレームワークだと感じました。
次回は、実際に CRUD 機能を作ってみる編 をまとめる予定です!
