<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>STUDIO KINGDOM &#187; Akelos</title>
	<atom:link href="http://www.studio-kingdom.com/category/akelos/feed" rel="self" type="application/rss+xml" />
	<link>http://www.studio-kingdom.com</link>
	<description>PHPによるWebプログラミングやAdobeソフトによるWEBデザインなどなど</description>
	<lastBuildDate>Tue, 31 Mar 2009 15:37:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Windows + Xampp環境にAkelosで簡易Blogを作ってみる(3)</title>
		<link>http://www.studio-kingdom.com/akelos/380</link>
		<comments>http://www.studio-kingdom.com/akelos/380#comments</comments>
		<pubDate>Fri, 28 Nov 2008 19:14:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Akelos]]></category>

		<guid isPermaLink="false">http://www.studio-kingdom.com/?p=380</guid>
		<description><![CDATA[				前回の「Windows + Xampp環境にAkelosで簡易Blogを作ってみる(2)」からの続きです。
				この記事はAkelos公式サイトの解説動画を参考にしています。
				1). 多言語対応を試し [...]]]></description>
			<content:encoded><![CDATA[				<p>前回の「<a href="http://www.studio-kingdom.com/akelos/372">Windows + Xampp環境にAkelosで簡易Blogを作ってみる(2)」</a>からの続きです。<br />
				この記事は<a href="http://www.akelos.org/screencasts">Akelos公式サイトの解説動画</a>を参考にしています。</p>
				<h3>1). 多言語対応を試してみる</h3>
				<p>Akelosはデフォで多言語に対応するための仕組みがあるようです。インストール時にen,jaなどを入力したのはこのためだったようですね。app/locales/blog/jp.phpを開いて、$dictionary['The Akelos Blog'] に格納されている値を日本語の任意の文字列に変更してください。一覧ページのタイトルが変更されていることを確認できると思います。</p>
				<p><a href="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image23.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image-thumb8.png" border="0" alt="image" width="400" height="173" /></a></p>
				<p>ここで、「<a title="http://localhost/en/blog/listing/" href="http://localhost/en/blog/listing/">http://localhost/en/blog/listing/</a>」を開いてみましょう。タイトルは元の「The Akelos Blog」であることが確認できると思います。en.phpもjp.phpと同じフォルダ内に存在します。この機能と.htaccessを使えば、多言語対応のサービスが簡単に作れそうですね。</p>
				<h3>2). ログをとる</h3>
				<p>config/config.phpを編集して、ログファイルを出力するように設定を変更します。、boot.phpのインクルード処理の前にAK_LOG_EVENTSを定義します。</p>
				<pre class="brush: php;">
define('AK_LOG_EVENTS', true);
include_once(dirname(__FILE__).DIRECTORY_SEPARATOR.'boot.php');
</pre>
				<p>登録や更新処理を行うとlog/development.logが生成され、ログ出力されていることを確認できると思います。</p>
				<h3>3). ユニットテスト</h3>
				<p>ユニットテストを試してみます。test/unit/app/modelsに生成したモデルに合わせて、ユニットテスト用のファイルが格納されているので、testコマンドで実行してみます。</p>
				<pre>
php test ./unit/app/models/post.php
</pre>
				<p>コマンドが実行された後、1件の失敗があることを確認できると思います。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image24.png" border="0" alt="image" width="533" height="253" /></p>
				<p>では、テストが通るパターンを試してみましょう。test/unit/app/models/post.phpを開き、test_should_be_added()関数を下記のように書き直します。</p>
				<pre class="brush: php;">
function test_should_be_added()
{
$Post = new Post(array('title'=&gt;'First test post', 'body'=&gt;'Say hello'));
$Post-&gt;comment-&gt;create(array('body'=&gt;'hello!'));
$Post-&gt;save();
$Post-&gt;reload();

$this-&gt;assertEqual(1, $Post-&gt;comment-&gt;count());
}
</pre>
				<p>また、test/unit/app/models/comment.phpのtest_should_be_added()関数の中身は全てコメントアウトし、app/installers/comment_installer.phpの初期コメント生成の処理もコメントアウトします。</p>
				<pre class="brush: php;">
