<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/aioria/">
    <title>aioria @ ウィキ</title>
    <link>http://w.atwiki.jp/aioria/</link>
    <atom:link href="https://w.atwiki.jp/aioria/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>aioria @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2013-04-01T23:47:22+09:00</dc:date>
    <utime>1364827642</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/aioria/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/aioria/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/aioria/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/aioria/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/aioria/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/aioria/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/aioria/pages/12.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/aioria/pages/11.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/aioria/pages/10.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/aioria/pages/9.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/aioria/pages/18.html">
    <title>フレームテスト</title>
    <link>https://w.atwiki.jp/aioria/pages/18.html</link>
    <description>
      B008YC1S3O

** 弁当箱
#amazon(B008YC1SCU)

** ペンケース
#amazon(B0052HJ6QU)    </description>
    <dc:date>2013-04-01T23:47:22+09:00</dc:date>
    <utime>1364827642</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/aioria/pages/17.html">
    <title>cakephp/4</title>
    <link>https://w.atwiki.jp/aioria/pages/17.html</link>
    <description>
      #contents

*ＤＢ出来てて、モデル作成したし、コントローラーも作成した。揃ったからそろそろ動かすか
　とはいえ、まだ動かない。

　というのは、ＷＥＢサーバの設定の事。

　バーチャルホストとして動作するように設定を作る必要がある。
 &lt;VirtualHost *:80&gt;
 　　DocumentRoot /home/swat/CalendarNote/app/calendarnote
 　　ServerName   calendarnote.***.jp
 　　ErrorLog     logs/cs-error.log
 　　CustomLog    logs/cs--access.log common
 
 　　&lt;Directory /home/swat/CalendarNote/app/calendarnote&gt;
 　　　　Options Indexes FollowSymLinks Inclues ExecCGI
 　　　　AllowOverride All
 　　　　Order allow,deny
 　　　　Allow from all
 　　&lt;/Directory&gt;
 &lt;/VirtualHost&gt;
設定ファイル作って、Includeできてたらapacheはリスタートする。

* 自動生成された場合のＨＴＭＬエンコードはＵＴＦ８にもなっていないので、それを設定する
calendarnote/views/layouts/default.ctp
上記ファイル　charset　をしている部分があるので、明示的に　utf-8　を指定する。
 &lt;?php echo $html-&gt;charset(&quot;utf-8&quot;); ?&gt;

*ブラウザからアクセスしてみる
http://calendarnote.xxxx.jp/schedules
とすれば、一覧が見れる。

ここまでなんもコードらしいコードを書いていないにもかかわらず、出来てしまっている事に驚くべきだ。
これらは、コントローラーを作成したときの　スキャフォールド　による恩恵。

スキャフォールドを利用することで、一覧、追加、削除など一般的機能のひな形が用意されてしまうのだ。
そしてすでにこれらは機能するという点で、その効果と恩恵は計り知    </description>
    <dc:date>2010-06-23T04:37:49+09:00</dc:date>
    <utime>1277235469</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/aioria/pages/16.html">
    <title>cakephp/3</title>
    <link>https://w.atwiki.jp/aioria/pages/16.html</link>
    <description>
      #contents

これ、書くの２回目・・・・＠ｗｉｋｉ　怖えぇぇぇぇ

*モデル作成
ここまででＤＢにテーブルを作成したりまでは行ったが、あくまでＤＢでの話。アプリケーションとして機能させるには、そのテーブル自体にアクセスする部分が必要となる。

モデルとはまさにそのものになる。

*やっぱり使うよ　cakeコマンド。モデル作成編
 $ cake bake model -app calendarnote
実行すると、どのスキーマ（テーブル）を利用するのか一覧に表示されるので、番号を選択する。（とはいえ、これまでに作成したスキーマは１つなので今回は１しか選びようがないのではあるが・・・）

　作成されるのは３つ。

 models/schedule.php
 tests/fixtures/schedule_fixture.php
 tests/cases/models/schedule.test.php
下２つは、テストケース用のソースの自動生成。
 $ cat calendarnote/models/schedule.php
 &lt;?php
 class Schedule extends AppModel {
 
         var $name = &#039;Schedule&#039;;
 
 }
 ?&gt;
まーシンプルだこと。
*続いてコントローラー作成
コントローラーとは、ＷＥＢからのリクエストを受け付ける部分。受け付けたものをモデルに渡したり、自身で加工したりする。

 $ cake bake controller -app calendarnote
ここでは利用するモデルが一覧表示されるので番号で選ぶ。
モデルを使わないのなら、番号を選ぶ必要すらない。

そしてモデルを選んだ後（無選択というのもあるが、その後）、設定をインタラクティブに行うか？の質問が来るが、デフォルト [n] となっているところを y としてＥＮＴＥＲしている。

