カテゴリ: CodeIgniter 更新日: 2026/06/18

CodeIgniter入門!世界一簡単なHello Worldアプリの作り方と仕組みを解説

CodeIgniterで最初に作るHello Worldアプリ入門
CodeIgniterで最初に作るHello Worldアプリ入門

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

生徒

「CodeIgniter(コードイグナイター)って何ですか?初心者の僕でもアプリを作れますか?」

先生

「CodeIgniterはPHPという言葉を使って、Webアプリを素早く作るための『道具箱』のようなものです。初心者の方でも、おまじないの言葉を少し覚えるだけで、画面に文字を出すことができますよ。」

生徒

「具体的に、どうやって画面に『Hello World』って表示させるんですか?」

先生

「まずは、一番簡単な表示方法から順番に学んでいきましょう。プログラミングの第一歩を一緒に踏み出しましょう!」

1. CodeIgniter(コードイグナイター)とは何か?

1. CodeIgniter(コードイグナイター)とは何か?
1. CodeIgniter(コードイグナイター)とは何か?

CodeIgniterは、PHPというプログラミング言語で動くフレームワークです。フレームワークとは、家を建てるときにゼロから柱を削るのではなく、すでにある程度の土台や骨組みが用意されている「組み立てキット」のようなものです。これを使うことで、初心者でもセキュリティがしっかりした本格的なWebサイトやシステムを、効率よく開発することができます。

CodeIgniterの最大の特徴は「軽さ」と「分かりやすさ」です。難しいルールが少なく、直感的に動かせるため、PHPの基礎を学び始めたばかりの人に最適な入門用ツールと言えます。これから解説する「Hello World」の表示は、すべてのWeb開発の基本となりますので、ゆっくり丁寧に進めていきましょう。

2. アプリの脳みそ「コントローラー」を作成する

2. アプリの脳みそ「コントローラー」を作成する
2. アプリの脳みそ「コントローラー」を作成する

CodeIgniterで画面に文字を出すためには、まずコントローラーというものを作る必要があります。コントローラーは、料理店でいうところの「注文を聞いて厨房に指示を出す店員さん」のような役割をします。ユーザーが「このページを見たい!」と言ってきたときに、何を表示するかを決定する、いわばアプリの脳みそです。

まずは、app/Controllersというフォルダの中に、Hello.phpという名前のファイルを作ってみましょう。ファイル名の一文字目を大文字にするのが、CodeIgniterの大事なルールです。以下のコードを書き込んでみてください。


namespace App\Controllers;

class Hello extends BaseController
{
    public function index()
    {
        echo 'Hello World! CodeIgniterの世界へようこそ!';
    }
}

このコードの中にあるecho(エコー)という言葉が、「画面に文字を出して!」という命令になります。非常にシンプルな一歩ですが、これが全てのプログラムの出発点です。

3. ブラウザで確認!URLの仕組みを理解しよう

3. ブラウザで確認!URLの仕組みを理解しよう
3. ブラウザで確認!URLの仕組みを理解しよう

ファイルを作成したら、実際にパソコンのブラウザ(Google Chromeなど)で見てみましょう。CodeIgniterでは、URL(インターネット上の住所)によって、どのコントローラーが動くか決まっています。一般的には、サーバーのアドレスの後に/public/helloと入力することで、先ほど作ったプログラムが動きます。

ここで重要なのがメソッドという考え方です。先ほどのコードに書いたindexという部分は、そのコントローラーの「標準の動作」を指します。もしURLに何も指定がない場合は、自動的にこのindexが呼び出されます。実行すると、画面には以下のように表示されるはずです。


Hello World! CodeIgniterの世界へようこそ!

真っ白な画面にこの文字が出れば、あなたのパソコンの中で初めてプログラムが動いた証拠です。おめでとうございます!

4. ビュー(見た目)を使ってデザインを整える

4. ビュー(見た目)を使ってデザインを整える
4. ビュー(見た目)を使ってデザインを整える

先ほどの例では、コントローラーから直接文字を出しましたが、実際のWebアプリではHTML(ホームページの見た目を作る言葉)を使って綺麗に整えます。この見た目を担当するファイルをビューと呼びます。店員さん(コントローラー)が、盛り付け(ビュー)を整えて、お客さんに出すイメージです。

app/Viewsというフォルダに、hello_view.phpというファイルを作ります。そこに、デザインを含めたHTMLコードを書いてみましょう。プログラムの実行結果を綺麗に見せるための大事な工程です。


<!DOCTYPE html>
<html>
<head>
    <title>Helloページ</title>
</head>
<body>
    <h1 style="color: blue;">こんにちは!</h1>
    <p>これはビューファイルから表示されています。</p>
</body>
</html>