//$Post = new Post(1);
//$Post-&gt;comment-&gt;create(array('body'=&gt;&quot;コメントをどうぞ。&quot;));
//$Post-&gt;save();
</pre>
				<p>再度、コマンドを実行します。</p>
				<pre>
php test ./unit/app/models/post.php
</pre>
				<p>今度はテストが通ったことを確認できると思います。</p>
				<p><a href="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image25.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image-thumb9.png" border="0" alt="image" width="533" height="253" /></a></p>
				<p>解説動画では、Akelosコンソールで更に何かをしているようですが、あまり重要そうではないので省きます。</p>
				<h3>まとめ</h3>
				<p>解説動画を元に実際にAkelosをインストールして、簡単なBlogの作成、ユニットテストまで行いましたが、バージョンの違いのせいか、ところどころ異なる点がありました。ただ、触っていて感じたことは、「噂どおりCakePHPより良さそうだ」ということです。2つのフレームワークの比較について、時間があればまた記事にしてみたいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.studio-kingdom.com/akelos/380/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows + Xampp環境にAkelosで簡易Blogを作ってみる(2)</title>
		<link>http://www.studio-kingdom.com/akelos/372</link>
		<comments>http://www.studio-kingdom.com/akelos/372#comments</comments>
		<pubDate>Sun, 23 Nov 2008 11:06:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Akelos]]></category>

		<guid isPermaLink="false">http://www.studio-kingdom.com/?p=372</guid>
		<description><![CDATA[				前回の「Windows + Xampp環境にAkelosで簡易Blogを作ってみる(1)」からの続きです。
				この記事はAkelos公式サイトの解説動画を参考にしています。
				1). 部品の共有化
	 [...]]]></description>
			<content:encoded><![CDATA[				<p>前回の「<a href="http://www.studio-kingdom.com/akelos/365">Windows + Xampp環境にAkelosで簡易Blogを作ってみる(1)</a>」からの続きです。<br />
				この記事は<a href="http://www.akelos.org/screencasts">Akelos公式サイトの解説動画</a>を参考にしています。</p>
				<h3>1). 部品の共有化</h3>
				<p>エントリー内容を表示する部分を共有化します。新しくapp/views/blog/_post.tplファイルを作成し、app/views/blog/show.tplの下記のソースをコピー&amp;ペーストしてください。</p>
				<p>・_post.tpl</p>
				<pre class="brush: php;">
    &lt;hr /&gt;
    &lt;h2&gt;&lt;?php echo $url_helper-&gt;link_to($post-&gt;title, array('action'=&gt;'show', 'id'=&gt;$post-&gt;id)); ?&gt;&lt;/h2&gt;
    &lt;p&gt;&lt;?php echo $text_helper-&gt;textilize($post-&gt;body); ?&gt;&lt;/p&gt;
    &lt;p&gt;&lt;small&gt;{post.posted_at}&lt;?php echo $blog_helper-&gt;link_to_edit($post); ?&gt;&lt;/small&gt;&lt;/p&gt;
</pre>
				<p>次にこの部品化された_post.tplをshow.tplとlisting.tplから呼び出します。app/views/blog/show.tplとapp/views/blog/liting.tplを下記のように書き直してください。</p>
				<p>・show.tplのshowブロックを下記のように書き換え</p>
				<pre class="brush: php;">
  &lt;div class=&quot;show&quot;&gt;
    &lt;?php echo $controller-&gt;render(array('partial'=&gt;'post')); ?&gt;
  &lt;/div&gt;
</pre>
				<p>・liting.tplのcontentブロックを下記のように書き換え</p>
				<pre class="brush: php;">
&lt;div id=&quot;content&quot;&gt;
  &lt;h1&gt;_{The Akelos Blog}&lt;/h1&gt;
  {?posts}
     &lt;?php echo $controller-&gt;render(array('partial'=&gt;'post', 'collection'=&gt;$posts)); ?&gt;
  {end}
&lt;/div&gt;
</pre>
				<p>ソースを書き直したら、ブラウザで今まで通り問題なく処理されていることを確認してください。</p>
				<h3>2). コメントテーブルを作成</h3>
				<p>コメント機能を実装するためにCommentモデルを作成します。下記のコマンドを実行してください。上手くいかない場合は最後に&#8211;forceを付けて実行してください。</p>
				<pre>
