カテゴリ: CodeIgniter 更新日: 2026/03/07

CodeIgniter 4でSparkコマンドを使いこなす!初心者向けCLI・バッチ処理の準備ガイド

CodeIgniterでSparkコマンドを使うための準備方法
CodeIgniterでSparkコマンドを使うための準備方法

先生と生徒の会話形式で理解しよう

生徒

「CodeIgniter(コードイグナイター)で『Spark(スパーク)』という言葉をよく聞くのですが、これは何のことですか?」

先生

「Sparkは、CodeIgniter 4に標準で備わっている『コマンドラインツール』のことですよ。マウスでカチカチ操作するのではなく、黒い画面に文字を打ち込んで指示を出すための魔法の杖のようなものです。」

生徒

「バッチ処理や自動化に便利だと聞いたのですが、パソコンが苦手な私でも準備できますか?」

先生

「もちろんです!まずはSparkを使うための土台作りから、一つずつ丁寧に解説していきますね。」

1. Spark(スパーク)とCLIの基本を知ろう

1. Spark(スパーク)とCLIの基本を知ろう
1. Spark(スパーク)とCLIの基本を知ろう

プログラミングの世界には、**CLI(シーエルアイ)**という言葉があります。これは「Command Line Interface」の略で、キーボードから文字を打ち込んでコンピューターに命令を出す仕組みのことです。皆さんが普段使っているマウス操作(GUI:グラフィカル・ユーザー・インターフェース)とは対照的な操作方法ですね。

PHPの人気フレームワークである**CodeIgniter 4(コードイグナイター4)**には、このCLI操作を簡単にしてくれる**spark**という専用ファイルが含まれています。これを使うことで、データベースのテーブルを自動で作ったり、独自のバッチ処理(決まった時間に自動で動くプログラム)を作成したりできるようになります。パソコンを触り始めたばかりの方には「黒い画面」は怖く見えるかもしれませんが、一度覚えてしまえば非常に強力な武器になります。

2. Sparkコマンドを動かすための環境確認

2. Sparkコマンドを動かすための環境確認
2. Sparkコマンドを動かすための環境確認

Sparkを使う前に、あなたのパソコンでPHPが動く状態になっているかを確認する必要があります。SparkはPHPで作られたプログラムなので、PHPがインストールされていないと動きません。まずは、Windowsなら「コマンドプロンプト」や「PowerShell」、Macなら「ターミナル」というアプリを開いてみましょう。これが、コンピューターと直接会話するための窓口になります。

窓口を開いたら、下記の命令を打ち込んでEnterキーを押してみてください。これは「PHPさん、あなたのバージョンを教えてください」というお願いです。


php -v

実行結果として「PHP 8.1.x」などの数字が表示されれば準備完了です。もし「認識されていません」といったエラーが出る場合は、PHPのインストールや「パスを通す」という設定が必要になります。パスを通すとは、パソコンのどこからでもPHPを呼び出せるように、住所を登録しておく作業のことです。

3. CodeIgniter 4のプロジェクトへ移動する

3. CodeIgniter 4のプロジェクトへ移動する
3. CodeIgniter 4のプロジェクトへ移動する

Sparkコマンドは、CodeIgniterのファイルが入っている特別なフォルダの中でしか使えません。家の外から家のテレビを操作できないのと同じで、まずは「CodeIgniterという家」の中に入る必要があります。これにはcd(シーディー)というコマンドを使います。これは「Change Directory(フォルダを移動する)」という意味です。

例えば、デスクトップにある「my-project」というフォルダの中にCodeIgniterをインストールした場合は、以下のように入力します。フォルダの場所を指定するときは、フォルダを黒い画面にドラッグ&ドロップすると自動で入力されるので便利ですよ。


cd Desktop/my-project

移動ができたら、そこにsparkというファイルがあるか確認しましょう。このファイルが、これから使う全てのコマンドの入り口になります。

4. 初めてのSparkコマンド実行

4. 初めての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. 独自のコマンド(バッチ処理)を作成する準備

5. 独自のコマンド(バッチ処理)を作成する準備
5. 独自のコマンド(バッチ処理)を作成する準備

