Invalid signature

ここは俺の日記帳

CodeIgniter 勉強中

ユーザーガイドの目次を見ると、何かの作成方法、機能、クラス、ヘルパーなどの
項目がずらっと並んでいる。 一通り目を通しておいたほうがいいだろうが、
そろそろコードを書きたくなってきた。 ガイドの目次を見る限り
チュートリアルの類はない。
 何を作ろうか迷い、検索してみると丁度ブログ作成のチュートリアルが見つかった。
CakePHPチュートリアルもブログだったし、これをやってみることにした。

参考記事の選定

CakePHP の方には公式でチュートリアルがあったが、CodeIgniter の方はそれが無い。
 一般ユーザーたった一人のチュートリアルだけを信用するのは怖い。
元が英語圏のモノということで、英語圏のブログチュートリアルと付きあわせて
学んでいくことにした。

参考記事
http://d.hatena.ne.jp/u_eupha/20110630/1309420435
http://blog.pisyek.com/2011/03/create-a-simple-blog-using-codeigniter-2-0-part-1/

phpMyAdmin のインストール

テーブル作成

ID, タイトル、本文、日付を持つテーブルを作成。

CodeIgniter のデータベース設定

application/database.phpの以下の行から

$db['default']['username'] = '';
  

データベースユーザー名、パスワード、データベース名を設定。

コーディング

ついに CodeIgniter でのコーディングが出来る。
チュートリアルのまんまだけどはじめての環境なので手打ちで。
・コントローラー ・モデル ・ビュー を作成。  ファイル名とクラス名が同じじゃないといけなかった気がしたが、
それは CakePHP の方だった。

空白

チュートリアルの通りにやったが空白のページが表示されただけだった。
エラー出力を有効にするとデータベースにアクセス出来ていなかった。
原因はコロンがセミコロンになっていた。  原因を探るためにデバッグ機能について調べると関数の先頭に以下の
文を追加するだけで良い。

$this->output->enable_profiler(TRUE);
  

 ただ、この文はコンストラクタ内で使うとエラーになるらしい。 調べても
ソレらしい答えは見つけられなかった。 詳細希望

初心者が覚えておいたほうが良さそうな事

セグメントが分からない

CodeIgniter について調べているとよくセグメントというキーワードが出てくる。
 これがよく分からない人は、ユーザーガイドの URIクラスの項を読むといい。
コントローラーの項で「URI の第2セグメントは」とか最初は訳が分からなかったが、
URLクラスの項では以下のように分かりやすく説明している。

http://example.com/index.php/news/local/metro/crime_is_up

セグメント番号は次のようになります:

news local metro crime_is_up

base_url

こちらのチュートリアルを試してみたのだが上手くいかない。
http://www.geekzshu.com/codeigniter/1830
 新規追加のリンクをクリックすると
localhost のサーバへの接続を確立できませんでした。」
というページに飛ぶ。
 このリンクで使用しているアンカーの URI 指定と config.php の base_url 辺りが
原因と踏んで色々試した結果、config.php の index_page に index.php
指定したら上手くいった。

index_page に関しては

この設定は「$this->config->site_url()」メソッドと「URLヘルパ」の
「site_url()」関数で利用される以外、 他の動作に影響はありません。
従って、これらのメソッドと関数を利用しなければ設定する必要はありません。
http://www.ci-guide.info/practical/configuration/config/

という記述を見つけた。 これらの関数は使っていないのだが・・・。

 

とうとうブログのようなモノを動かすことが出来た。

体裁が酷いから、復習の意味も込めて見た目を整えてみよう。