php generate model Comment
</pre>
				<p>次はapp/models/comment.phpとapp/models/post.phpにお互いの依存関係をソースに追加します。</p>
				<p>・comment.php</p>
				<pre class="brush: php;">
&lt;?php
class Comment extends ActiveRecord
{
  var $belongs_to = 'post';
}
?&gt;
</pre>
				<p>・post.phpのfunction validate()の上に追加</p>
				<pre class="brush: php;">
&lt;?php
class Post extends ActiveRecord
{
	var $has_many = 'comments';

	function validate()
	{
		$this-&gt;validatesPresenceOf('title');
	}
}
?&gt;
</pre>
				<p>次にapp/installers/comment_installer.phpを下記のように書き換えます。</p>
				<pre class="brush: php;">
&lt;?php
class CommentInstaller extends AkInstaller
{
    function up_1()
    {
        $this-&gt;createTable('comments', &quot;
          id,
          body,
          post_id
        &quot;);

        AK::import('post,comment');

        $Post = new Post(1);
        $Post-&gt;comment-&gt;create(array('body'=&gt;&quot;コメントをどうぞ。&quot;));
        $Post-&gt;save();
    }

    function down_1()
    {
        $this-&gt;dropTable('comments');
    }
}
?&gt;
</pre>
				<p>installerファイルを作ったら、コマンドを入力してテーブルを作成します。</p>
				<pre>
php migrate comment install
</pre>
				<p>commentテーブルが作成され、レコードが1つ作成されていることが確認できると思います。このコメントをshowページに表示させるため、app/controllers/blog_controller.phpとapp/views/app/views/blog/show.tplにソースを追記します。</p>
				<p>・blog_controller.phpのshowアクションのfind関数の引数にコメント情報を追加します。</p>
				<pre class="brush: php;">
function show()
{
    $this-&gt;post =&amp;amp; $this-&gt;Post-&gt;find(@$this-&gt;params['id'], array('include'=&gt;'comments'));
}
</pre>
				<p>・show.tplのcontentブロックの最後に追加します。</p>
				<pre class="brush: php;">
&lt;h2&gt;_{Comments}&lt;/h2&gt;
{loop post.comments}
  &lt;hr /&gt;
  &lt;p&gt;{comment.body}&lt;/p&gt;
{end}
</pre>
				<p>showページをリロードしてコメントが表示されていることを確認してください。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image21.png" border="0" alt="image" width="428" height="286" /></p>
				<h3>3). コメント欄を実装</h3>
				<p>app/views/blog/show.tplにコメント欄のソースを追加します。先ほどのコメントを表示するソースの後に追加します。</p>
				<pre class="brush: php;">
  &lt;h3&gt;_{Add a comment}&lt;/h3&gt;
  &lt;?php echo $form_tag_helper-&gt;form_tag(array('action'=&gt;'comment', 'id'=&gt;$post-&gt;id)); ?&gt;
    &lt;?php echo $form_helper-&gt;text_area('comment','body'); ?&gt;&lt;br /&gt;
    &lt;?php echo $form_tag_helper-&gt;submit_tag(&quot;Comment!&quot;); ?&gt;
  &lt;/fom&gt;
</pre>
				<p>app/controllers/blog_controller.phpに、commentアクションを追加します。</p>
				<pre class="brush: php;">
  function comment()
  {
    $Post = $this-&gt;Post-&gt;find($this-&gt;params['id']);
    $Post-&gt;comment-&gt;create($this-&gt;params['comment']);
    $Post-&gt;save();

    $this-&gt;flash['notice'] = $this-&gt;t('Your comment was successfully added');
	$this-&gt;redirectTo(array('action'=&gt;'show', 'id'=&gt;$Post-&gt;id));
  }