Sparkの魅力は、自分専用の命令を作れることです。例えば「毎日深夜に古いデータを削除する」といった処理を作りたい場合、自分でコマンドを定義します。手作業でファイルを作るのは大変ですが、ここでもSparkが助けてくれます。make:commandという命令を使ってみましょう。

今回は、挨拶を表示するだけのシンプルな練習用コマンド「HelloCommand」を作ってみる例を紹介します。以下のコードを打ち込んでください。


php spark make:command HelloCommand

これを実行すると、app/Commandsというフォルダの中に、自動で新しいPHPファイルが作成されます。プログラミング未経験の方にとって、一から文字を打つのは大変ですが、Sparkが「ひな形(テンプレート)」を作ってくれるので、私たちは中身を書くだけで済むのです。

6. 作成されたコマンドの中身を確認する

6. 作成されたコマンドの中身を確認する
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. バッチ処理の実行テスト

7. バッチ処理の実行テスト
7. バッチ処理の実行テスト

プログラムを書き換えたら、保存して実際に動かしてみましょう。先ほど設定した自分専用の合言葉を打ち込みます。このように、自分で定義した処理をCLIから呼び出すことを「コマンドを実行する」と言います。


php spark say:hello

成功すると、画面に緑色の文字で挨拶が表示されます。もしエラーが出た場合は、ファイルの書き間違え(半角のつもりが全角になっている、セミコロンが抜けているなど)がないか確認しましょう。プログラミングは非常に几帳面なので、一文字の間違いも許してくれませんが、その分、正しく動いた時の感動はひとしおです。


こんにちは!CodeIgniterのSparkへようこそ!

8. なぜSparkを使うと開発が楽になるのか

8. なぜSparkを使うと開発が楽になるのか
8. なぜSparkを使うと開発が楽になるのか

最後に、なぜ初心者がSparkやCLIを覚えるべきなのかについてお話しします。最大の理由は「自動化」と「ミスの防止」です。例えば、100個のファイルを手作業で作ると必ずどこかで名前を間違えますが、コマンド一つで作成すれば機械的に正確なものが出来上がります。

また、実際のWebサイト運用では、人間が寝ている間にサーバーが勝手に仕事をしてくれる「定期実行(ジョブスケジューラ)」という仕組みを使います。この時に、Sparkで作ったコマンドを登録しておけば、毎朝の在庫チェックやメール送信などをすべて自動化できるのです。これは現代のWebエンジニアにとって必須のスキルと言えます。最初は難しく感じるかもしれませんが、まずはphp spark listから始めて、少しずつ「黒い画面」とお友達になっていきましょう。

カテゴリの一覧へ
新着記事
New1
Symfony
Symfonyのセッション管理完全ガイド|セッションに値を保存・取得・削除する方法を初心者向けに解説
New2
Symfony
Symfonyで最初のページを表示してみよう!初心者でもできるHello World入門
New3
Symfony
Symfonyのルートにデフォルト値や制約をつける方法をやさしく解説!初心者でも理解できるルーティング入門
New4
Laravel
Laravelのイベント・リスナーのテスト完全入門|初心者でもわかる書き方と考え方
人気記事
No.1
Java&Spring記事人気No1
Laravel
Laravelでモデルからデータを取得・保存・更新・削除する方法を完全ガイド!初心者でもわかるEloquent ORM入門
No.2
Java&Spring記事人気No2
Laravel
LaravelでBasic認証を実装するミドルウェアの使い方!初心者向けガイド
No.3
Java&Spring記事人気No3
Laravel
Laravelでログを出力する方法(Monolog・storage/logs)
No.4
Java&Spring記事人気No4
Symfony
SymfonyでTwigテンプレートを表示する方法を完全ガイド!初心者にもわかるHTMLとの違いや使い方
No.5
Java&Spring記事人気No5
Laravel
LaravelでファクトリとSeederを組み合わせてダミーデータを生成する方法!初心者でも簡単にテストデータ作成
No.6
Java&Spring記事人気No6
Laravel
Laravelのルート一覧を確認する方法!初心者でもわかるphp artisan route:listの使い方
No.7
Java&Spring記事人気No7
Laravel
Laravelのデータベース設定方法を完全ガイド!初心者でもわかる.envファイルの使い方
No.8
Java&Spring記事人気No8
Laravel
Laravelで動的パラメータをルートに渡す方法!初心者にもやさしいルートパラメータの使い方入門