このように、見た目に関する命令を別のファイルに分けることで、後からデザインを変更しやすくなります。これを「役割分担」と呼び、プログラミングの世界ではとても重要視されている考え方です。

5. コントローラーからビューを呼び出す方法

5. コントローラーからビューを呼び出す方法
5. コントローラーからビューを呼び出す方法

ビューファイルを作っただけでは、まだ画面には表示されません。店員さん(コントローラー)に、「あの盛り付け(ビュー)を使って料理を出して!」と命令する必要があります。コントローラーの書き方を少し変えて、ビューファイルを読み込むように修正しましょう。

新しくdisplayという名前の動作(メソッド)を追加してみます。以下のコードをHello.phpに追記するか、書き換えてみてください。


public function display()
{
    // viewsフォルダの中のhello_view.phpを表示させる
    return view('hello_view');
}

return view('ファイル名');という命令を使うことで、指定したビューファイルの内容が画面に映し出されます。ブラウザで/public/hello/displayにアクセスすると、青色の文字で「こんにちは!」と表示されるはずです。

6. データをビューに渡して表示を変化させる

6. データをビューに渡して表示を変化させる
6. データをビューに渡して表示を変化させる

次に、コントローラーで用意した名前や日付などのデータを、ビューに渡して表示させてみましょう。これができるようになると、ユーザーごとに名前を変えたり、今日の日付を表示したりする「動的な(変化する)サイト」が作れるようになります。

データを受け渡すときは、連想配列という「ラベル付きの箱」を使います。例えば、'name'というラベルを貼った箱に、あなたの名前を入れてビューに送ります。以下のプログラムを見てみましょう。


public function welcome()
{
    $data['user_name'] = '初心者太郎';
    $data['today'] = date('Y年m月d日');

    return view('welcome_message', $data);
}

このように、$dataという変数の中に情報を詰め込んで、view関数の2番目の引数として渡します。これで、ビュー側でこのデータを自由に使えるようになります。

7. ビューでデータを受け取って表示する仕組み

7. ビューでデータを受け取って表示する仕組み
7. ビューでデータを受け取って表示する仕組み

コントローラーから送られてきたデータは、ビューの中では「ラベル名」の変数として使うことができます。先ほどの例であれば、$user_nameという名前で中身を取り出せます。HTMLの中に、PHPの命令を少し混ぜて書いてみましょう。


<div class="user-profile">
    <h2>ようこそ、<?php echo $user_name; ?>さん!</h2>
    <p>今日は <?php echo $today; ?> ですね。学習を始めましょう!</p>
</div>

この<?php echo ... ?>という書き方は、PHPで一番よく使う「変数の内容をここに表示して!」という指示です。実行結果は以下のようになります。


ようこそ、初心者太郎さん!
今日は 2026年01月08日 ですね。学習を始めましょう!

このように、コントローラーで処理した結果をビューで綺麗に表示するのが、CodeIgniterでのアプリ作りの基本の流れになります。

8. エラーが出たときの対処法とデバッグのコツ

8. エラーが出たときの対処法とデバッグのコツ
8. エラーが出たときの対処法とデバッグのコツ

プログラミングをしていると、必ず「画面が真っ白になった!」とか「英語のメッセージが出てきた!」という場面に遭遇します。これはエラーと呼ばれますが、決して失敗ではありません。コンピューターが「ここが分からないから教えて!」と合図を送ってくれているのです。

初心者が特につまずきやすいポイントは、セミコロン(;)の忘れや、カッコ({})の閉じ忘れです。CodeIgniterには、どこが間違っているかを教えてくれる便利な機能が備わっています。エラーメッセージをよく読むと、「〇行目が怪しいよ」と書いてありますので、そこを重点的に見直してみましょう。一歩ずつ間違いを直していく作業をデバッグと言いますが、これを繰り返すことでプログラミングの腕はどんどん上達します。

まとめ

まとめ
まとめ

CodeIgniter入門の総まとめと重要ポイントの整理

本記事では、CodeIgniterを使ったHello Worldアプリの作成を通して、Webアプリ開発の基本的な流れを一つひとつ丁寧に確認してきました。特に重要なのは、コントローラー、ビュー、そしてデータの受け渡しという三つの役割を正しく理解することです。これらはCodeIgniterに限らず、PHPフレームワーク全般に共通する基礎であり、今後LaravelやSymfonyなど他のフレームワークを学習する際にも必ず役に立つ知識となります。

まず、コントローラーはアプリケーションの中心的な存在であり、ユーザーからのリクエストを受け取り、どの処理を実行するかを決定します。今回のHello Worldでは単純に文字を表示するだけでしたが、実際の開発ではデータベースと連携したり、ユーザー認証を行ったりと、より複雑な処理を担うことになります。このコントローラーの理解は、Webアプリケーション開発の第一歩と言えるでしょう。