</pre>
				<p>showページに入力欄が表示されます。コメントを入力して、正しく動作しているか確認してください。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image22.png" border="0" alt="image" width="428" height="545" /></p>
				<p>次回に続きます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.studio-kingdom.com/akelos/372/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows + Xampp環境にAkelosで簡易Blogを作ってみる(1)</title>
		<link>http://www.studio-kingdom.com/akelos/365</link>
		<comments>http://www.studio-kingdom.com/akelos/365#comments</comments>
		<pubDate>Sat, 22 Nov 2008 02:26:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Akelos]]></category>

		<guid isPermaLink="false">http://www.studio-kingdom.com/?p=365</guid>
		<description><![CDATA[				前回の「Windows + Xampp環境にAkelosのscaffoldを構築してみる(2)」からの続きです。
				ちなみにこの記事はAkelos公式サイトの解説動画を参考にしています。
				1).エラ [...]]]></description>
			<content:encoded><![CDATA[				<p>前回の「<a href="http://www.studio-kingdom.com/akelos/341">Windows + Xampp環境にAkelosのscaffoldを構築してみる(2)</a>」からの続きです。<br />
				ちなみにこの記事は<a href="http://www.akelos.org/screencasts">Akelos公式サイトの解説動画</a>を参考にしています。</p>
				<h3>1).エラー判定を実装</h3>
				<p>scaffoldを作って一通りのCRUDを確認しましたが、もう少し実用的にするためにTitle項目に必須エラー判定を実装します。app/models/post/post.phpにvalidate関数を実装します。</p>
				<pre class="brush: php;">
&lt;?php
class Post extends ActiveRecord
{
	function validate()
	{
    	$this-&gt;validatesPresenceOf('title');
	}
}
?&gt;
</pre>
				<p>画面を開き、Titleを空にして登録、または更新をしてみましょう。次のようにエラーメッセージが表示され、処理が中断されます。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image17.png" border="0" alt="image" width="418" height="208" /></p>
				<h3>2).ViewファイルのRails形式とPHP形式について</h3>
				<p>AkelosではViewファイルをRails形式に書くこともできるようです。次のコマンドをscriptフォルダからコマンドプロンプトで実行してください。</p>
				<pre>
php generate scaffold Post Blog --force --sintags
</pre>
				<p>Viewファイルが書き換えられます。例として変更前と後のソースを下記に載せておきます。</p>
				<p>書換前</p>
				<pre class="brush: php;">
&lt;td class=&quot;operation&quot;&gt;&lt;?php  echo  $blog_helper-&gt;link_to_show($post)?&gt;&lt;/td&gt;
&lt;td class=&quot;operation&quot;&gt;&lt;?php  echo  $blog_helper-&gt;link_to_edit($post)?&gt;&lt;/td&gt;
&lt;td class=&quot;operation&quot;&gt;&lt;?php  echo  $blog_helper-&gt;link_to_destroy($post)?&gt;&lt;/td&gt;
</pre>
				<p>書換後</p>
				<pre class="brush: php;">
&lt;td class=&quot;operation&quot;&gt;&lt;%= link_to_show post %&gt;&lt;/td&gt;
&lt;td class=&quot;operation&quot;&gt;&lt;%= link_to_edit post %&gt;&lt;/td&gt;
&lt;td class=&quot;operation&quot;&gt;&lt;%= link_to_destroy post %&gt;&lt;/td&gt;
</pre>
				<p>公式の解説動画ではRails形式で解説を続けていますが、このブログではphp形式で解説を進めてみます。<br />
				もう一度次のコマンドを実行して、Viewファイルをphp形式に直します。</p>
				<pre>
php generate scaffold Post Blog --force
</pre>
				<h3>3). viewファイルをブログ風に書き直していく</h3>
				<p>app/views/blog/listing.tplをブログ風になるように次のように書き換えます。</p>
				<pre class="brush: php;">
