CodeIgniter 3のチュートリアル1 Static pages
Debian + nginxでCodeIgniter 3が動く環境を作りました。CodeIgniter 3をnginx + php-fpmで動作させる
チュートリアルを試して、使い方を調べてみます。
CodeIgniter 3 - Tutorial
Static pages
最初に、静的なページの読み込みを試してみます。
application/controllers/Pages.phpというファイルを作成。
内容は以下のとおり。
- <?php
- class Pages extends CI_Controller {
- public function view($page = 'home')
- {
- }
- }
これが、リクエストに応答するためのコントローラーになります。
次に、application/views/templatesというフォルダを作成。
・header.php
・footer.php
という2つのファイルを作成します。
・header.php
- <html>
- <head>
- <title>CodeIgniter Tutorial</title>
- </head>
- <body>
- <h1>CodeIgniter Tutorial</h1>
・footer.php
- <em>© 2014</em>
- </body>
- <html>
これが、ページのヘッダーとフッターの内容になります。
application/views/pages/というフォルダを作成。
・home.php
・hello.php
の2つのファイルを作成します。
内容は以下の通り。
・home.php
- <h1>home.php</h1>
・hello.php
- <h1>hello.php</h1>
これがページ本文として表示される内容になります。
Adding logic to the controller
先ほど作成したPages.phpに、ヘッダー、フッダー、本文を表示する処理を記載します。
- <?php
- class Pages extends CI_Controller {
- public function view($page = 'home')
- {
- if ( ! file_exists(APPPATH.'/views/pages/'.$page.'.php'))
- {
- // Whoops, we don't have a page for that!
- show_404();
- }
- $data['title'] = ucfirst($page); // Capitalize the first letter
- $this->load->view('templates/header', $data);
- $this->load->view('pages/'.$page, $data);
- $this->load->view('templates/footer', $data);
- }
- }
引数がない場合は、home.php。
引数がある場合は、(引数).phpというファイルの内容を本文として表示します。
指定されたファイルが見つからない場合は、404エラーページを表示します。
Routing
application/config/routes.phpを開きます。
ファイルの末尾にこんな記載があるはずです。
- $route['default_controller'] = 'welcome';
- $route['404_override'] = '';
- $route['translate_uri_dashes'] = FALSE;
これでwelcome.phpを表示する指定を行っていたのか。
ここを先ほど作成したPages.phpを表示するよう変更します。
- //$route['default_controller'] = 'welcome';
- $route['default_controller'] = 'pages/view';
- $route['(:any)'] = 'pages/view/$1';
- $route['404_override'] = '';
- $route['translate_uri_dashes'] = FALSE;
ブラウザで、http://(サーバーIP)/を表示してみます。
デフォルトのhome.phpが表示されました。
続いて、http://192.168.1.101/hello。
存在しないファイルを指定してみます。
http://192.168.1.101/symfo
ちゃんと404エラーページが表示されました。
CodeIgniter 3のユーザーガイド(User Guide)まとめ
- 関連記事
-
- CodeIgniter 3のチュートリアル3 Create news items
- CodeIgniter 3のチュートリアル2 News section
- CodeIgniter 3のチュートリアル1 Static pages
- CodeIgniter 3をnginx + php-fpmで動作させる
- PHPで画像リサイズの高速化(setOption,libjpeg-turbo使用)
コメント