CodeIgniter 4でSparkコマンドを使いこなす!初心者向けCLI・バッチ処理の準備ガイド
生徒
「CodeIgniter(コードイグナイター)で『Spark(スパーク)』という言葉をよく聞くのですが、これは何のことですか?」
先生
「Sparkは、CodeIgniter 4に標準で備わっている『コマンドラインツール』のことですよ。マウスでカチカチ操作するのではなく、黒い画面に文字を打ち込んで指示を出すための魔法の杖のようなものです。」
生徒
「バッチ処理や自動化に便利だと聞いたのですが、パソコンが苦手な私でも準備できますか?」
先生
「もちろんです!まずはSparkを使うための土台作りから、一つずつ丁寧に解説していきますね。」
1. Spark(スパーク)とCLIの基本を知ろう
プログラミングの世界には、**CLI(シーエルアイ)**という言葉があります。これは「Command Line Interface」の略で、キーボードから文字を打ち込んでコンピューターに命令を出す仕組みのことです。皆さんが普段使っているマウス操作(GUI:グラフィカル・ユーザー・インターフェース)とは対照的な操作方法ですね。
PHPの人気フレームワークである**CodeIgniter 4(コードイグナイター4)**には、このCLI操作を簡単にしてくれる**spark**という専用ファイルが含まれています。これを使うことで、データベースのテーブルを自動で作ったり、独自のバッチ処理(決まった時間に自動で動くプログラム)を作成したりできるようになります。パソコンを触り始めたばかりの方には「黒い画面」は怖く見えるかもしれませんが、一度覚えてしまえば非常に強力な武器になります。
2. Sparkコマンドを動かすための環境確認
Sparkを使う前に、あなたのパソコンでPHPが動く状態になっているかを確認する必要があります。SparkはPHPで作られたプログラムなので、PHPがインストールされていないと動きません。まずは、Windowsなら「コマンドプロンプト」や「PowerShell」、Macなら「ターミナル」というアプリを開いてみましょう。これが、コンピューターと直接会話するための窓口になります。
窓口を開いたら、下記の命令を打ち込んでEnterキーを押してみてください。これは「PHPさん、あなたのバージョンを教えてください」というお願いです。
php -v
実行結果として「PHP 8.1.x」などの数字が表示されれば準備完了です。もし「認識されていません」といったエラーが出る場合は、PHPのインストールや「パスを通す」という設定が必要になります。パスを通すとは、パソコンのどこからでもPHPを呼び出せるように、住所を登録しておく作業のことです。
3. CodeIgniter 4のプロジェクトへ移動する
Sparkコマンドは、CodeIgniterのファイルが入っている特別なフォルダの中でしか使えません。家の外から家のテレビを操作できないのと同じで、まずは「CodeIgniterという家」の中に入る必要があります。これにはcd(シーディー)というコマンドを使います。これは「Change Directory(フォルダを移動する)」という意味です。
例えば、デスクトップにある「my-project」というフォルダの中にCodeIgniterをインストールした場合は、以下のように入力します。フォルダの場所を指定するときは、フォルダを黒い画面にドラッグ&ドロップすると自動で入力されるので便利ですよ。
cd Desktop/my-project
移動ができたら、そこにsparkというファイルがあるか確認しましょう。このファイルが、これから使う全てのコマンドの入り口になります。
4. 初めてのSparkコマンド実行
準備ができたら、実際にSparkを動かしてみましょう。最も基本的で、今の自分に何ができるかを確認するコマンドがあります。それがlistコマンドです。以下のコードを入力して実行してみてください。PHPという親玉を呼び出してから、sparkというファイルにlistという命令を伝えます。
php spark list
これを実行すると、画面に色鮮やかな文字で、使える命令の一覧がズラリと表示されます。これが表示されれば、あなたのパソコンでSparkを使うための準備は完璧に整っています。バッチ処理やデータベース管理など、たくさんの機能が眠っているのが分かりますね。実行結果は以下のようになります。
CodeIgniter v4.x.x Command Line Tool - Server Time: 2026-01-08 12:00:00
Usage:
command [options] [arguments]
Options:
-h, --help Display help usage
-q, --quiet Do not output any message
Available commands:
make:controller Creates a new controller file.
make:model Creates a new model file.
migrate Runs all new migrations.
...
5. 独自のコマンド(バッチ処理)を作成する準備
Sparkの魅力は、自分専用の命令を作れることです。例えば「毎日深夜に古いデータを削除する」といった処理を作りたい場合、自分でコマンドを定義します。手作業でファイルを作るのは大変ですが、ここでもSparkが助けてくれます。make:commandという命令を使ってみましょう。
今回は、挨拶を表示するだけのシンプルな練習用コマンド「HelloCommand」を作ってみる例を紹介します。以下のコードを打ち込んでください。
php spark make:command HelloCommand
これを実行すると、app/Commandsというフォルダの中に、自動で新しいPHPファイルが作成されます。プログラミング未経験の方にとって、一から文字を打つのは大変ですが、Sparkが「ひな形(テンプレート)」を作ってくれるので、私たちは中身を書くだけで済むのです。
6. 作成されたコマンドの中身を確認する
自動で作られたファイルの中身を少しだけ覗いてみましょう。ファイルを開くと、runという名前の場所(関数)があります。ここが、コマンドを実行したときに「実際に動く部分」になります。例えば、画面に「こんにちは!」と表示させたい場合は、以下のように書き換えます。
namespace App\Commands;
use CodeIgniter\CLI\BaseCommand;
use CodeIgniter\CLI\CLI;
class HelloCommand extends BaseCommand
{
protected $group = 'Custom'; // コマンドのグループ名
protected $name = 'say:hello'; // 実際に打ち込むコマンド名
protected $description = '挨拶を表示する練習用コマンドです。';
public function run(array $params)
{
// 画面に文字を表示する命令
CLI::write('こんにちは!CodeIgniterのSparkへようこそ!', 'green');
}
}
ここで重要なのは$nameです。これをsay:helloに設定したので、次からはphp spark say:helloと打つだけで、いつでもこのプログラムを呼び出せるようになります。これがバッチ処理の第一歩です。
7. バッチ処理の実行テスト
プログラムを書き換えたら、保存して実際に動かしてみましょう。先ほど設定した自分専用の合言葉を打ち込みます。このように、自分で定義した処理をCLIから呼び出すことを「コマンドを実行する」と言います。
php spark say:hello
成功すると、画面に緑色の文字で挨拶が表示されます。もしエラーが出た場合は、ファイルの書き間違え(半角のつもりが全角になっている、セミコロンが抜けているなど)がないか確認しましょう。プログラミングは非常に几帳面なので、一文字の間違いも許してくれませんが、その分、正しく動いた時の感動はひとしおです。
こんにちは!CodeIgniterのSparkへようこそ!
8. なぜSparkを使うと開発が楽になるのか
最後に、なぜ初心者がSparkやCLIを覚えるべきなのかについてお話しします。最大の理由は「自動化」と「ミスの防止」です。例えば、100個のファイルを手作業で作ると必ずどこかで名前を間違えますが、コマンド一つで作成すれば機械的に正確なものが出来上がります。
また、実際のWebサイト運用では、人間が寝ている間にサーバーが勝手に仕事をしてくれる「定期実行(ジョブスケジューラ)」という仕組みを使います。この時に、Sparkで作ったコマンドを登録しておけば、毎朝の在庫チェックやメール送信などをすべて自動化できるのです。これは現代のWebエンジニアにとって必須のスキルと言えます。最初は難しく感じるかもしれませんが、まずはphp spark listから始めて、少しずつ「黒い画面」とお友達になっていきましょう。