&lt;div id=&quot;sidebar&quot;&gt;
	&lt;h1&gt;_{Tasks}:&lt;/h1&gt;
	&lt;ul&gt;
		&lt;li&gt;&lt;?php  echo  $url_helper-&gt;link_to($text_helper-&gt;translate('Create new Post'), array('action' =&gt; 'add'))?&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&quot;content&quot;&gt;
	&lt;h1&gt;_{The Akelos Blog}&lt;/h1&gt;
	{?posts}
		{loop posts}
		&lt;hr /&gt;
		&lt;h2&gt;&lt;?php echo $url_helper-&gt;link_to($post-&gt;title, array('action'=&gt;'show', 'id'=&gt;$post-&gt;id)); ?&gt;&lt;/h2&gt;
		&lt;p&gt;{post.body}&lt;/p&gt;
		&lt;p&gt;&lt;small&gt;&lt;/small&gt;{post.posted_at}&lt;?php echo $blog_helper-&gt;link_to_edit($post); ?&gt;&lt;/p&gt;
		{end}
	{end}
&lt;/div&gt;
</pre>
				<p>ページを開くと次のように変更されているのが、確認できると思います。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image18.png" border="0" alt="image" width="418" height="280" /></p>
				<p>更にapp/views/blog/show.tplを次のように書き換えてみます。</p>
				<pre class="brush: php;">
&lt;div id=&quot;sidebar&quot;&gt;
&lt;h1&gt;_{Tasks}:&lt;/h1&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;?php  echo  $url_helper-&gt;link_to($text_helper-&gt;translate('Edit this Post'), array('action' =&gt; 'edit', 'id'=&gt;$post-&gt;getId()))?&gt;&lt;/li&gt;
	&lt;li&gt;&lt;?php  echo  $url_helper-&gt;link_to($text_helper-&gt;translate('Back to overview'), array('action' =&gt; 'listing'))?&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;div id=&quot;content&quot;&gt;
	&lt;h1&gt;_{Posts}&lt;/h1&gt;
	&lt;div class=&quot;show&quot;&gt;
	&lt;hr /&gt;
	&lt;h2&gt;&lt;?php echo $url_helper-&gt;link_to($post-&gt;title, array('action'=&gt;'show', 'id'=&gt;$post-&gt;id)); ?&gt;&lt;/h2&gt;
	&lt;p&gt;&lt;?php echo $text_helper-&gt;textilize($post-&gt;body); ?&gt;&lt;/p&gt;
	&lt;p&gt;&lt;small&gt;{post.posted_at}&lt;?php echo $blog_helper-&gt;link_to_edit($post); ?&gt;&lt;/small&gt;&lt;/p&gt;
