CodeIgniter 3のチュートリアル1 Static pages

Debian + nginxでCodeIgniter 3が動く環境を作りました。
CodeIgniter 3をnginx + php-fpmで動作させる


チュートリアルを試して、使い方を調べてみます。
CodeIgniter 3 - Tutorial


Static pages



最初に、静的なページの読み込みを試してみます。

application/controllers/Pages.phpというファイルを作成。
内容は以下のとおり。


  1. <?php
  2. class Pages extends CI_Controller {
  3.     public function view($page = 'home')
  4.     {
  5.     }
  6. }




これが、リクエストに応答するためのコントローラーになります。


次に、application/views/templatesというフォルダを作成。
・header.php
・footer.php

という2つのファイルを作成します。


・header.php


  1. <html>
  2.     <head>
  3.         <title>CodeIgniter Tutorial</title>
  4.     </head>
  5.     <body>
  6.         <h1>CodeIgniter Tutorial</h1>




・footer.php


  1.         <em>© 2014</em>
  2.     </body>
  3. <html>




これが、ページのヘッダーとフッターの内容になります。


application/views/pages/というフォルダを作成。

・home.php
・hello.php

の2つのファイルを作成します。
内容は以下の通り。

・home.php


  1. <h1>home.php</h1>




・hello.php


  1. <h1>hello.php</h1>




これがページ本文として表示される内容になります。






Adding logic to the controller



先ほど作成したPages.phpに、ヘッダー、フッダー、本文を表示する処理を記載します。


  1. <?php
  2. class Pages extends CI_Controller {
  3.     public function view($page = 'home')
  4.     {
  5.         if ( ! file_exists(APPPATH.'/views/pages/'.$page.'.php'))
  6.         {
  7.             // Whoops, we don't have a page for that!
  8.             show_404();
  9.         }
  10.         $data['title'] = ucfirst($page); // Capitalize the first letter
  11.         $this->load->view('templates/header', $data);
  12.         $this->load->view('pages/'.$page, $data);
  13.         $this->load->view('templates/footer', $data);
  14.     }
  15. }




引数がない場合は、home.php。
引数がある場合は、(引数).phpというファイルの内容を本文として表示します。

指定されたファイルが見つからない場合は、404エラーページを表示します。





Routing



application/config/routes.phpを開きます。
ファイルの末尾にこんな記載があるはずです。


  1. $route['default_controller'] = 'welcome';
  2. $route['404_override'] = '';
  3. $route['translate_uri_dashes'] = FALSE;




これでwelcome.phpを表示する指定を行っていたのか。
ここを先ほど作成したPages.phpを表示するよう変更します。


  1. //$route['default_controller'] = 'welcome';
  2. $route['default_controller'] = 'pages/view';
  3. $route['(:any)'] = 'pages/view/$1';
  4. $route['404_override'] = '';
  5. $route['translate_uri_dashes'] = FALSE;





ブラウザで、http://(サーバーIP)/を表示してみます。
デフォルトのhome.phpが表示されました。

531_01.png


続いて、http://192.168.1.101/hello。

531_02.png


存在しないファイルを指定してみます。
http://192.168.1.101/symfo

531_03.png

ちゃんと404エラーページが表示されました。


CodeIgniter 3のユーザーガイド(User Guide)まとめ
関連記事

コメント

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
https://symfo.web.fc2.com/

PR

検索フォーム

月別アーカイブ