CakePHPのルーティングルールを変更してトップページにHello World!を表示してみた

CakePHPをインストールしトップページへアクセスすると、CakePHPの設定に関するいろいろが表示がされます。

今回はこのトップページの表示を「Hello World!」と表示されるように変更する方法を紹介します。

トップページ表示の仕組み

CakePHPでは/app/Config/routes.phpでトップページへアクセスがあった場合の動作が設定されています。

Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));

上記コードにより、トップページへアクセスがあると、PagesControllerdisplay()アクションが呼び出され、ビューファイルhome.ctpを使って表示するようになっています。

参考サイト 入門 — CakePHP Cookbook v2.x documentation

Hello World!と表示されるトップページに変更する

Hello World!を表示するコントローラーとビューを作る

/app/Controller/HelloWorldsController.php

<?php
App::uses('AppController', 'Controller');

class HelloWorldsController extends AppController {
	public $name = 'HelloWorlds';
	public $uses = array();

	public function index() {
		$msg = 'Hello world!';
		$this->set('msg', $msg);
	}
}

/app/View/HelloWorlds/index.php

<h2><?php echo $msg; ?></h2>

/app/Config/routes.phpを修正する

Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));

上記コードを下記コードへ修正します。

Router::connect('/', array('controller' => 'helloWorlds', 'action' => 'index'));

これでトップページへアクセスすると、HelloWorldsControllerindex()アクションが呼び出されます。

トップページの表示を確認する

トップページへアクセスし、Hello World!が表示されていればトップページの変更は成功です。