&lt;/div&gt;
</pre>
				<p>text_helperのtextilizeを使うことで、Wikiのように強調や斜体で文字を飾りつけることができるようになります。下記の例のように入力を行い、show画面で確認してみてください。（ただし、日本語には対応できていないようです。）</p>
				<p><a href="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image19.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image-thumb7.png" border="0" alt="image" width="418" height="176" /></a></p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image20.png" border="0" alt="image" width="418" height="176" /></p>
				<p>次回に続きます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.studio-kingdom.com/akelos/365/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Windows + Xampp環境にAkelosのscaffoldを構築してみる(2)</title>
		<link>http://www.studio-kingdom.com/akelos/341</link>
		<comments>http://www.studio-kingdom.com/akelos/341#comments</comments>
		<pubDate>Wed, 19 Nov 2008 15:13:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Akelos]]></category>

		<guid isPermaLink="false">http://www.studio-kingdom.com/?p=341</guid>
		<description><![CDATA[				前回の「Windows + Xampp環境にAkelosのscaffoldを構築してみる(1)」からの続きです。
				ちなみにこの記事はAkelos公式サイトの解説動画を参考にしています。
				1). モ [...]]]></description>
			<content:encoded><![CDATA[				<p>前回の「<a href="http://www.studio-kingdom.com/akelos/317">Windows + Xampp環境にAkelosのscaffoldを構築してみる(1)</a>」からの続きです。<br />
				ちなみにこの記事は<a href="http://www.akelos.org/screencasts">Akelos公式サイトの解説動画</a>を参考にしています。</p>
				<h3>1). モデルを自動生成</h3>
				<p>前回、コントローラーを生成したのと同じようにscriptフォルダから下記のコマンドを実行してModelを生成します。(上手くいかない場合は、最後に&#8211;forceを付けて実行してください。)</p>
				<pre>
php generate model Post
</pre>
				<p>下記のようにファイルが作成されます。</p>
				<p><a href="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image8.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image-thumb5.png" border="0" alt="image" width="557" height="289" /></a></p>
				<h3>2). インストーラーを実行して、テーブルを作成</h3>
				<p>先ほどの作業で生成されたpost_installer.phpを使ってテーブルを作成します。<br />
				/app/installers/post_installer.phpを下記のように書き換えてください。</p>
				<pre class="brush: php;">
&lt;?php
class PostInstaller extends AkInstaller
{
    function up_1()
    {
        $this-&gt;createTable('posts', &quot;
            id,
            title
        &quot;);
    }

    function down_1()
    {
        $this-&gt;dropTable('posts');
    }
}
?&gt;
</pre>
				<p>次に下記のコマンドを実行します。</p>
				<pre>
php migrate post install
</pre>
				<p>SQLが実行され、postsテーブルが作成されます。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image9.png" border="0" alt="image" width="500" height="211" /></p>
				<h3>3). scaffoldを実行</h3>
				<p>ここでようやくscaffoldの出番です。下記のコマンドを実行してください。</p>
				<pre>
php generate scaffold Post Blog --force
</pre>
				<p>ここでも自動的にファイルが生成され、scaffoldが構築されます。早速、ブラウザで確認してみましょう。<br />
				URLに「<a href="http://localhost/blog/">http://localhost/blog/</a>」と打ち込んでアクセスすると、下記のような画面が表示されると思います。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image10.png" border="0" alt="image" width="500" height="130" /></p>
				<p>「Create new Post」のリンクをクリックすると編集画面が表示されます。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image11.png" border="0" alt="image" width="500" height="256" /></p>
				<p>また、「Back to overview」で戻れば、登録した情報が一覧表示され、参照／編集／削除も自由に行うことができます。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image12.png" border="0" alt="image" width="500" height="184" /></p>
				<h3>3). カラムを追加する</h3>
				<p>postsテーブルにカラムを追加します。/app/installers/post_installer.phpを開いて、up_1ファンクションの下に下記のup_2ファンクションを追加してください。</p>
				<pre class="brush: php;">
    function up_2()
    {
        $this-&gt;addColumn('posts', 'body text');
        $this-&gt;addColumn('posts', 'posted_at');
    }
</pre>
				<p>先ほどと同じようにinstallコマンドを実行します。</p>
				<pre>
php migrate post install
</pre>
				<p>テーブルに新たにbodyカラムとposted_atカラムが追加されたことを確認してください。ちなみにカラム名に_atをつけるとDate型扱いになるようです。</p>
				<p><a href="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image13.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image-thumb6.png" border="0" alt="image" width="499" height="233" /></a></p>
				<p>続いて、scaffoldも再度実行します。</p>
				<pre>