これはスキャフォールドを利用したい為。
 $ cat calendarnote/controllers/schedules_controller.php
 &lt;?php
 class SchedulesController extends AppControll    </description>
    <dc:date>2010-06-23T04:14:59+09:00</dc:date>
    <utime>1277234099</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/aioria/pages/15.html">
    <title>cakephp/2</title>
    <link>https://w.atwiki.jp/aioria/pages/15.html</link>
    <description>
      #contents
*ここまでのまとめ
（※すでに、ＰＨＰだとかＭｙＳＱＬだとかはインストールは済んでいるとして話は進む
　機会があればそれらについても、また記載はするように考えてはいるけど・・・）

１．ソースをダウンロードしてきて、それを任意の場所に展開
２．展開したらディレクトリ名が面倒なので、適当に名前を変更し、そのディレクトリへ移動
３．ＤＢを先に作っておくのか・・・よし作ろう
４．ＰＨＰの設定については個別設定なので、.htaccessに記載してしまえ
５．さてプロジェクト作成
６．ＤＢへの接続設定を作成
７．テーブルを作成

*だいぶ乱暴だが、わしがわしにわかるように書くとこうなる
ダウンロード
 $ lynx ＵＲＬ

展開＆ディレクトリ名変更
 $ tar zxf ソースファイル名.tar.gz
 $ mv 展開後のディレクトリ　わかりやすいディレクトリ名：α

ＤＢを作成、ユーザ作成
 $ mysql -u root -p
 mysql&gt; CREATE DATABASE データベース名;
 mysql&gt; GRANT all ON データベース名.* TO ユーザ名 IDENTIFIED BY &#039;パスワード&#039;;

ＰＨＰの文字コード関連を.htaccessで記載
 php_value 設定変数名 設定値

プロジェクトを作成（つまりファイルコピー）
 $ cake bake project プロジェクト格納ディレクトリ（フルパス？）

ＤＢへの接続設定ファイル作成
 $ cake bake -app プロジェクト名

スキーマ（テーブル）テンプレート作成
 $ cake schema generate -app プロジェクト名

スキーマのレイアウトを記載
 $ vi config/sql/schema.php

レイアウト通りにテーブルを作成
 $ cake schema run create -app プロジェクト名

*すげぇ～時間かかりすぎ・・・
久々、勉強しているからか？

いや、ずいぶんと丁寧にログを残そうとしすぎなのかも。今後もこのペースでＷｉｋｉに記録を残していけるのか・・。

がんばれ、わし！    </description>
    <dc:date>2010-06-23T02:37:22+09:00</dc:date>
    <utime>1277228242</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/aioria/pages/14.html">
    <title>cakephp/1</title>
    <link>https://w.atwiki.jp/aioria/pages/14.html</link>
    <description>
      #contents
*cakeコマンド
&amp;color(red){このcakeコマンド。実行する際のカレントディレクトリを鑑みて動いているので、いくつかの実行時には注意が必要な気がする}

とりあえずは、前回までで CakePHP　自体の展開は済んでいる。
まずは、そのディレクトリで実行してみた。

 cd ~/CalendarNote

*まずはプロジェクト作成
 cake/console/cake bake project ~/CalendarNote/app/calendarnote

　・・・・だが動かない。なぜなら、 phpコマンド自体へのパスが通ってなかった。というオチ。
　/usr/local/bin　にあったので、パスを通した。
 $ vi ~/.bashrc
 export PATH=$PATH:/usr/local/bin
して、設定を読み直し。
 $ source ~/.bashrc
さて準備完了。phpコマンドが動くことを確認し、再度先ほどのコマンドを実行。（動いた）

　プロジェクト（ディレクトリ）作成場所が、「これでいいのか？」と聞かれるが、「それでいいから指定したのよ」という事で、ＥＮＴＥＲ押して進める。
　その指定ディレクトリにファイルをコピーしてくれるのだが、「コピーしている状況、詳細を見るか？」と聞かれるので、「イラネ」ということで　ＥＮＴＥＲを押して進める（デフォルトがＮｏなのです）

そんなこんなで、必要ファイルが指定ディレクトリにコピーされて完了する。

*既に作成済みであるＤＢへの接続設定を作る
これまた　cakeコマンド。
 cake/console/cake bake -app calendarnote
と、ここで最初からプロジェクトディレクトリを間違えて認識しているので、書き換えて動作させる。
上記コマンドを動かすと、最初にコピーされている設定ファイルを上書きして良いかと聞かれるので、「おねげぇします」とＥＮＴＥＲを押して進める。

ＤＢの接続に関する部分については
- データベースへの接続名の指定：特にここは何でも良いのだが、デフォルトがdefaultらしい、名前が。（ややこしい）変更しなかった。
- 利用するＤＢシステムを聞かれる。今回は mysql    </description>
    <dc:date>2010-06-23T02:23:23+09:00</dc:date>
    <utime>1277227403</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/aioria/pages/13.html">
    <title>cakephp</title>
    <link>https://w.atwiki.jp/aioria/pages/13.html</link>
    <description>
      #contents

*CakePHP はじめるぞ
やらないとなぁ～・・・と言うことで開始。