次に、ビューは画面の見た目を担当します。HTMLを使ってレイアウトを整え、ユーザーにとって見やすく分かりやすい画面を構築する役割があります。コントローラーとビューを分離することで、ロジックとデザインを独立して管理できるようになり、保守性や拡張性が大きく向上します。この設計思想はMVCモデルと呼ばれ、CodeIgniterの大きな特徴でもあります。

また、データの受け渡しについても重要なポイントです。連想配列を使ってコントローラーからビューへデータを渡すことで、動的なコンテンツの表示が可能になります。例えば、ユーザー名や日付、商品情報などを柔軟に表示できるようになり、静的なページから一歩進んだ実用的なWebアプリへと発展させることができます。

さらに、エラー対応とデバッグの考え方も忘れてはいけません。エラーは決して失敗ではなく、成長のためのヒントです。エラーメッセージを正しく読み取り、原因を特定して修正する力は、エンジニアとして非常に重要なスキルです。特に初心者のうちは、小さなミスを一つずつ解決していく経験が大きな自信につながります。

サンプルプログラムで復習

最後に、今回の学習内容をまとめたシンプルなサンプルコードを確認しておきましょう。コントローラーとビューの連携を改めて理解することができます。


namespace App\Controllers;

class Sample extends BaseController
{
    public function index()
    {
        $data['message'] = 'CodeIgniterでの基本的な表示処理です';
        return view('sample_view', $data);
    }
}

<!DOCTYPE html>
<html>
<head>
    <title>サンプルページ</title>
</head>
<body>
    <h1><?php echo $message; ?></h1>
</body>
</html>

このように、コントローラーで用意したデータをビューで表示する流れが理解できれば、CodeIgniterの基本はしっかり身についています。ここから先は、データベース接続やフォーム処理、バリデーションなどを学んでいくことで、より実践的なWebアプリケーション開発へと進むことができます。

先生と生徒の振り返り会話

生徒

「今回の内容で、コントローラーとビューの役割が少し分かってきました。最初は難しそうでしたが、Hello Worldから始めると理解しやすいですね。」

先生

「その通りです。プログラミングは小さな成功体験の積み重ねが大切です。特にCodeIgniterはシンプルな構造なので、初心者でも流れを掴みやすいのが特徴です。」

生徒

「ビューにデータを渡すところも面白かったです。同じ画面でも内容を変えられるのが便利だと思いました。」

先生

「それが動的なWebアプリの基本です。ユーザーごとに違う内容を表示できるようになると、一気に実用的なシステムになります。ログイン機能や掲示板なども同じ仕組みで作られています。」

生徒

「エラーが出たときは焦ってしまいますが、原因を探すことが大事なんですね。」

先生

「そうです。エラーは学習のチャンスです。どこで間違えたのかを一つずつ確認していけば、必ず解決できます。その経験が次の開発に活きてきます。」

生徒

「これからはデータベースやフォームも学んで、もっと本格的なアプリを作ってみたいです。」

先生

「とても良い目標です。今回学んだ基礎がしっかりしていれば、どんな機能でも応用できます。焦らず一歩ずつ進めていきましょう。」

カテゴリの一覧へ
新着記事
New1
Symfony
Symfonyのサービスとは?役割と基本概念を初心者向けにやさしく解説
New2
Laravel
Laravelでリダイレクトやフラッシュメッセージをテストする方法を完全解説!初心者向けLaravelテスト入門
New4
CodeIgniter
CodeIgniterのセキュリティ対策を完全ガイド!初心者が守るべき基本設定
人気記事
No.2
Java&Spring記事人気No2
Laravel
LaravelでReactコンポーネントを組み込む方法完全ガイド!JSX対応でフロントエンド連携を学ぼう
No.3
Java&Spring記事人気No3
Laravel
LaravelのRESTfulコントローラ設計のベストプラクティスを初心者向けにわかりやすく解説
No.4
Java&Spring記事人気No4
Symfony
Symfonyのインストール方法!CLIとComposerの導入手順まとめ
No.5
Java&Spring記事人気No5
Laravel
Laravelのold()関数でフォーム再表示時に値を保持する方法
No.6
Java&Spring記事人気No6
Laravel
LaravelをDockerで動かすメリットと導入の全体像を徹底解説!初心者向け入門ガイド
No.7
Java&Spring記事人気No7
Symfony
Symfonyでバリデーションをコントローラに組み込む方法を徹底解説!初心者にもやさしい入力チェックの基本
No.8
Java&Spring記事人気No8
Laravel
Laravelのデータベース設定方法を完全ガイド!初心者でもわかる.envファイルの使い方