php generate scaffold Post Blog --force
</pre>
				<p>「<a href="http://localhost/blog/">http://localhost/blog/</a>」をリロードすると、新しい項目が増えていることが確認できると思います。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image14.png" border="0" alt="image" width="500" height="665" /></p>
				<p>公式サイトの解説動画では、Mysqlのツールを使ってpostsテーブルのposted_atカラムをbodyカラムの前に移動することで、画面に表示される順番も変更されることが説明されています。phpmyadminで、同じことが出来ないか調べてみましたが、どうやらそのような機能は無いようです。</p>
				<p>また、テーブルのカラムの順序を変更する方法は、既存のテーブルを順序を変更した状態でコピーし、古いテーブルを削除、コピーしたテーブルを元の名前にリネームといった手順を踏まなければならないようです。（<a href="http://dev.mysql.com/doc/refman/4.1/ja/change-column-order.html">MySQL :: MySQL 4.1 リファレンスマニュアル :: A.7.2 テーブルのカラム順序を変更する方法</a>を参照。）</p>
				<p>このブログでのakelosのscaffoldの説明は以上ですが、解説動画では更にコメント機能をつけるなどしてブログを構築していきます。気が向いたら、続きを書こうと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.studio-kingdom.com/akelos/341/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows + Xampp環境にAkelosのscaffoldを構築してみる(1)</title>
		<link>http://www.studio-kingdom.com/akelos/317</link>
		<comments>http://www.studio-kingdom.com/akelos/317#comments</comments>
		<pubDate>Mon, 17 Nov 2008 02:44:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Akelos]]></category>

		<guid isPermaLink="false">http://www.studio-kingdom.com/?p=317</guid>
		<description><![CDATA[				前回の「Windows + Xampp環境にAkelosをインストール」からの続きです。今回はAkelosのscaffoldを試してみます。
				ちなみにこの記事はAkelos公式サイトの解説動画を参考にして [...]]]></description>
			<content:encoded><![CDATA[				<p>前回の「<a href="http://www.studio-kingdom.com/php/302">Windows + Xampp環境にAkelosをインストール</a>」からの続きです。今回はAkelosのscaffoldを試してみます。<br />
				ちなみにこの記事は<a href="http://www.akelos.org/screencasts" target="_blank">Akelos公式サイトの解説動画</a>を参考にしています。</p>
				<h3>1). PHPコマンドを使用できるように環境を整える</h3>
				<p>scriptフォルダ内のファイルをコマンドプロンプトから実行して、ファイルやソースを自動生成することが出来ますが<br />
				この操作を快適に実行できるように、Windowsの環境設定を変更します。<br />
				（既にphpにパスを通している方はこの項目は飛ばしてください。）<br />
				まず、マイコンピュータを右クリックし、「プロパティ」→「詳細設定」→「環境変数」と進んでください。<br />
				下記のようなウインドウが表示されるので、「システム環境変数」の「<strong>Path</strong>」を選択して、「編集」ボタンをクリックします。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image4.png" border="0" alt="image" width="447" height="400" /></p>
				<p>「変数値」の最後に「;C:\xampp\php\」と追記します。(xamppをCドライブの直下にインストールした場合)<br />
				先頭のセミコロンを忘れないように注意してください。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image5.png" border="0" alt="image" width="403" height="139" /></p>
				<p>「OK」を押してコマンドの設定は完了です。コマンドプロンプトから「php -v」と打ち込んで、バージョン情報などが表示されるかテストしてみてください。また、コマンドプロンプトからわざわざAkelosのscriptフォルダまで移動するのは面倒ですので、こちらの「<a href="http://pasofaq.jp/windows/command/shortcut.htm">フォルダのショートカットメニューにコマンドプロンプトを表示させる</a>」を参考に任意のフォルダからコマンドプロンプトを呼び出せるようにしておくと良いでしょう。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image6.png" border="0" alt="image" width="541" height="199" /></p>
				<h3>2). コントローラーを自動生成</h3>
				<p>generateを使用して、コントローラーを生成します。scriptフォルダから、下記のコマンドを実行します。</p>
				<pre>
php generate controller Blog
</pre>
				<p>実行後/app/controllersフォルダを確認すると、「blog_controller.php」が作成させていることが確認できると思います。</p>
				<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image7.png" border="0" alt="image" width="404" height="211" /></p>
				<p>生成されたblog_controller.phpに下記のようにindexファンクションを付け加えて、動作確認をします。<br />
				ブラウザで「http;//localhost/blog」を開くと「こんにちは、世界！」と表示されることが確認できると思います。</p>
				<pre class="brush: php;">
&lt;?php
class BlogController extends ApplicationController
{
	function index()
	{
		$this-&gt;renderText('こんにちは、世界！');
	}
}
?&gt;
</pre>
				<h3>3). viewファイルを作成</h3>
				<p>次にviewファイルを作ってviewファイルからブラウザに文字を表示させてみます。<br />
				/app/views/blogフォルダに下記の内容で「index.<strong>tpl</strong>」というファイルを作成します。</p>
				<pre class="brush: php;">