*まずはCakePHPをダウンロード
ファイルを持ってくる
http://cakephp.jp
上記サイトから安定版としてある　Version 1.2.7　を選択してダウンロードしてくる。
例のごとく、コンソールからDLしたので lynx を利用してDL
　　以下URLは執筆時点のURL（直接それを使うことはしないように）
 lynx http://github.com/cakephp/cakephp/tarball/1.2.7
んで、展開
 $ tar zxf cakephp-cakephp1x-1.2.7-0-gd9f7b9b.tar.gz
展開されると、わやくちゃなディレクトリ名なのでこれを変更。
 $ mv cakephp-cakephp1x-3a28271 CalendarNote
（今回、勉強に利用させて頂いている本に掲載されている通りの名前。ただし本ではWindows上でのXAMP構成を標準としているだけどね。わしはLinux上なのでホームディレクトリ以下に作成）
　さて、これでこのディレクトリ配下にいろいろファイルができあがっている。
　何がなんだかわからんが、流儀に従うなら、この展開後のディレクトリ配下にある &#039;&#039;app&#039;&#039;　というディレクトリ内にプロジェクトを作成しろと言うことらしいので、それに習い、作成することとした。
　ここで、CakePHPにあるコンソールアプリケーション（その名も cake コマンド）を利用していろいろ進めてみる。

**だが先にやっておくことがあるらしい
データベースを作成しておかないとならん。
この先で設定ファイルを作ったりするのだが、どうもDBは既にあることを期待している節がある。（事実は現時点ではわからん）

まぁ、わからんけどとりあえず作っておく。
ＤＢ名： calendarnote
接続ユーザ名：　calendarnote
接続パスワード：　calendarnote
（本の通りです。実際パスワードは変えましたけど、まぁここでの記載はそのままです）
 $ mysql -u root -p
 mysql&gt; create database calendarnot    </description>
    <dc:date>2010-06-23T01:22:40+09:00</dc:date>
    <utime>1277223760</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/aioria/pages/12.html">
    <title>プラグイン/人気商品一覧</title>
    <link>https://w.atwiki.jp/aioria/pages/12.html</link>
    <description>
      * 人気商品一覧
@wikiのwikiモードでは
 #price_list(カテゴリ名)
と入力することで、あるカテゴリの売れ筋商品のリストを表示することができます。

カテゴリには以下のキーワードがご利用できます。
|キーワード|表示される内容|
|ps3|PlayStation3|
|ps2|PlayStation3|
|psp|PSP|
|wii|Wii|
|xbox|XBOX|
|nds|Nintendo DS|
|desctop-pc|デスクトップパソコン|
|note-pc|ノートパソコン|
|mp3player|デジタルオーディオプレイヤー|
|kaden|家電|
|aircon|エアコン|
|camera|カメラ|
|game-toy|ゲーム・おもちゃ全般|
|all|指定無し|

空白の場合はランダムな商品が表示されます。

※このプラグインは[[価格比較サイト@PRICE&gt;&gt;http://atprice.jp]]のデータを利用しています。

-----

たとえば、
 #price_list(game-toy)
と入力すると以下のように表示されます。

ゲーム・おもちゃ全般の売れ筋商品
#price_list(game-toy)

ノートパソコンの売れ筋商品
#price_list(game-toy)

人気商品リスト
#price_list()
    </description>
    <dc:date>2010-06-23T00:48:37+09:00</dc:date>
    <utime>1277221717</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/aioria/pages/11.html">
    <title>プラグイン/コメント</title>
    <link>https://w.atwiki.jp/aioria/pages/11.html</link>
    <description>
      * コメントプラグイン
@wikiのwikiモードでは
 #comment()
と入力することでコメントフォームを簡単に作成することができます。
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_60_ja.html


-----
たとえば、#comment() と入力すると以下のように表示されます。

#comment    </description>
    <dc:date>2010-06-23T00:48:37+09:00</dc:date>
    <utime>1277221717</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/aioria/pages/10.html">
    <title>プラグイン/関連ブログ</title>
    <link>https://w.atwiki.jp/aioria/pages/10.html</link>
    <description>
      * 関連ブログ
@wikiのwikiモードでは
 #bf(興味のある単語)
と入力することで、あるキーワードに関連するブログ一覧を表示することができます

詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_161_ja.html

-----


たとえば、#bf(ゲーム)と入力すると以下のように表示されます。


#bf(ゲーム)
    </description>
    <dc:date>2010-06-23T00:48:37+09:00</dc:date>
    <utime>1277221717</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/aioria/pages/9.html">
    <title>プラグイン</title>
    <link>https://w.atwiki.jp/aioria/pages/9.html</link>
    <description>
      @wikiにはいくつかの便利なプラグインがあります。

-----


#ls

-----

これ以外のプラグインについては@wikiガイドをご覧ください
=&gt;http://atwiki.jp/guide/
    </description>
    <dc:date>2010-06-23T00:48:37+09:00</dc:date>
    <utime>1277221717</utime>
  </item>
  </rdf:RDF>
