libro
www.tuyano.com
初心者のためのCakePHP3 プログラミング入門

コントローラー(Controller)を利用する (2/5)

作成:2015-08-22 09:53
更新:2015-08-22 09:53

■HeloControllerクラスを作る

では、ごく単純なサンプルを作ってみましょう。「src」フォルダの「Controller」フォルダ内に、「HeloController.php」というファイルを用意して下さい。記述するソースコードは下のリスト欄のようになります。ファイルを設置したら、CakePHPの内蔵サーバーを起動して、以下のアドレスにアクセスしてみましょう。
http://localhost:8765/helo

画面に「Hello!」というタイトルと簡単なメッセージが表示されます。これが、今回のコントローラーで作成したWebページになります。


■コントローラーとアクションの命名規約

CakePHPのプロジェクトでは、アクセスするURLは以下のように決められています。
http://ドメイン/アプリケーション/アクション

今回は「HeloConroller」というクラスを作成しました。この「Helo」は、アプリケーションの名前です(これは、Webアプリケーションのことではありません)。CakePHPでは、プロジェクトの中に、いくつもの「アプリケーション」を作成することができます。この場合の「アプリケーション」は、コントローラーとビューとモデルをセットにした、プログラムの最小単位のようなものをイメージして下さい。

CakePHPでは、アプリケーションごとにコントローラーとビューをそれぞれ用意することができます。これらは、アプリケーションによって名前も決まっています。コントローラーは、
アプリケーションController
という名前のクラスとして作成します。そしてソースコードファイルは、「アプリケーションController.php」というファイル名に設定します。アプリケーションの名前は、最初の1文字目が大文字になります。ここでは、「HeloController」というクラス名でした。ということは、「helo」というアプリケーションのコントローラーということになります。そしてこの中に「index」というメソッドが用意されていますから、これにアクセスするには、
http:://localhost:8765/helo/index
このようにURLを設定すればいいことがわかります。ただし、アドレスでアクションが指定されていない場合は、自動的にindexアクションが設定されるようになっていますので、これを省略し、
http:://localhost:8765/helo
このようにアドレスを指定すればOK、というわけです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

<?php
namespace App\Controller;

use App\Controller\AppController;

class HeloController extends AppController
{
    public function index()
    {
        $this->autoRender = false;
        echo "<html><head></head><body>";
        echo "<h1>Hello!</h1>";
        echo "<p>これは、サンプルで作成したページです。</p>";
        echo "</body></html>";
    }
}

※関連コンテンツ

「初心者のためのCakePHP3 プログラミング入門」に戻る