&lt;h1&gt;テンプレートからこんにちは！&lt;/h1&gt;
</pre>
				<p>また、blog_controller.phpは下記のように変更してください。</p>
				<pre class="brush: php;">
&lt;?php
class BlogController extends ApplicationController
{
	function index()
	{
	}
}
?&gt;
</pre>
				<p>先ほどと同じようにブラウザで「<a href="http://localhost/blog">http://localhost/blog</a>」を開くと、今度は「テンプレートからこんにちは！」と表示されることが確認できると思います。</p>
				<p>次回に続きます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.studio-kingdom.com/akelos/317/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows + Xampp環境にAkelosをインストール</title>
		<link>http://www.studio-kingdom.com/php/302</link>
		<comments>http://www.studio-kingdom.com/php/302#comments</comments>
		<pubDate>Sun, 16 Nov 2008 17:17:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Akelos]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.studio-kingdom.com/?p=302</guid>
		<description><![CDATA[				最近、AkelosというPHPフレームワークが気になってしょうがない。簡単に説明するとRoRの完全コピーを目指したフレームワークで、CakePHPと比較しても、あらゆる面で優れているようです。Akelosが注目を [...]]]></description>
			<content:encoded><![CDATA[				<p>最近、AkelosというPHPフレームワークが気になってしょうがない。簡単に説明するとRoRの完全コピーを目指したフレームワークで、CakePHPと比較しても、あらゆる面で優れているようです。Akelosが注目を浴びるようになったのは、下記の記事が発端ではないかと。</p>
				<p><a href="http://blog.takeda-soft.jp/blog/show/204">Akelosにしました | ブログ.武田ソフト.jp</a></p>
				<p>ということで、Akelosを試してみました。</p>
				<h3>1). Akelosをダウンロード</h3>
				<p><a href="http://www.akelos.org/">Akelos PHP Framework</a>からソースをダウンロード。</p>
				<p><img src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image-thumb.png" border="0" alt="image" width="500" height="285" /></p>
				<p>ダウンロードしたソースを解凍して、Xamppで指定しているドキュメントルートに配置。<br />
				ブラウザから「<a href="http://localhost/">http://localhost/」</a>にアクセスすると、下記の画面が表示されました。</p>
				<p><img src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image-thumb1.png" border="0" alt="image" width="500" height="223" /></p>
				<h3>2). データベースを構築</h3>
				<p>設定ウィザードを開始する前に、データベースを作っておきます。製品、開発、テストの3つのデータベースが必要らしいので、下記のSQLを実行しました。テストは「test」ではなく、「test<strong>s</strong>」なので間違えないように。</p>
				<pre class="brush: sql;">
create database project default character set utf8;
create database project_dev default character set utf8;
create database project_tests default character set utf8;
</pre>
				<h3>3). 設定ウィザードを開始</h3>
				<p>「設定ウィザードを開始します」のリンクをクリックするとMySQL／PostgreSQL／SQLiteを選択する画面が表示。<br />
				MySQLを選択して次に進み、下記画面にて先ほど作成したデータベースの情報を入力して「次へ」ボタンをクリック。</p>
				<p><a href="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image1.png"><img src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image-thumb2.png" border="0" alt="image" width="347" height="480" /></a></p>
				<p>言語設定の画面が表示されました。デフォルトの設定で、「ja」が含まれているので、多分問題ないかと。そのまま「次へ」ボタンを押して先に進みました。</p>
				<p><img src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image-thumb3.png" border="0" alt="image" width="500" height="179" /></p>
				<h3>4). インストール完了</h3>
				<p>以上で、Akelosのインストールが完了しました。ウィザード形式だったので、とても簡単でした。次回はscaffoldを試してみます。</p>
				<p><img src="http://www.studio-kingdom.com/wp-content/uploads/2008/11/image-thumb4.png" border="0" alt="image" width="500" height="268" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.studio-kingdom.com/php/302/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
