<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>秋元 &#187; symfony</title>
	<atom:link href="http://akimoto.jp/blog/category/php/symfony-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://akimoto.jp/blog</link>
	<description>育休明けブロガーが会社ブログや英語ブログで扱いづらい余りネタを書くブログ</description>
	<lastBuildDate>Mon, 06 Feb 2012 15:13:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/category/php/symfony-php/feed/" />
		<item>
		<title>symfony1.x+propel1.3+MySQL5.1/5.5で生成したSQLのCreate TableがType=InnoDBで失敗する場合の対処法</title>
		<link>http://akimoto.jp/blog/2011/02/03/propel-mysql55-sql-error-on-type-innodb/</link>
		<comments>http://akimoto.jp/blog/2011/02/03/propel-mysql55-sql-error-on-type-innodb/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 00:50:08 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[create table]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[InnoDB]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Propel1.3]]></category>
		<category><![CDATA[Propel1.4]]></category>
		<category><![CDATA[symfony1.2]]></category>
		<category><![CDATA[syntax error]]></category>
		<category><![CDATA[type]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=3191</guid>
		<description><![CDATA[サーバーをMySQL5.0から5.5に変えたら、symfony1.2+propelでbuild:allした際に生成されたSQLがエラーで動かなくなりました。 このようなエラー You have an error in y &#8230; <a href="http://akimoto.jp/blog/2011/02/03/propel-mysql55-sql-error-on-type-innodb/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2011/02/03/propel-mysql55-sql-error-on-type-innodb/">symfony1.x+propel1.3+MySQL5.1/5.5で生成したSQLのCreate TableがType=InnoDBで失敗する場合の対処法</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>サーバーをMySQL5.0から5.5に変えたら、symfony1.2+propelでbuild:allした際に生成されたSQLがエラーで動かなくなりました。</p>
<p>このようなエラー</p>
<blockquote><p>You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘Type=InnoDB’ at line 13
</p></blockquote>
<p>MySQL5.1以降で、テーブルのエンジン指定でtype=が使えなくなり、<a href="http://dev.mysql.com/doc/refman/5.1/en/create-table.html">engine=と書かなければいけなくなった</a>ようです(table_optionのところ)。<a href="http://zippykid.com/blog/2010/05/symfony-mysql5-5-error/">propel1.4以前のジェネレーターでは&#8221;type=InnoDB&#8221;のようなSQL文を生成している</a>ので、古いpropelを使っているsymfony1.xではMySQLを5.1以上に変更した際にテーブルが生成できなくなってしまいます。</p>
<p>symfony1.2がpropel1.3-devを更新することはなさそうなので、これを回避するには、自分でpropelにパッチをあてることになります。</p>
<p>(symfony)/lib/plugins/sfPropelPlugin/lib/vendor/propel-generator/classes/propel/engine/builder/sql/mysql/MysqlDDLBuilder.php</p>
<p>163行目の</p>
<blockquote><p>		$script .= &#8220;Type=$mysqlTableType&#8221;;
</p></blockquote>
<p>を、</p>
<blockquote><p>		$script .= &#8220;Engine=$mysqlTableType&#8221;;
</p></blockquote>
<p>に修正。</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2011/02/03/propel-mysql55-sql-error-on-type-innodb/">symfony1.x+propel1.3+MySQL5.1/5.5で生成したSQLのCreate TableがType=InnoDBで失敗する場合の対処法</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2011/02/03/propel-mysql55-sql-error-on-type-innodb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2011/02/03/propel-mysql55-sql-error-on-type-innodb/" />
	</item>
		<item>
		<title>Windows+XamppでSymfony2開発環境を作る</title>
		<link>http://akimoto.jp/blog/2010/11/19/symfony2-development-on-windows-xampp/</link>
		<comments>http://akimoto.jp/blog/2010/11/19/symfony2-development-on-windows-xampp/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 14:44:20 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[ネタ]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=2988</guid>
		<description><![CDATA[第一回Symfony2勉強会のために、WindowsマシンにSymfony2の開発環境を構築したメモ [2011-10-14 もろもろ更新] Windows版のPHP, MongoDBでSymfony2 メモリやディスク &#8230; <a href="http://akimoto.jp/blog/2010/11/19/symfony2-development-on-windows-xampp/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2010/11/19/symfony2-development-on-windows-xampp/">Windows+XamppでSymfony2開発環境を作る</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>第一回Symfony2勉強会のために、WindowsマシンにSymfony2の開発環境を構築したメモ [2011-10-14 もろもろ更新]</p>
<h3>Windows版のPHP, MongoDBでSymfony2</h3>
<p>メモリやディスクがふんだんにある場合は、VMWare等の仮想環境を使ってLinuxなりをインストールする方がいいかと思います。理由は、</p>
<ul>
<li>デプロイ先の実機サーバはどのみちLinuxとかが多いだろう</li>
<li>上にも関連するけど、各コンポーネントでWindowsでの実績が少なかったり、Windowsだけ動かないバグがあったりするかもしれない</li>
</ul>
<p>対象は、仮想環境とか動かすといっぱいいっぱいな非力なノートPCでなんとかしたい人ぐらい。</p>
<p>ちなみにこの手順は2004年に買ったLet&#8217;s note R3E, Pentium M 1.1GHz, メモリ768MB, HDD40Gに、Windows XP SP3で動作確認しました。</p>
<h3>Xamppで手っ取り早く環境を作る</h3>
<p><a href="http://www.apachefriends.org/">Xampp</a>使います。既にApacheやMySQLが単体で入ってたら、アンインストールか最低でも止めてください。</p>
<p>[更新 2011-01-31] Xampp 1.7.4が正式公開されました。以下の手順の一部の作業は不要となりました</p>
<p>[更新 2011-10-14] Xamppは1.7.7になってますね</p>
<p><strike>Symfony2にはPHP5.3.2以上が必要ですが、最新のXampp1.7.3のPHPは5.3.1です。動きません。しょうがないので、Xamppの次のバージョン1.7.4のベータ版を入れます。これならPHPは5.3.3</p>
<p><a href="http://www.apachefriends.org/en/xampp-beta.html">Xampp beta xampp-win32-1.7.4-beta2-vc6.7z ダウンロード</a></p>
<p>ベータ版は.7zしか提供されてない…</p>
<p>拡張子.7z のファイルの展開。アーカイバによっては対応してないので、<a href="http://sevenzip.sourceforge.jp/">7-zip</a>(32bit x86)とか入れる。7Zfm.exeを実行し、ファイル指定してc:\xamppとかに展開。</p>
<p>> cd \xampp<br />
> setup_xampp.bat<br />
適当なキーを押してインストール完了<br />
</strike></p>
<p><ins><a href="http://www.apachefriends.org/jp/xampp-windows.html">xampp for windows</a>からXamppのインストーラをダウンロードして、実行</ins></p>
<p>> xampp-control.exe<br />
Apacheの[Start]を押す</p>
<p>ブラウザでhttp://localhost/にアクセス。xamppのページが出たらOK。「MySQL動いてないけどいいの?」みたいなことが出る。マシンに余力あればMySQLも[Start]してもよい</p>
<h3>Symfony2のダウンロード</h3>
<p><strike><a href="http://symfony-reloaded.org/code">Sandboxのzip</a>をダウンロード</strike></p>
<p>[更新] symfony.comドメインに移っているので、<a href="http://symfony.com/download" target="_blank">Symfony.comのdownloadページ</a>からダウンロード</p>
<p>適当な場所に展開(c:\xampp\sandbox)</p>
<p>> cd \xampp\sandbox<br />
> \xampp\php\php.exe check.php<br />
不足している設定がエラー・警告で表示されるのでこれをつぶしていく</p>
<h3>Apacheからsandboxを呼べるように</h3>
<p>sandboxというドメインでアクセスすることにする。</p>
<p>Apacheの設定ファイルで、バーチャルホストを扱うファイルを編集</p>
<p>> \xampp\apache\conf\extra\httpd-vhosts.conf</p>
<pre><code>NameVirtualHost *:80

# sandboxでアクセスしてきたらC:/xampp/sandbox/webにまわす
&lt;VirtualHost *:80&gt;
  ServerAdmin postmaster@sandbox
  DocumentRoot &quot;C:/xampp/sandbox/web&quot;
  ServerName sandbox
  ServerAlias www.sandbox
  ErrorLog &quot;logs/sandbox-error.log&quot;
  CustomLog &quot;logs/sandbox-access.log&quot; combined
&lt;/VirtualHost&gt;

# ファイルへのアクセス権を与え、.htaccess等が効くようにする
&lt;Directory &quot;C:/xampp/sandbox/web&quot;&gt;
  AllowOverride All
  Order deny,allow
  allow from all
&lt;/directory&gt;</code></pre>
<p>Apache再起動</p>
<h4>ブラウザからsandboxでApacheにつながるように</h4>
<p>hostsファイルを編集</p>
<p>> notepad \Windows\system32\drivers\etc\hosts</p>
<pre><code># 追加
127.0.0.1 sandbox</code></pre>
<p># Windows Vista/7とかだと、管理者として実行とかしないと書き換えられないかも</p>
<h3>ブラウザからチェックスクリプトを実行</h3>
<p>http://sandbox/check.php</p>
<p>水色で表示されたウォーニングを片付けていく</p>
<h4>short_open_tagをオフに</h4>
<p>&#8220;&lt;?&#8221;のこと。これはオフにすべき。</p>
<p># Xamppのデフォルト設定って…</p>
<p>> \xampp\php\php.ini</p>
<pre><code>short_open_tag = Off
;short_open_tag = On</code></pre>
<h4>APCを有効にする</h4>
<p>APCについても、Xampp 1.7.4の正式版で同梱されているので簡単になりました<br />
<strike><br />
ビルド済みのWindows版dllを<a href="http://downloads.php.net/pierre/">php_apc-3.1.5-5.3-vc6-x86.zip</a> からダウンロード、展開</p>
<p>php_apc.dllをc:\xampp\php\ext にコピー<br />
</strike><br />
c:\xampp\php\php.ini を開いて、[PECL]の後ろに</p>
<pre><code>extension=php_apc.dll
</code></pre>
<h4>XSLTを有効にする</h4>
<p>Propel使わないととりあえず不要っぽいけど。php.iniで、</p>
<pre><code># 追加
extension=php_xsl.dll</code></pre>
<h4>posix_isatty() CLI出力に色をつける</h4>
<p>PHPのposix関数はWindowsでは使えないとマニュアルにあるので、この警告は消せない</p>
<h4>正しいタイムゾーンの設定</h4>
<p>何か設定してあれば警告は出ないのだけれど、実はXampp Betaのphp.iniはドイツのベルリン時刻になっている。そこで、php.iniを修正</p>
<pre><code># date.timezone = Europe/Berlin
date.timezone = Asia/Tokyo</code></pre>
<p>その後ろのデフォルトlatitude/longitudeも自分の緯度経度にしておいても良い。どこで使うか知らないけど</p>
<p><a href="http://akimoto.jp/blog/wp-content/uploads/2010/11/xampp-symfony2-success.png"><img src="http://akimoto.jp/blog/wp-content/uploads/2010/11/xampp-symfony2-success.png" alt="" title="xampp-symfony2-success" width="399" height="241" class="alignnone size-full wp-image-2992" /></a></p>
<h3>sandboxについてきたアプリの実行</h3>
<p><a href="http://docs.symfony-reloaded.org/quick_tour/the_big_picture.html">クイックツアー</a>参照</p>
<p>http://sandbox/index_dev.php/</p>
<p>Hello, Fabienアプリ</p>
<p>http://sandbox/index_dev.php/hello/Fabien</p>
<hr />
<h3>MongoDBインストール</h3>
<p><a href="http://www.mongodb.org/downloads">ダウンロードページ</a> Windows 32bit</p>
<p><a href="http://www.mongodb.org/display/DOCS/Quickstart+Windows#QuickstartWindows-Createadatadirectory">説明</a></p>
<p>今のstable最新は1.6.3。これをダウンロード (どこでもいいんだけど)c:\xamppに展開</p>
<p>> cd c:\xampp\mongodb-win32-i386-1.6.3<br />
> cd bin<br />
> mongod.exe</p>
<p>おっとエラー。DB置き場は手で掘らないといけない</p>
<p>> md \data<br />
> md \data\db<br />
> mongod<br />
Windowsの警告→ブロック解除</p>
<h3>MongoDBクライアントから確認</h3>
<p>もういっこコンソール開く</p>
<p>> cd \xampp\mongodb-win32-i386-1.6.3\bin<br />
> mongo<br />
> 1+2<br />
3<br />
で良し<br />
> Ctrl+C</p>
<h3>PHPからMongoDBを使えるようにする</h3>
<p>説明<a href="http://www.mongodb.org/display/DOCS/PHP+Language+Center">ここ</a></p>
<p>PHP MongoDBドライバはpeclなので、自分でビルドするか誰かがビルドしたものを持ってくるかしないといけない。ここは当然後者。<a href="https://github.com/mongodb/mongo-php-driver/downloads">ここからダウンロード</a>する</p>
<p>VC6でts(スレッドセーフ)なバイナリをダウンロード mongo-1.0.10-php5.3vc6ts.zip</p>
<p>展開</p>
<p>php_mongo.dllをc:\xampp\php\ext にコピー</p>
<p>c:\xampp\php\php.iniを編集 [PECL]の後ろに</p>
<pre><code>extension=php_mongo.dll</code></pre>
<p>PHPから動作確認</p>
<p>Xampp-controlからApacheを再起動([stop]-[start])</p>
<p>http://localhost/ のxamppからphpinfo()を表示</p>
<p>&#8220;mongo&#8221;でページ内検索。設定が出てればOK</p>
<h4>PHPから動作確認</h4>
<p>適当なphpファイルを作る(mongo.php)</p>
<pre><code>&lt;?php

$mongo = new Mongo('localhost:27017');
$fuga = $mongo-&gt;hoge-&gt;fuga;
$fuga-&gt;insert(array('1' =&gt; 1));
echo $fuga-&gt;count();</code></pre>
<p>実行</p>
<p>php mongo.php</p>
<p>実行のたびにエラー無く、表示される数が増えれば動いている</p>
<h3>あとやること</h3>
<p>Apache, (MySQL), MongoDBをWindowsサービスとしてインストールすると、PC再起動したときに動くようにできる。Apache/MySQLについてはc:\xamppの下にサービスにするコマンドがあるのでそれらを実行。</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2010/11/19/symfony2-development-on-windows-xampp/">Windows+XamppでSymfony2開発環境を作る</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2010/11/19/symfony2-development-on-windows-xampp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2010/11/19/symfony2-development-on-windows-xampp/" />
	</item>
		<item>
		<title>symfony1.3/1.4がリリースされましたね</title>
		<link>http://akimoto.jp/blog/2009/12/01/symfony1-3_and_1-4_released/</link>
		<comments>http://akimoto.jp/blog/2009/12/01/symfony1-3_and_1-4_released/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 12:12:33 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[Swift Mailer]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=1715</guid>
		<description><![CDATA[PHPのフレームワークsymfonyの新しいバージョンがでました! リリース文 主な変更点はFivestarさんが簡単にまとめられてます。 1.2のメンテナンス期間の終わりを根拠に1.0を使い続けるという人がいて最近悲し &#8230; <a href="http://akimoto.jp/blog/2009/12/01/symfony1-3_and_1-4_released/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/12/01/symfony1-3_and_1-4_released/">symfony1.3/1.4がリリースされましたね</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>PHPのフレームワークsymfonyの新しいバージョンがでました!</p>
<p><a href="http://www.symfony-project.org/blog/2009/12/01/symfony-1-3-and-1-4-stable-released">リリース文</a></p>
<p>主な変更点は<a href="http://d.hatena.ne.jp/Fivestar/20091201/1259668781">Fivestarさんが簡単にまとめられてます</a>。</p>
<p>1.2のメンテナンス期間の終わりを根拠に1.0を使い続けるという人がいて最近悲しかったですが、これで堂々と「新規プロジェクトは1.4で」「1.2は1.3で(可能なら1.4)」とできますね。</p>
<p>メールライブラリとしてSwift Mailer 4が同梱されていますが、まだJISメールの問題が直ってないので、ご注意ください。</p>
<p>単発でsymfony1.3/1.4からメールを送りたいだけなら、日本語JISメールに対応した他のメールライブラリをlib/vendorに突っ込んで呼ぶとかでいいと思います。symfonyとSwift Mailerが用意しているいろいろな技をJISでも活用するには、もう少しお待ちください。</p>
<p>symfonyの導入は、新しい1.3/1.4でも<a href="http://www.symfony-project.org/getting-started/1_4/ja/">日本語のマニュアル</a>が既に用意されています。</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/12/01/symfony1-3_and_1-4_released/">symfony1.3/1.4がリリースされましたね</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/12/01/symfony1-3_and_1-4_released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/12/01/symfony1-3_and_1-4_released/" />
	</item>
		<item>
		<title>Symfony Meetup Tokyoやります</title>
		<link>http://akimoto.jp/blog/2009/09/05/symfony-meetup-tokyo/</link>
		<comments>http://akimoto.jp/blog/2009/09/05/symfony-meetup-tokyo/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 23:24:04 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=1564</guid>
		<description><![CDATA[PHPカンファレンス当日でいろいろと連絡が滞っていてすみません。 6(日)昼の「symfonyのFabienさんと東京観光」は予定通りやります。これまで参加を表明された方は、朝10:00に四谷に集まると思っていてください &#8230; <a href="http://akimoto.jp/blog/2009/09/05/symfony-meetup-tokyo/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/09/05/symfony-meetup-tokyo/">Symfony Meetup Tokyoやります</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>PHPカンファレンス当日でいろいろと連絡が滞っていてすみません。</p>
<p>6(日)昼の「<a href="http://akimoto.jp/blog/2009/09/02/tokyo-one-day-sightseeing-with-symfony-fabien-potencier/">symfonyのFabienさんと東京観光</a>」は予定通りやります。これまで参加を表明された方は、朝10:00に四谷に集まると思っていてください(途中から参加とか遅れる人のために、あとでメールで詳細は送ります) まだ人数増やせると思うので参加表明は<a href="http://akimoto.jp/blog/2009/09/02/tokyo-one-day-sightseeing-with-symfony-fabien-potencier/">こちら</a>を読んでください。</p>
<p>6(日)の夜、こちらも四谷近辺で、Symfony Meetupをやります。懇親会です。いい機会なのでsymfony使いで集まってゴハンを食べましょう。</p>
<h3>申し込みフォーム</h3>
<p>Symfony Meetup Tokyoは盛況のうちに終了いたしました。参加くださったみなさま、ありがとうございました!</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/09/05/symfony-meetup-tokyo/">Symfony Meetup Tokyoやります</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/09/05/symfony-meetup-tokyo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/09/05/symfony-meetup-tokyo/" />
	</item>
		<item>
		<title>技術メディアのみなさん、symfonyのFabien Potencierさんへの取材どうでしょう?</title>
		<link>http://akimoto.jp/blog/2009/09/03/how-about-symfony-interview/</link>
		<comments>http://akimoto.jp/blog/2009/09/03/how-about-symfony-interview/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 14:51:37 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[pcj09]]></category>
		<category><![CDATA[カンファレンス]]></category>
		<category><![CDATA[取材]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=1561</guid>
		<description><![CDATA[PHPカンファレンスの開催がいよいよ明日・明後日となりました。 今回は、10周年ということで海外からも3名の講演者をお呼びしての充実したカンファレンスとなっています。(参加は両日とも満員で締め切っています) symfon &#8230; <a href="http://akimoto.jp/blog/2009/09/03/how-about-symfony-interview/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/09/03/how-about-symfony-interview/">技術メディアのみなさん、symfonyのFabien Potencierさんへの取材どうでしょう?</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p><a href="http://phpcon.php.gr.jp/2009/">PHPカンファレンス</a>の開催がいよいよ明日・明後日となりました。</p>
<p>今回は、10周年ということで海外からも3名の講演者をお呼びしての充実したカンファレンスとなっています。(参加は両日とも満員で締め切っています)</p>
<p>symfonyのリーダーFabien Potencierさん、FacebookのBrian Shireさん、台湾PHPユーザー会の江 明宗さんのお三方は、なかなか東京で話せる機会もないと思いますので、ぜひ取材等いかがでしょうか? (拙いですが通訳できます)</p>
<p>特に、カンファレンス当日は<a href="http://phpcon.php.gr.jp/2009/page/sponsors">PHPカンファレンスのメディアスポンサー各社(スポンサーありがとうございます)のみなさま</a>に、ぜひ取材いただければと思います。</p>
<p>ご興味ありましたら、ぜひPHPカンファレンスでお声をかけていただくか、akimotoアットgmailかtwitter.com/akkyまで御連絡ください</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/09/03/how-about-symfony-interview/">技術メディアのみなさん、symfonyのFabien Potencierさんへの取材どうでしょう?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/09/03/how-about-symfony-interview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/09/03/how-about-symfony-interview/" />
	</item>
		<item>
		<title>symfonyのFabienさんと東京一日観光</title>
		<link>http://akimoto.jp/blog/2009/09/02/tokyo-one-day-sightseeing-with-symfony-fabien-potencier/</link>
		<comments>http://akimoto.jp/blog/2009/09/02/tokyo-one-day-sightseeing-with-symfony-fabien-potencier/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 16:58:53 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[東京]]></category>
		<category><![CDATA[観光]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=1556</guid>
		<description><![CDATA[symfonyユーザーの皆様 きたる5日(土)のPHPカンファレンス2009テックデイでは、symfonyのプロジェクトリーダー兼Sensio社の社長であるFabien Potencier(ファビエン・プートンシェ)さん &#8230; <a href="http://akimoto.jp/blog/2009/09/02/tokyo-one-day-sightseeing-with-symfony-fabien-potencier/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/09/02/tokyo-one-day-sightseeing-with-symfony-fabien-potencier/">symfonyのFabienさんと東京一日観光</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>symfonyユーザーの皆様</p>
<p>きたる<a href="http://phpcon.php.gr.jp/2009/">5日(土)のPHPカンファレンス2009テックデイ</a>では、symfonyのプロジェクトリーダー兼Sensio社の社長であるFabien Potencier(ファビエン・プートンシェ)さんがはるばるフランスから初来日し、symfonyプロジェクトについて講演されます。</p>
<p>今回が初来日、また講演の翌日6日(日曜日)がオフということで、Fabienさんと一緒に日本のsymfonyコミュニティ(ユーザー/開発者)のみなさんとめぐる東京一日観光を行ないます。</p>
<p>二日間のPHPカンファレンスの直後でお疲れかもしれませんが、symfonyの今後についてやプロジェクトの要望などについて直接Fabienさんと話せる貴重な機会になるかと思います(通訳は有志2,3名でお手伝いしますが、ちょっと勇気を出して直接英語で、あるいは仏語でお話してみるのもよいかと)。</p>
<p>ツアー名: (仮)symfonyについて語りつつ一日東京観光<br />
日時: 2009年9月6日(日) 朝から夜まで<br />
場所候補(検討中): 浅草寺・秋葉原・皇居・明治神宮/原宿・まだ大地に立ってればお台場ガンダム・都庁展望台・他に面白いところあれば<br />
移動手段: 電車/徒歩メイン<br />
参加資格: symfonyを使ってる、使いたい、これを機に○○○○○○○から切り替えてみようかな、という人。あと昼食夕食場所の手配とかもろもろ手伝ってくれる人<br />
予定人数: 多くて10人ぐらい? そこまで居ないと思いますが、20人とか30人とかになったらたいへんかもと思いますがどうでしょう?</p>
<p>申し込み: 「a k i m o t o あっと gmail どっと com」へ、サブジェクトに「symfony東京観光参加希望」と入れてください。金曜夜締め切り</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/09/02/tokyo-one-day-sightseeing-with-symfony-fabien-potencier/">symfonyのFabienさんと東京一日観光</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/09/02/tokyo-one-day-sightseeing-with-symfony-fabien-potencier/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/09/02/tokyo-one-day-sightseeing-with-symfony-fabien-potencier/" />
	</item>
		<item>
		<title>symfony1.2でsfSuperCachePluginを使う</title>
		<link>http://akimoto.jp/blog/2009/05/08/use-sfsupercacheplugin-on-symfony12/</link>
		<comments>http://akimoto.jp/blog/2009/05/08/use-sfsupercacheplugin-on-symfony12/#comments</comments>
		<pubDate>Fri, 08 May 2009 13:25:38 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[sfSuperCachePlugin]]></category>
		<category><![CDATA[super cache]]></category>
		<category><![CDATA[symfony1.2]]></category>
		<category><![CDATA[キャッシュ]]></category>
		<category><![CDATA[チューニング]]></category>
		<category><![CDATA[パフォーマンス]]></category>
		<category><![CDATA[設定]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=1259</guid>
		<description><![CDATA[symfonyでsuper cacheを実現するsfSuperCachePluginの、symfony1.2での使い方について。 super cacheは、動的にページを生成するWebアプリケーションにおいて、ほとんどの &#8230; <a href="http://akimoto.jp/blog/2009/05/08/use-sfsupercacheplugin-on-symfony12/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/05/08/use-sfsupercacheplugin-on-symfony12/">symfony1.2でsfSuperCachePluginを使う</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>symfonyでsuper cacheを実現する<a href="http://www.symfony-project.org/plugins/sfSuperCachePlugin">sfSuperCachePlugin</a>の、symfony1.2での使い方について。</p>
<p>super cacheは、動的にページを生成するWebアプリケーションにおいて、ほとんどの場合にWebサーバの仕組みを使って静的に作成したhtml(等)を直接クライアントに返すことでサーバの応答を早くし、サーバの負荷も軽減する手法です。</p>
<p>よく知られているのはWordPressのSuperCacheプラグインです。これを正しく設定すれば、動的生成でありながら静的生成のパフォーマンスを持つブログを運営することができます。</p>
<p>これまで自作でsuper cache相当の仕組みを作ったことはあるのですが、symfonyのプラグインがあるのでこれが使えるかどうか調べてみました。</p>
<p>とりあえず、<a href="http://www.symfony-project.org/plugins/sfSuperCachePlugin">README</a>にあるように進めてみます。</p>
<h3>プラグインのインストール</h3>
<p>まず、プラグインはsymfony1.0にしか対応していませんので、普通にsymfonyコマンドでインストールしようとするとエラーになります。</p>
<p>コマンドインストールで失敗したときはいつもそうですが、パッケージを持ってきて自分で展開してみます。バージョンチェックが入ってるだけのことも多いので、これで動いてしまうプラグインも多いです。</p>
<p>> wget http://plugins.symfony-project.org/get/sfSuperCachePlugin/sfSuperCachePlugin-1.0.5.tgz</p>
<p>展開したら、sfSuperCachePlugin-1.0.5 というフォルダを、symfonyの作業フォルダ以下の plugins/sfSuperCachePlugin というフォルダにリネームしつつコピーします。</p>
<p>あとは、pluginsの下のプラグインを全部読むようになっていればsymfony ccするだけで自動的にロードされます。なってなければ、config/ProjectConfiguration.class.php のsetup()で、enableAllPluginsExcept()等を使って読み込まれるプラグインに指定してください。</p>
<p>このまま先へ進んでいくと、1.0と1.2の非互換でエラーになります。先に修正箇所を示すと、sfSuperCacheFilterの次の行</p>
<blockquote><p><code lang="php"><br />
$uri = sfRouting::getInstance()->getCurrentInternalUri();<br />
</code></p></blockquote>
<p>を、以下のように変更する必要があります。</p>
<blockquote><p><code lang="php"><br />
$uri = sfContext::getInstance()->getRouting()->getCurrentInternalUri();<br />
</code></p></blockquote>
<h3>キャッシュ格納ディレクトリの用意</h3>
<p>(symfonyアプリ)/web 以下に、静的ファイルの置き場を作ります。READMEにならって&#8221;cache&#8221;ディレクトリにします</p>
<p>> cd web<br />
> mkdir cache</p>
<p>Un*xの場合はオーナーやパーミッションも調整してください</p>
<h3>フィルタを噛ませる</h3>
<p>プラグインの中に入ってるphpは、フィルタファイル一個だけです。これを(frontend)/filters.yml の # insert your own filters here のところに追加します。</p>
<blockquote><p>
<code></p>
<pre>
supercache:
  class: sfSuperCacheFilter
  param:
    cache_dir: cache
    with_host: false
</pre>
<p></code>
</p></blockquote>
<p>ホスト名を複数持たないならwith_hostはfalseでいいです。持つ場合、この後の設定も準じて変わるのでREADMEを読んでください。</p>
<h3>リクエストがまず静的ファイルを見に行くように、.htaccessを修正</h3>
<p>web/.htaccess を書き換えます。以下の2行のところを、</p>
<blockquote><p><code><br />
 RewriteRule ^$ index.html [QSA]<br />
 RewriteRule ^([^.]+)$ $1.html [QSA]<br />
</code></p></blockquote>
<p>たとえば、以下のように書き換えます。</p>
<blockquote><p><code><br />
  RewriteCond %{REQUEST_METHOD} GET<br />
  RewriteCond %{DOCUMENT_ROOT}/symfony_apps/sandbox/web/cache/supercache/%{PATH_INFO}.php -f<br />
  RewriteRule ^(.*)$ cache/$1.php [L]<br />
</code></p></blockquote>
<p>この書き換え、READMEについてきたREQUEST_URIを使ったものが動かなかったので、自分で動くものを探してこんな風にしました。サブディレクトリにアプリを置いたりしなければREADMEのままのでも動くのかも。mod_rewriteは難しくてよくわからんです。</p>
<blockquote><p>
mod_rewriteが思うように動かないときは、とにかくhttpd.confの設定でrewrite logを取り、出たログを読みましょう。
</p></blockquote>
<p>やってるのは、</p>
<blockquote><p>
<code><br />
  web/cache/ほげほげ/ふがふが.php<br />
</code>
</p></blockquote>
<p>というファイルがアクセスされて、もしそれがあったら、そのファイルを直に実行して表示してしまう、という処理です。</p>
<p>もしファイルが無かったら、mod_rewriteの処理は下方のルールに落ちて行って、いつものフロントエンドコントローラ(web/index.php)を呼ぶようになっています。</p>
<p>これで、staticファイルが出来てればそのまま表示、出来てなければsymfonyを普通に実行(し、filters.ymlで挟んだフィルタがstaticファイルを生成)、というsuper cacheが完成となります。</p>
<h3>super cacheを動かす条件</h3>
<p>フィルタファイル sfSuperCacheFilter.class.php の中を読むとわかるのですが、super cacheが発動するには、いろいろな設定がされている必要があります。そうしないと、super cacheを動かしてたつもりが普通のキャッシュされたファイルを見てたりすることにもなります。</p>
<ul>
<li>sf_cacheがtrue/onであること</li>
<li>$_GETや$_POSTのパラメータが無いこと</li>
<li>sf_debugがfalseであること、つまりデバッグモードでは呼ばれません</li>
<li>sf_no_script_nameがtrueであること</li>
<li>エラーコードが200(正常)であること。エラーページとかを403で返しているなら、それはsuper cacheの対象外です</li>
<li>そのmoduleのdefault cacheが enable: on であること</li>
<li>そのmodule/actionの cacheが enable: on であること</li>
<li>そのmodule/actionの with_layout: がtrueであること</li>
</ul>
<p>キャッシュを使うことになってるページで、ページ全体をキャッシュして問題無く、GET/POSTパラメータも渡ってこない(パラメータが違えば普通ページ内容も変わりますから)という条件。</p>
<p>これ全部満たして、はじめてsuper cacheフィルタが効きます。</p>
<p>sfSuperCacheFilter::execute()のチェック文を、デバッガ等で確認しながらsettings.ymlやcache.ymlの設定を変え、(symfony ccもして、)動く設定になってることを確かめてください。</p>
<h3>superキャッシュの動作確認</h3>
<p>この状態でモジュールをつくり、適当にアクセスしてください。</p>
<p>frontend_dev.phpとか呼んじゃダメですよ。debug offなのでprodである/ (= index.php)を呼びます。</p>
<blockquote><p>
<code><br />
web/cache/(アプリ名)/(モジュール名)/(アクション名).php<br />
</code>
</p></blockquote>
<p>などとファイルが出来ていたら、まずフィルタによるstaticファイル生成は合格です。</p>
<p>次に、もう一度アクセスしたときにこの生成されたファイルが開いてるのか、それともsymfony標準のcacheが開いてるのかを確認します。これは、cache/frontend/prod/template/&#8230; 以下の標準のキャッシュファイルを手で消してから、ブラウザでアクセスしてみるとわかります。staticなファイルが呼ばれて開かれていれば、標準のキャッシュは作られないはずです。</p>
<h3>super cache完成か?</h3>
<p>とまあ、プラグインで用意されているのはここまでです。しかし、生成されたstaticなファイルは拡張子が.phpなんですね。そこでそれらのファイルをエディタで開くと、先頭にphpのコードが一行入ってます。</p>
<blockquote><p><code lang="php"><br />
&lt;?php if (time() > 1241771234) { unlink(__FILE__); header('Location: '.$_SERVER['REQUEST_URI']);  exit; } ?><br />
</code></p></blockquote>
<p>これで、自身のキャッシュ寿命を計りつつ、もし寿命が来ていたら自分自身を削除してもう一度同じURLにリダイレクト、とすることで、expireの処理を行なっているようです。</p>
<p>と、いうことは、このsuper cache、phpを回避してないのですね。厳密には super cacheと言えないのではと思います。たとえ一行とは言え、phpインタプリタをファイル毎に起動しているのです。</p>
<p>このプラグインはここまでなので、PHPを完全にスルーするsuper cacheの実現には、もう一手間かける必要があります。</p>
<p>生成するのは.phpじゃなく.htmlにし、もちろん先頭にphpコードは入れません。.htaccessの定義も.htmlに変えます。</p>
<p>そうなると、キャッシュのexpire判定は自分でやらせるわけには行きません。別のトリガーでこのキャッシュファイルを消すことになります。</p>
<p>たとえば、cronで動かしたスクリプトで定期的にこのcache/以下を見て、ファイル生成時を見つつ古すぎるものを消す、が一案。</p>
<p>もう一つは、CacheManagerで明示的にキャッシュをクリアされるタイミングで、このcache/以下の該当する静的ファイルも削除することです。</p>
<p>super cacheで用意したcache/以下のキャッシュファイルは、先頭行のPHPでexpireを自己診断した際しか消えないので、どのみちCacheManagerでのクリアをどうするかというのは検討しないといけないですね。</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/05/08/use-sfsupercacheplugin-on-symfony12/">symfony1.2でsfSuperCachePluginを使う</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/05/08/use-sfsupercacheplugin-on-symfony12/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/05/08/use-sfsupercacheplugin-on-symfony12/" />
	</item>
		<item>
		<title>プレゼン中にすごいスクリーンセーバーが発動する動画</title>
		<link>http://akimoto.jp/blog/2009/05/06/screensaver-not-safe-for-seminar-at-all/</link>
		<comments>http://akimoto.jp/blog/2009/05/06/screensaver-not-safe-for-seminar-at-all/#comments</comments>
		<pubDate>Tue, 05 May 2009 16:37:37 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[ネタ]]></category>
		<category><![CDATA[エロ]]></category>
		<category><![CDATA[プレゼンテーション]]></category>
		<category><![CDATA[動画]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=1256</guid>
		<description><![CDATA[変なスクリーンセイバーを愛用してると、プレゼンテーションで大恥かくかもしれませんよ。ご注意! Embarrassing porn screensaver during a presentation. [NSFW] &#8 &#8230; <a href="http://akimoto.jp/blog/2009/05/06/screensaver-not-safe-for-seminar-at-all/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/05/06/screensaver-not-safe-for-seminar-at-all/">プレゼン中にすごいスクリーンセーバーが発動する動画</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>変なスクリーンセイバーを愛用してると、プレゼンテーションで大恥かくかもしれませんよ。ご注意!</p>
<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="370" id="viddler"><param name="movie" value="http://www.viddler.com/player/47b7d676/" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><embed src="http://www.viddler.com/player/47b7d676/" width="437" height="370" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler" ></embed></object></p>
<p><a href="http://thenextweb.com/2009/05/05/embarrassing-porn-screensaver-presentation/">Embarrassing porn screensaver during a presentation. [NSFW] &#8211; The Next Web</a></p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/05/06/screensaver-not-safe-for-seminar-at-all/">プレゼン中にすごいスクリーンセーバーが発動する動画</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/05/06/screensaver-not-safe-for-seminar-at-all/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/05/06/screensaver-not-safe-for-seminar-at-all/" />
	</item>
		<item>
		<title>symfony1.2.6セキュリティリリース</title>
		<link>http://akimoto.jp/blog/2009/04/28/symfony-126security-release/</link>
		<comments>http://akimoto.jp/blog/2009/04/28/symfony-126security-release/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 16:59:34 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[security fix]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=1217</guid>
		<description><![CDATA[syfony1.2系のアップデート1.2.6が出ました。 セキュリティリリースということで、唯一件のバグ修正となっています。 1. symfonyのアドミンジェネレータを使っている人で、 2. unset()を明示的に呼 &#8230; <a href="http://akimoto.jp/blog/2009/04/28/symfony-126security-release/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/04/28/symfony-126security-release/">symfony1.2.6セキュリティリリース</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p><a href="http://www.symfony-project.org/installation/1_2">syfony1.2系のアップデート1.2.6が出ました</a>。</p>
<p>セキュリティリリースということで、唯一件のバグ修正となっています。</p>
<p>1. symfonyのアドミンジェネレータを使っている人で、<br />
2. unset()を明示的に呼ばずに<br />
3. generator.ymlに書かないことでフィールドを隠すような使い方をしていた場合に、</p>
<p>攻撃を受ける可能性がある、というのをコアチーム内のレポートで発見し、修正したということです。</p>
<p>上記に当てはまるようなコードを書いた人で1.2.x系全部と次の1.3系ブランチを使っている人は、アップデートするか、パッチを当てるか、unset()を必ず呼ぶコードに直すか、するべきだということです。</p>
<p># で、あってると思いますが、必ず<a href="http://www.symfony-project.org/blog/2009/04/27/symfony-1-2-6-security-fix">原文</a>にも当たってください</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/04/28/symfony-126security-release/">symfony1.2.6セキュリティリリース</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/04/28/symfony-126security-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/04/28/symfony-126security-release/" />
	</item>
		<item>
		<title>symfonyのキャッシュマネージャーが取れないとき</title>
		<link>http://akimoto.jp/blog/2009/03/18/when-symfony-cache-manager-becomes-null/</link>
		<comments>http://akimoto.jp/blog/2009/03/18/when-symfony-cache-manager-becomes-null/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 14:08:42 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[エラー]]></category>
		<category><![CDATA[キャッシュ]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=1068</guid>
		<description><![CDATA[symfonyで、キャッシュが効いているページを強制的にクリアしたいとき、 $cacheManager = $this-&#62;getContext&#40;&#41;-&#62;getViewCacheManager&# &#8230; <a href="http://akimoto.jp/blog/2009/03/18/when-symfony-cache-manager-becomes-null/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/03/18/when-symfony-cache-manager-becomes-null/">symfonyのキャッシュマネージャーが取れないとき</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>symfonyで、キャッシュが効いているページを強制的にクリアしたいとき、</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">  <span style="color: #000088;">$cacheManager</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getContext</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getViewCacheManager</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #000088;">$cacheManager</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">remove</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'quiz/index?id='</span><span style="color: #339933;">.</span><span style="color: #000088;">$quizIdToRemove</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>とかやってたのですが、デバッグ環境でエラーが出てしまいました。</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">Fatal error<span style="color: #339933;">:</span> Call to a member <span style="color: #000000; font-weight: bold;">function</span> set<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> on a non<span style="color: #339933;">-</span>object in <span style="color: #339933;">...</span></pre></div></div>

<p>実環境でエラーにならないのでうんうん悩んで調べてみたら、デバッグ環境ではcache: off にしてました。getViewCacheManager()はキャッシュ使ってなければnullを返すようです。</p>
<p># 考えてみたら当たりまえか</p>
<p>問題は、これがfatal errorで止まっていたためにトランザクションが完了していなかったことです。</p>
<p>cacheManagerを取得したときは、必ずnullチェックして、キャッシュが使われてるときだけ呼び出しましょう。 > 自分</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/03/18/when-symfony-cache-manager-becomes-null/">symfonyのキャッシュマネージャーが取れないとき</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/03/18/when-symfony-cache-manager-becomes-null/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/03/18/when-symfony-cache-manager-becomes-null/" />
	</item>
		<item>
		<title>symfony APIがブラウザから直接検索できるように(OpenSearch API)</title>
		<link>http://akimoto.jp/blog/2009/02/25/symfony-api%E3%81%8C%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%8B%E3%82%89%E7%9B%B4%E6%8E%A5%E6%A4%9C%E7%B4%A2%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%ABopensearch-api/</link>
		<comments>http://akimoto.jp/blog/2009/02/25/symfony-api%E3%81%8C%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%8B%E3%82%89%E7%9B%B4%E6%8E%A5%E6%A4%9C%E7%B4%A2%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%ABopensearch-api/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 11:14:51 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[OpenSearch API]]></category>
		<category><![CDATA[ブラウザ]]></category>
		<category><![CDATA[マニュアル]]></category>
		<category><![CDATA[検索]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=971</guid>
		<description><![CDATA[本家ブログでの発表から。symfony APIの検索フォームが、OpenSearch APIで提供されるようになりました。 syfony公式ページに行くと、ブラウザ右上のサーチボックスが変化して、OpenSearchに対 &#8230; <a href="http://akimoto.jp/blog/2009/02/25/symfony-api%E3%81%8C%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%8B%E3%82%89%E7%9B%B4%E6%8E%A5%E6%A4%9C%E7%B4%A2%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%ABopensearch-api/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/02/25/symfony-api%E3%81%8C%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%8B%E3%82%89%E7%9B%B4%E6%8E%A5%E6%A4%9C%E7%B4%A2%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%ABopensearch-api/">symfony APIがブラウザから直接検索できるように(OpenSearch API)</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p><a href="http://www.symfony-project.org/blog/2009/02/24/opensearch-support-for-the-symfony-api">本家ブログでの発表</a>から。symfony APIの検索フォームが、OpenSearch APIで提供されるようになりました。</p>
<p>syfony公式ページに行くと、ブラウザ右上のサーチボックスが変化して、OpenSearchに対応していることを示してくれます。Firefox3ではこんな感じ。</p>
<p><a href="http://akimoto.jp/blog/wp-content/uploads/2009/02/symfony-api-opensearch-screenshot.png"><img src="http://akimoto.jp/blog/wp-content/uploads/2009/02/symfony-api-opensearch-screenshot.png" alt="" title="symfony-api-opensearch-screenshot" width="340" height="153" class="alignnone size-medium wp-image-972" /></a></p>
<p>symfony API 1.2を追加</p>
<p><a href="http://akimoto.jp/blog/wp-content/uploads/2009/02/symfony-api-12-add-screenshot.png"><img src="http://akimoto.jp/blog/wp-content/uploads/2009/02/symfony-api-12-add-screenshot.png" alt="" title="symfony-api-12-add-screenshot" width="309" height="105" class="alignnone size-medium wp-image-973" /></a></p>
<p>すると、このあと、サーチボックスでsymfony APIが選べるので、ここにsymfonyフレームワークのクラス名や関数名を入れると、</p>
<p><a href="http://akimoto.jp/blog/wp-content/uploads/2009/02/symfony-api-search-usage-screenshot.png"><img src="http://akimoto.jp/blog/wp-content/uploads/2009/02/symfony-api-search-usage-screenshot.png" alt="" title="symfony-api-search-usage-screenshot" width="273" height="124" class="alignnone size-medium wp-image-974" /></a></p>
<p>APIマニュアルの該当ページにジャンプします。</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/02/25/symfony-api%E3%81%8C%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%8B%E3%82%89%E7%9B%B4%E6%8E%A5%E6%A4%9C%E7%B4%A2%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%ABopensearch-api/">symfony APIがブラウザから直接検索できるように(OpenSearch API)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/02/25/symfony-api%E3%81%8C%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%8B%E3%82%89%E7%9B%B4%E6%8E%A5%E6%A4%9C%E7%B4%A2%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%ABopensearch-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/02/25/symfony-api%E3%81%8C%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%8B%E3%82%89%E7%9B%B4%E6%8E%A5%E6%A4%9C%E7%B4%A2%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%ABopensearch-api/" />
	</item>
		<item>
		<title>Windows+cygwin+sshで&#8221;Could not create directory&#8221;が出るとき</title>
		<link>http://akimoto.jp/blog/2009/02/19/windowscygwinssh%E3%81%A7could-not-create-directory%E3%81%8C%E5%87%BA%E3%82%8B%E3%81%A8%E3%81%8D/</link>
		<comments>http://akimoto.jp/blog/2009/02/19/windowscygwinssh%E3%81%A7could-not-create-directory%E3%81%8C%E5%87%BA%E3%82%8B%E3%81%A8%E3%81%8D/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 04:10:31 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=959</guid>
		<description><![CDATA[エラーメッセージでは Could not create directory &#8216;/home/(ユーザ名)/.ssh&#8217;. とか出ますが、cygwinが認識するあなたのホームディレクトリはC:ドライブの &#8230; <a href="http://akimoto.jp/blog/2009/02/19/windowscygwinssh%E3%81%A7could-not-create-directory%E3%81%8C%E5%87%BA%E3%82%8B%E3%81%A8%E3%81%8D/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/02/19/windowscygwinssh%E3%81%A7could-not-create-directory%E3%81%8C%E5%87%BA%E3%82%8B%E3%81%A8%E3%81%8D/">Windows+cygwin+sshで&#8221;Could not create directory&#8221;が出るとき</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>エラーメッセージでは</p>
<blockquote><p>Could not create directory &#8216;/home/(ユーザ名)/.ssh&#8217;.
</p></blockquote>
<p>とか出ますが、cygwinが認識するあなたのホームディレクトリはC:ドライブのルートとかではなくてcygwinのインストールディレクトリなので、たとえば、</p>
<blockquote><p>C:/cygwin/home/akky/.ssh/
</p></blockquote>
<p>というディレクトリを作れば、そこにsshの設定を書き込んでくれます。</p>
<p>&#8216;.ssh&#8217;というドットで始まるディレクトリの作り方は、.htaccessとかのファイルの時と同様ですが、GUIでは作れない(エラーになる。ムキー)ので、&#8221;ssh&#8221;とでもして作っておいて、コマンドプロンプトでその&#8221;ssh&#8221;があるディレクトリへ移動して、</p>
<blockquote><p>> ren ssh .ssh
</p></blockquote>
<p>でその名前にできます。</p>
<p>cygwinの設定ファイルを変更してまったく別のディレクトリを使う手もあると思います。あくまで一例。</p>
<p>symfonyのsync(1.0の場合)、project:deploy(1.2の場合)がsshを呼び出す場合に上のエラーが気になる場合の対処でした。</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/02/19/windowscygwinssh%E3%81%A7could-not-create-directory%E3%81%8C%E5%87%BA%E3%82%8B%E3%81%A8%E3%81%8D/">Windows+cygwin+sshで&#8221;Could not create directory&#8221;が出るとき</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/02/19/windowscygwinssh%E3%81%A7could-not-create-directory%E3%81%8C%E5%87%BA%E3%82%8B%E3%81%A8%E3%81%8D/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/02/19/windowscygwinssh%E3%81%A7could-not-create-directory%E3%81%8C%E5%87%BA%E3%82%8B%E3%81%A8%E3%81%8D/" />
	</item>
		<item>
		<title>[symfony] プラグインを簡単に作るためのプラグインsfTaskExtraPlugin</title>
		<link>http://akimoto.jp/blog/2009/02/03/symfony-%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%92%E7%B0%A1%E5%8D%98%E3%81%AB%E4%BD%9C%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3sftaskextraplugin/</link>
		<comments>http://akimoto.jp/blog/2009/02/03/symfony-%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%92%E7%B0%A1%E5%8D%98%E3%81%AB%E4%BD%9C%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3sftaskextraplugin/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 09:30:38 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[sfTaskExtraPlugin]]></category>
		<category><![CDATA[ツール]]></category>
		<category><![CDATA[パッケージング]]></category>
		<category><![CDATA[プラグイン]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=914</guid>
		<description><![CDATA[symfonyのプラグインはPEARのパッケージシステムを使っているのですけど、PEARのパッケージングって結構面倒で、僕はあまり好きではありません。PEARにもパッケージを作るためのツールがあるのですが、PHPのスクリ &#8230; <a href="http://akimoto.jp/blog/2009/02/03/symfony-%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%92%E7%B0%A1%E5%8D%98%E3%81%AB%E4%BD%9C%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3sftaskextraplugin/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/02/03/symfony-%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%92%E7%B0%A1%E5%8D%98%E3%81%AB%E4%BD%9C%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3sftaskextraplugin/">[symfony] プラグインを簡単に作るためのプラグインsfTaskExtraPlugin</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>symfonyのプラグインはPEARのパッケージシステムを使っているのですけど、PEARのパッケージングって結構面倒で、僕はあまり好きではありません。PEARにもパッケージを作るためのツールがあるのですが、PHPのスクリプトを書くことになります。</p>
<p>symfony1.2には、<a href="http://www.symfony-project.org/plugins/sfTaskExtraPlugin">symfonyのパッケージを作ることに特化したタスクがsfTaskExtraPluginという名前で提供されています</a>。</p>
<p>まだalpha版なので、alphaを明に指定してインストールします</p>
<p><code><br />
$ symfony plugin:install -s alpha sfTaskExtraPlugin<br />
</code></p>
<p>このプラグインの中のパッケージ作成コマンドを呼ぶと、plugins/ディレクトリの下にある特定のプラグインを、PEARパッケージにしてそこに作ってくれます。</p>
<p><code><br />
$ symfony plugin:package sfFaqPlugin<br />
</code></p>
<p>これだけで、plugins/sfFaqPlugin/sfFaqPlugin-1.1.0.tgz ができます。(プラグイン名やバージョン番号はサンプル)</p>
<p>プラグインになっていれば、symfonyコマンドでinstall/uninstallを管理できます。</p>
<p><code><br />
$ symfony plugin:install /sandbox12/plugins/sfFaqPlugin/sfFaqPlugin-1.1.0.tgz<br />
</code></p>
<p>そこにあるpackage.xmlを使ってパッキングしてくれるので、xmlを開いて適度に編集することでバージョンや含むファイルを変えることができます。package.xmlが無い場合は、対話形式でpluginの説明や開発者の名前などが尋ねられるので、順番に入れていくとpackage.xmlも作成してくれます。</p>
<p>なので、たとえば、symfony1.0でしか動かないとpackage.xmlに書いてあるせい「だけで」symfony1.2にインストールできないpluginがあったとしたら、それをtarでplugins以下に展開して、package.xmlのrequire versionだけ1.3未満までオッケーにし、このタスクでパックすれば、1.2対応のpluginができるということです。</p>
<p>もしそういう風に1.2非対応のプラグインを1.2で使って、実績もあるなら、<a href="http://akimoto.jp/blog/2009/02/03/symfony-%E6%97%A2%E5%AD%98%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E6%9B%B8%E3%81%8D%E6%8F%9B%E3%81%88%E3%82%92%E6%89%8B%E4%BC%9D%E3%81%86%E3%81%AB%E3%81%AF/">前のエントリで書いたように開発者になって公式サイトにアップする</a>のもいいでしょう。</p>
<p>sfTaskExtraPluginには他に、pluginsの下に一からプラグインを作るためのgenerate:plugin、pluginの中にmoduleを追加するgenerate:plugin-moduleがあります。これらで生成したスケルトンには、テストコードの枠組みも最初からついてきます。</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/02/03/symfony-%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%92%E7%B0%A1%E5%8D%98%E3%81%AB%E4%BD%9C%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3sftaskextraplugin/">[symfony] プラグインを簡単に作るためのプラグインsfTaskExtraPlugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/02/03/symfony-%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%92%E7%B0%A1%E5%8D%98%E3%81%AB%E4%BD%9C%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3sftaskextraplugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/02/03/symfony-%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%92%E7%B0%A1%E5%8D%98%E3%81%AB%E4%BD%9C%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3sftaskextraplugin/" />
	</item>
		<item>
		<title>[symfony] 既存プラグインの書き換えを手伝うには</title>
		<link>http://akimoto.jp/blog/2009/02/03/symfony-%E6%97%A2%E5%AD%98%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E6%9B%B8%E3%81%8D%E6%8F%9B%E3%81%88%E3%82%92%E6%89%8B%E4%BC%9D%E3%81%86%E3%81%AB%E3%81%AF/</link>
		<comments>http://akimoto.jp/blog/2009/02/03/symfony-%E6%97%A2%E5%AD%98%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E6%9B%B8%E3%81%8D%E6%8F%9B%E3%81%88%E3%82%92%E6%89%8B%E4%BC%9D%E3%81%86%E3%81%AB%E3%81%AF/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 09:14:18 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[コミッター]]></category>
		<category><![CDATA[プラグイン]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=912</guid>
		<description><![CDATA[symfony公式サイトの&#8221;Plugins&#8221;に行くと、数百個のプラグインが提供されています。これらは、インストールするだけでsymfony製のサイトに新しい機能を付け加えるものです。 プラグインを &#8230; <a href="http://akimoto.jp/blog/2009/02/03/symfony-%E6%97%A2%E5%AD%98%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E6%9B%B8%E3%81%8D%E6%8F%9B%E3%81%88%E3%82%92%E6%89%8B%E4%BC%9D%E3%81%86%E3%81%AB%E3%81%AF/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/02/03/symfony-%E6%97%A2%E5%AD%98%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E6%9B%B8%E3%81%8D%E6%8F%9B%E3%81%88%E3%82%92%E6%89%8B%E4%BC%9D%E3%81%86%E3%81%AB%E3%81%AF/">[symfony] 既存プラグインの書き換えを手伝うには</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p><a href="http://www.symfony-project.org/plugins/">symfony公式サイトの&#8221;Plugins&#8221;</a>に行くと、数百個のプラグインが提供されています。これらは、インストールするだけでsymfony製のサイトに新しい機能を付け加えるものです。</p>
<p>プラグインを作って登録したり、既にあるプラグインの開発に参加したり、バグ報告をするには、まずsymfony-projectサイトのユーザ登録をする必要があります。メールアドレスだけあれば、右サイドバーの”Create an account&#8221;から誰でもユーザ登録ができます。</p>
<p>ログインした状態でプラグインの個別ページ(例 <a href="http://www.symfony-project.org/plugins/sfFaqPlugin/1_1_0">sfFaqPlugin</a> )へ行くと、&#8221;Contribute(貢献する)&#8221;というタブがあります。ここで、</p>
<ul>
<li>developer: svnにアクセスできる開発者</li>
<li>packager: developerに加えて、プラグインの新バージョンをリリースできる開発者</li>
<li>leader: 全権限を持つプラグイン開発のリーダー</li>
</ul>
<p>のどれになりたいかを選び、下のコメント欄には「何をどう直したいか」を書き込んで送信すると、既存の開発者に連絡が行きます。</p>
<p>symfony1.0でしか動かないプラグインは、元の開発者がメンテナンスを止めている場合もあるので、パッケージの1.2対応をしたいと思ったら、ここからどんどん申請して開発チームに入ることができるようです。</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/02/03/symfony-%E6%97%A2%E5%AD%98%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E6%9B%B8%E3%81%8D%E6%8F%9B%E3%81%88%E3%82%92%E6%89%8B%E4%BC%9D%E3%81%86%E3%81%AB%E3%81%AF/">[symfony] 既存プラグインの書き換えを手伝うには</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/02/03/symfony-%E6%97%A2%E5%AD%98%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E6%9B%B8%E3%81%8D%E6%8F%9B%E3%81%88%E3%82%92%E6%89%8B%E4%BC%9D%E3%81%86%E3%81%AB%E3%81%AF/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/02/03/symfony-%E6%97%A2%E5%AD%98%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E6%9B%B8%E3%81%8D%E6%8F%9B%E3%81%88%E3%82%92%E6%89%8B%E4%BC%9D%E3%81%86%E3%81%AB%E3%81%AF/" />
	</item>
		<item>
		<title>[symfony] admin generatorでデザインがあたらないとき</title>
		<link>http://akimoto.jp/blog/2009/02/02/symfony-admin-generator%E3%81%A7%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%8C%E3%81%82%E3%81%9F%E3%82%89%E3%81%AA%E3%81%84%E3%81%A8%E3%81%8D/</link>
		<comments>http://akimoto.jp/blog/2009/02/02/symfony-admin-generator%E3%81%A7%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%8C%E3%81%82%E3%81%9F%E3%82%89%E3%81%AA%E3%81%84%E3%81%A8%E3%81%8D/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 14:28:13 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[admin generator]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=910</guid>
		<description><![CDATA[symfony1.2の管理画面自動生成機能を使うと、 $ symfony propel:generate-admin backend Post だけで、Postクラスのオブジェクトを一覧して追加表示更新削除する画面を作っ &#8230; <a href="http://akimoto.jp/blog/2009/02/02/symfony-admin-generator%E3%81%A7%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%8C%E3%81%82%E3%81%9F%E3%82%89%E3%81%AA%E3%81%84%E3%81%A8%E3%81%8D/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/02/02/symfony-admin-generator%E3%81%A7%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%8C%E3%81%82%E3%81%9F%E3%82%89%E3%81%AA%E3%81%84%E3%81%A8%E3%81%8D/">[symfony] admin generatorでデザインがあたらないとき</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>symfony1.2の管理画面自動生成機能を使うと、</p>
<blockquote><p><code>$ symfony propel:generate-admin backend Post<br />
</code></p></blockquote>
<p>だけで、Postクラスのオブジェクトを一覧して追加表示更新削除する画面を作ってくれますが、なぜか画面にデフォルトの管理画面のデザインが適用されず、アイコン類も出ないというのでつまりました。</p>
<p>呼べていない画像に/sfPropelPlugin/というパスがついてるので、それで検索をかけたら、<a href="http://forum.symfony-project.org/index.php/m/70645/">同じ問題ではまってる人が公式フォーラムに</a>。しかし、二人居て二人ともすぐに自己解決してます。</p>
<p>「脚注じゃなくて本文に書いてよ」とボヤかれていたので、マニュアルを見返したら、ちゃんとマニュアルに書いてありました。</p>
<blockquote><p><code>$ symfony plugin:publish-assets<br />
</code></p></blockquote>
<p>これを呼ばないと、generatorで作られた管理画面から呼ばれるCSSや画像ファイルがアプリの/web以下にコピーされないんですね。プラグインに含まれているCSS, 画像, Javascriptなんかを見える場所に移してくれるのがこのコマンドでした。</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/02/02/symfony-admin-generator%E3%81%A7%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%8C%E3%81%82%E3%81%9F%E3%82%89%E3%81%AA%E3%81%84%E3%81%A8%E3%81%8D/">[symfony] admin generatorでデザインがあたらないとき</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/02/02/symfony-admin-generator%E3%81%A7%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%8C%E3%81%82%E3%81%9F%E3%82%89%E3%81%AA%E3%81%84%E3%81%A8%E3%81%8D/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/02/02/symfony-admin-generator%E3%81%A7%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%8C%E3%81%82%E3%81%9F%E3%82%89%E3%81%AA%E3%81%84%E3%81%A8%E3%81%8D/" />
	</item>
		<item>
		<title>symfonyの主要ドキュメントがPDFでも提供開始</title>
		<link>http://akimoto.jp/blog/2009/02/01/symfony%E3%81%AE%E4%B8%BB%E8%A6%81%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%8Cpdf%E3%81%A7%E3%82%82%E6%8F%90%E4%BE%9B%E9%96%8B%E5%A7%8B/</link>
		<comments>http://akimoto.jp/blog/2009/02/01/symfony%E3%81%AE%E4%B8%BB%E8%A6%81%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%8Cpdf%E3%81%A7%E3%82%82%E6%8F%90%E4%BE%9B%E9%96%8B%E5%A7%8B/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 02:09:24 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[オフライン]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=896</guid>
		<description><![CDATA[オフラインでもドキュメントを参照しやすいように、PDF版の提供が開始されました。 Jobeetチュートリアルは、symfony1.2の新しい本として出版されたPractical symfonyと同じものですね。バックエン &#8230; <a href="http://akimoto.jp/blog/2009/02/01/symfony%E3%81%AE%E4%B8%BB%E8%A6%81%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%8Cpdf%E3%81%A7%E3%82%82%E6%8F%90%E4%BE%9B%E9%96%8B%E5%A7%8B/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/02/01/symfony%E3%81%AE%E4%B8%BB%E8%A6%81%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%8Cpdf%E3%81%A7%E3%82%82%E6%8F%90%E4%BE%9B%E9%96%8B%E5%A7%8B/">symfonyの主要ドキュメントがPDFでも提供開始</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>オフラインでもドキュメントを参照しやすいように、PDF版の提供が開始されました。</p>
<p>Jobeetチュートリアルは、symfony1.2の新しい本として出版されたPractical symfonyと同じものですね。バックエンドのORMで<a href="http://www.symfony-project.org/get/pdf/jobeet-1.2-propel-en.pdf">propelを使う場合</a>[pdf]のと<a href="http://www.symfony-project.org/get/pdf/jobeet-1.2-doctrine-en.pdf">Doctrineを使う場合</a>[pdf]のと両方あります。</p>
<p>その他、sfFormの使い方を解説したForms bookやcookbook、symfony1.2への移行ガイドなどもpdfで入手できます。<a href="http://www.symfony-project.org/blog/2009/01/31/read-the-symfony-documentation-offline">詳細は公式ブログ</a>で。</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2009/02/01/symfony%E3%81%AE%E4%B8%BB%E8%A6%81%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%8Cpdf%E3%81%A7%E3%82%82%E6%8F%90%E4%BE%9B%E9%96%8B%E5%A7%8B/">symfonyの主要ドキュメントがPDFでも提供開始</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2009/02/01/symfony%E3%81%AE%E4%B8%BB%E8%A6%81%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%8Cpdf%E3%81%A7%E3%82%82%E6%8F%90%E4%BE%9B%E9%96%8B%E5%A7%8B/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2009/02/01/symfony%E3%81%AE%E4%B8%BB%E8%A6%81%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%8Cpdf%E3%81%A7%E3%82%82%E6%8F%90%E4%BE%9B%E9%96%8B%E5%A7%8B/" />
	</item>
		<item>
		<title>symfony懇親会に行ってきました</title>
		<link>http://akimoto.jp/blog/2008/11/29/symfony%E6%87%87%E8%A6%AA%E4%BC%9A%E3%81%AB%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F/</link>
		<comments>http://akimoto.jp/blog/2008/11/29/symfony%E6%87%87%E8%A6%AA%E4%BC%9A%E3%81%AB%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 15:52:58 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[勉強会]]></category>
		<category><![CDATA[懇親会]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=701</guid>
		<description><![CDATA[ディノで開催されたsymfony懇親会に行ってきました。 PHPフレームワークのsymfonyについて語らう会です。いつもの勉強会だと発表者と受講者ですけど、今回の懇親会はみんなで気軽に親睦を深めるためのものです。 ピザ &#8230; <a href="http://akimoto.jp/blog/2008/11/29/symfony%E6%87%87%E8%A6%AA%E4%BC%9A%E3%81%AB%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2008/11/29/symfony%E6%87%87%E8%A6%AA%E4%BC%9A%E3%81%AB%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F/">symfony懇親会に行ってきました</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>ディノで開催された<a href="http://events.php.gr.jp/events/show/62">symfony懇親会</a>に行ってきました。</p>
<p>PHPフレームワークのsymfonyについて語らう会です。いつもの勉強会だと発表者と受講者ですけど、今回の懇親会はみんなで気軽に親睦を深めるためのものです。</p>
<p>ピザばっかりとか言ってすいません。今日はデリのサンドイッチやベーグルでした。ディノの誇る(ビール)サーバと、新しく増えた(ワイン)ストレージも活躍で、楽しい会となりました。11時半でもまだ半分以上人がいて、いったい電車は大丈夫なんだろうかと思いつつ終電で帰ってきました。</p>
<p>再来週会社の出張でパリに行くことになったのですが、よい機会なのでパリ郊外のSensio Labs(symfonyを作っている会社)にも訪問する約束を取り付けました。今日の懇親会では、そこでFabienさん等に日本のウェブ業界やPHP, symfonyの状況を解説するためのプレゼン(の下書き。まだ現時点では)を飛び込み発表して、みなさんの意見をいろいろと伺うことができました。</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2008/11/29/symfony%E6%87%87%E8%A6%AA%E4%BC%9A%E3%81%AB%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F/">symfony懇親会に行ってきました</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2008/11/29/symfony%E6%87%87%E8%A6%AA%E4%BC%9A%E3%81%AB%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2008/11/29/symfony%E6%87%87%E8%A6%AA%E4%BC%9A%E3%81%AB%E8%A1%8C%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F/" />
	</item>
		<item>
		<title>今日はsymfonyプラグイン開発者の日です</title>
		<link>http://akimoto.jp/blog/2008/11/08/%E4%BB%8A%E6%97%A5%E3%81%AFsymfony%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AE%E6%97%A5%E3%81%A7%E3%81%99/</link>
		<comments>http://akimoto.jp/blog/2008/11/08/%E4%BB%8A%E6%97%A5%E3%81%AFsymfony%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AE%E6%97%A5%E3%81%A7%E3%81%99/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 05:03:35 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[irc]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=674</guid>
		<description><![CDATA[symfony公式ブログで案内されていますが、11月8日 世界標準時15:00-21:00の間、symfony Plugin Developers Dayがオンラインで開催されます。 時間を日本時間に直すと、こうなります &#8230; <a href="http://akimoto.jp/blog/2008/11/08/%E4%BB%8A%E6%97%A5%E3%81%AFsymfony%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AE%E6%97%A5%E3%81%A7%E3%81%99/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2008/11/08/%E4%BB%8A%E6%97%A5%E3%81%AFsymfony%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AE%E6%97%A5%E3%81%A7%E3%81%99/">今日はsymfonyプラグイン開発者の日です</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p><a href="http://www.symfony-project.org/blog/2008/11/06/plugin-developers-day-this-saturday">symfony公式ブログで案内されています</a>が、11月8日 世界標準時15:00-21:00の間、symfony Plugin Developers Dayがオンラインで開催されます。</p>
<p>時間を日本時間に直すと、こうなります。</p>
<table>
<tr>
<th>時間</th>
<th>セッション</th>
<th>場所</th>
</tr>
<tr>
<td>11/9(日) 0:00-2:00</td>
<td>プラグインの作成とリリース</td>
<td>irc #symfonyチャンネル@freenode</td>
</tr>
<tr>
<td>11/9(日) 2:00-4:00</td>
<td>カスタマイズしやすいプラグインについて</td>
<td>irc #symfonyチャンネル@freenode</td>
</tr>
<tr>
<td>11/9(日) 4:00-6:00</td>
<td>新旧プラグインをその場で改良</td>
<td>irc #symfonyチャンネル@freenode</td>
</tr>
</table>
<p>最初の試みなので、実際にはその場のノリで変わるかもしれない、ということ。新作のpluginを提案したり、他のplugin作者に提案したりも期待されています。</p>
<p>ディスカッションを見てるだけでも歓迎、ということなので、今夜PCの前にいるsymfonyユーザのみなさん、ぜひ世界中のsymfony開発者とセッションを楽しみましょう。</p>
<p>僕はユーザネーム&#8221;akky&#8221;で入っています。</p>
<p># 朝6時まで起きていられるかわかりませんが。</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2008/11/08/%E4%BB%8A%E6%97%A5%E3%81%AFsymfony%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AE%E6%97%A5%E3%81%A7%E3%81%99/">今日はsymfonyプラグイン開発者の日です</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2008/11/08/%E4%BB%8A%E6%97%A5%E3%81%AFsymfony%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AE%E6%97%A5%E3%81%A7%E3%81%99/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2008/11/08/%E4%BB%8A%E6%97%A5%E3%81%AFsymfony%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AE%E6%97%A5%E3%81%A7%E3%81%99/" />
	</item>
		<item>
		<title>The second symfony study meeting Tokyo</title>
		<link>http://akimoto.jp/blog/2008/10/30/the-second-symfony-study-meeting-tokyo/</link>
		<comments>http://akimoto.jp/blog/2008/10/30/the-second-symfony-study-meeting-tokyo/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 16:21:35 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[勉強会]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=648</guid>
		<description><![CDATA[The second time casual study meeting of popular PHP5 framework was held at Dino&#8216;s seminar room, Shibuya, &#8230; <a href="http://akimoto.jp/blog/2008/10/30/the-second-symfony-study-meeting-tokyo/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2008/10/30/the-second-symfony-study-meeting-tokyo/">The second symfony study meeting Tokyo</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p><a href="http://events.php.gr.jp/events/show/56">The second time casual study meeting of popular PHP5 framework</a> was held at <a href="http://www.dino.co.jp/en">Dino</a>&#8216;s seminar room, Shibuya, Tokyo.</p>
<p>There were three main sessions and one LT (lightening talk, flash 5 mins speech).</p>
<p>The first one by Kiryu Tsukimiya was about the coming version symfony 1.2, and &#8220;realistically&#8221; what version you should use for your starting project.</p>
<p>The second talk was on symfony 1.2 and its bundled Doctrine ORM by katsuhiro.</p>
<p>The third session was my talk, &#8220;<a href="http://akimoto.jp/presentation/symfony-study-meeting-2.html">symfony plugins, etc.</a>&#8220;, where I talked about symfony plugins structures, and some useful plugins which can let you add a new functionality quickly.</p>
<p>The last lightening talk&#8217;s title was &#8220;how to set up symfony environment with 2 lines&#8221; by brtRiver.</p>
<p>There was an after-party at the same room, by almost all attendees with Dino&#8217;s-proud professional-use beer server and delivered pizzas. </p>
<p><a href="http://www.flickr.com/photos/tsukimiya/2984746300/" title="photo sharing"><img src="http://farm4.static.flickr.com/3024/2984746300_a5891b8370_m.jpg" alt="" style="border: solid 2px #000000;" /></a><br />
<br />
Originally uploaded by <a href="http://www.flickr.com/people/tsukimiya/">Kiryu Tsukimiya</a><br />
</span><br />
<br clear="all" /></p>
<p>This month, the first CakePHP conference in Japan was held and one CakePHP core developer visited Japan to make speech to 150 PHP users. We spoked (with cups of beer) about the possibility if we will be able to ask people from <a href="http://www.sensiolabs.com/">sensiolabs</a> and/or other experts for similar symfony conference in near future.</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2008/10/30/the-second-symfony-study-meeting-tokyo/">The second symfony study meeting Tokyo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2008/10/30/the-second-symfony-study-meeting-tokyo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2008/10/30/the-second-symfony-study-meeting-tokyo/" />
	</item>
		<item>
		<title>symfony camp 2008が始まってます</title>
		<link>http://akimoto.jp/blog/2008/09/13/symfony-camp-2008%E3%81%8C%E5%A7%8B%E3%81%BE%E3%81%A3%E3%81%A6%E3%81%BE%E3%81%99/</link>
		<comments>http://akimoto.jp/blog/2008/09/13/symfony-camp-2008%E3%81%8C%E5%A7%8B%E3%81%BE%E3%81%A3%E3%81%A6%E3%81%BE%E3%81%99/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 00:36:28 +0000</pubDate>
		<dc:creator>akky</dc:creator>
				<category><![CDATA[symfony]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[パフォーマンスチューニング]]></category>

		<guid isPermaLink="false">http://akimoto.jp/blog/?p=557</guid>
		<description><![CDATA[PHPフレームワークsymfonyのカンファレンスsymfony camp 2008がオランダで開催中です。 Fabienさんの初日のレポートで、さっそく面白いプレゼン資料が出てきてるので紹介します。(写真みたら、ほんと &#8230; <a href="http://akimoto.jp/blog/2008/09/13/symfony-camp-2008%E3%81%8C%E5%A7%8B%E3%81%BE%E3%81%A3%E3%81%A6%E3%81%BE%E3%81%99/">Continue reading <span class="meta-nav">&#8594;</span></a><p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2008/09/13/symfony-camp-2008%E3%81%8C%E5%A7%8B%E3%81%BE%E3%81%A3%E3%81%A6%E3%81%BE%E3%81%99/">symfony camp 2008が始まってます</a></p>
]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p>PHPフレームワークsymfonyのカンファレンス<a href="http://www.symfonycamp.com/">symfony camp 2008</a>がオランダで開催中です。</p>
<p>Fabienさんの<a href="http://www.symfony-project.org/blog/2008/09/12/symfony-camp-2008-day-1">初日のレポート</a>で、さっそく面白いプレゼン資料が出てきてるので紹介します。(写真みたら、ほんとに「キャンプ」してるんですね)</p>
<ul>
<li><a href="http://www.aide-de-camp.org/talk/16/symfony-camp-2008-REST">symfony1.2でのRESTサポート</a></li>
<li><a href="http://www.aide-de-camp.org/talk/17/symfony-camp-2008-beyond-1-2">symfony1.2より先について</a>。symfony2でのDIコンテナとか</li>
<li><a href="http://dustinwhittle.com/symfonycamp_lessons_learned_at_yahoo_with_notes.pdf">Yahooでのsymfony利用について</a> [pdf]</li>
<li><a href="http://www.symfony-project.org/blog/2008/09/12/symfony-camp-2008-day-1">symfonyパフォーマンスチューニング</a></li>
<li><a href="http://www.slideshare.net/guesta3af58/doctrine-php-object-relational-mapper-presentation">Doctrineについて</a></li>
</ul>
<p>この中で僕が興味を持ったのは、3番目のYahoo!でのsymfonyの使われ方の話と、4番目のチューニング話。</p>
<p>Yahoo!のほうは、大成功しているQ&#038;AサイトのYahoo! Answersなどがsymfonyベースで動いていることの説明。初出じゃない話ですけど、なぜsymfonyを選定することに至ったかとか、大規模サイトの設計で考慮した点とか、symfonyから何を使って何を使わなかったかという取捨選択の話、そして最近公開されてきてますけど、Yahooが作った数々のsymfony pluginsについて(p.24)、などが語られています。</p>
<p>チューニングのほうは、symfony+PHP+Apache等で性能を稼ぐためのポイントがよくまとまってます。</p>
<p>Yahoo!のDustin Whittleさんがプレゼン資料の最後につけてくれた6冊の「オススメ本リスト」、日本語訳が出てるものが多いです。</p>
<p><div class="amazon_jp"><div class="amazon_jp_image"><a href="http://www.amazon.co.jp/Definitive-Guide-Symfony-Francois-Zaninotto/dp/1590597869%3FSubscriptionId%3D15TGXC2AR2ENB50C4F82%26tag%3Dakimotojp-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1590597869"><img src="http://ecx.images-amazon.com/images/I/51iiHBU6NKL._SL160_.jpg" border="0" alt="" class="" /></a></div><div class="amazon_jp_desc"><a href="http://www.amazon.co.jp/Definitive-Guide-Symfony-Francois-Zaninotto/dp/1590597869%3FSubscriptionId%3D15TGXC2AR2ENB50C4F82%26tag%3Dakimotojp-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1590597869">The Definitive Guide to Symfony</a><br /><em>著者/訳者: </em>Francois Zaninotto<br /><em>出版社: </em>Apress( 2007-01-29 )<br /><em>定価: </em>￥ 3,607</div></div><div class="cleaner" ></div><br />
<div class="amazon_jp"><div class="amazon_jp_image"><a href="http://www.amazon.co.jp/Scalable-Internet-Architectures-Developers-Library/dp/067232699X%3FSubscriptionId%3D15TGXC2AR2ENB50C4F82%26tag%3Dakimotojp-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D067232699X"><img src="http://ecx.images-amazon.com/images/I/51J8DvW24ML._SL160_.jpg" border="0" alt="" class="" /></a></div><div class="amazon_jp_desc"><a href="http://www.amazon.co.jp/Scalable-Internet-Architectures-Developers-Library/dp/067232699X%3FSubscriptionId%3D15TGXC2AR2ENB50C4F82%26tag%3Dakimotojp-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D067232699X">Scalable Internet Architectures (Developer's Library)</a><br /><em>著者/訳者: </em>Theo Schlossnagle<br /><em>出版社: </em>Sams( 2006-07-21 )<br /><em>定価: </em>￥ 4,008</div></div><div class="cleaner" ></div><br />
<div class="amazon_jp"><div class="amazon_jp_image"><a href="http://www.amazon.co.jp/%E5%AE%9F%E8%B7%B5%E3%83%8F%E3%82%A4%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9MySQL-%E3%82%B8%E3%82%A7%E3%83%AC%E3%83%9F%E3%83%BBD-%E3%82%B6%E3%82%A6%E3%83%89%E3%83%8B/dp/4873112095%3FSubscriptionId%3D15TGXC2AR2ENB50C4F82%26tag%3Dakimotojp-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4873112095"><img src="http://ecx.images-amazon.com/images/I/51C97FPJ0ZL._SL160_.jpg" border="0" alt="" class="" /></a></div><div class="amazon_jp_desc"><a href="http://www.amazon.co.jp/%E5%AE%9F%E8%B7%B5%E3%83%8F%E3%82%A4%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9MySQL-%E3%82%B8%E3%82%A7%E3%83%AC%E3%83%9F%E3%83%BBD-%E3%82%B6%E3%82%A6%E3%83%89%E3%83%8B/dp/4873112095%3FSubscriptionId%3D15TGXC2AR2ENB50C4F82%26tag%3Dakimotojp-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4873112095">実践ハイパフォーマンスMySQL</a><br /><em>著者/訳者: </em>ジェレミ・D. ザウドニ<br /><em>出版社: </em>オライリージャパン( 2004-10 )<br /><em>定価: </em>￥ 3,780</div></div><div class="cleaner" ></div><br />
<div class="amazon_jp"><div class="amazon_jp_image"><a href="http://www.amazon.co.jp/%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%A9%E3%83%96%E3%83%ABWeb%E3%82%B5%E3%82%A4%E3%83%88-Cal-Henderson/dp/4873113113%3FSubscriptionId%3D15TGXC2AR2ENB50C4F82%26tag%3Dakimotojp-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4873113113"><img src="http://ecx.images-amazon.com/images/I/518TeUi%2BOwL._SL160_.jpg" border="0" alt="" class="" /></a></div><div class="amazon_jp_desc"><a href="http://www.amazon.co.jp/%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%A9%E3%83%96%E3%83%ABWeb%E3%82%B5%E3%82%A4%E3%83%88-Cal-Henderson/dp/4873113113%3FSubscriptionId%3D15TGXC2AR2ENB50C4F82%26tag%3Dakimotojp-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4873113113">スケーラブルWebサイト</a><br /><em>著者/訳者: </em>Cal Henderson<br /><em>出版社: </em>オライリー・ジャパン( 2006-12-26 )<br /><em>定価: </em>￥ 3,570</div></div><div class="cleaner" ></div><br />
<div class="amazon_jp"><div class="amazon_jp_image"><a href="http://www.amazon.co.jp/%E9%9B%86%E5%90%88%E7%9F%A5%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Toby-Segaran/dp/4873113644%3FSubscriptionId%3D15TGXC2AR2ENB50C4F82%26tag%3Dakimotojp-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4873113644"><img src="http://ecx.images-amazon.com/images/I/51FgSThMzVL._SL160_.jpg" border="0" alt="" class="" /></a></div><div class="amazon_jp_desc"><a href="http://www.amazon.co.jp/%E9%9B%86%E5%90%88%E7%9F%A5%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Toby-Segaran/dp/4873113644%3FSubscriptionId%3D15TGXC2AR2ENB50C4F82%26tag%3Dakimotojp-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4873113644">集合知プログラミング</a><br /><em>著者/訳者: </em>Toby Segaran<br /><em>出版社: </em>オライリージャパン( 2008-07-25 )<br /><em>定価: </em>￥ 3,570</div></div><div class="cleaner" ></div><br />
<div class="amazon_jp"><div class="amazon_jp_image"><a href="http://www.amazon.co.jp/%E3%83%8F%E3%82%A4%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9Web%E3%82%B5%E3%82%A4%E3%83%88-%E2%80%95%E9%AB%98%E9%80%9F%E3%82%B5%E3%82%A4%E3%83%88%E3%82%92%E5%AE%9F%E7%8F%BE%E3%81%99%E3%82%8B14%E3%81%AE%E3%83%AB%E3%83%BC%E3%83%AB-Steve-Souders/dp/487311361X%3FSubscriptionId%3D15TGXC2AR2ENB50C4F82%26tag%3Dakimotojp-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D487311361X"><img src="http://ecx.images-amazon.com/images/I/51hIDIWHmYL._SL160_.jpg" border="0" alt="" class="" /></a></div><div class="amazon_jp_desc"><a href="http://www.amazon.co.jp/%E3%83%8F%E3%82%A4%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9Web%E3%82%B5%E3%82%A4%E3%83%88-%E2%80%95%E9%AB%98%E9%80%9F%E3%82%B5%E3%82%A4%E3%83%88%E3%82%92%E5%AE%9F%E7%8F%BE%E3%81%99%E3%82%8B14%E3%81%AE%E3%83%AB%E3%83%BC%E3%83%AB-Steve-Souders/dp/487311361X%3FSubscriptionId%3D15TGXC2AR2ENB50C4F82%26tag%3Dakimotojp-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D487311361X">ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール</a><br /><em>著者/訳者: </em>Steve Souders<br /><em>出版社: </em>オライリージャパン( 2008-04-11 )<br /><em>定価: </em>￥ 1,890</div></div><div class="cleaner" ></div></p>
<p>僕は3冊読んでました。集合知プログラミングはまだ買ってないんだけど、読まなきゃなと思ってます。</p>
<p>by <a href="http://twitter.com/akky">@akky</a>
<br/><a href="http://akimoto.jp/blog/2008/09/13/symfony-camp-2008%E3%81%8C%E5%A7%8B%E3%81%BE%E3%81%A3%E3%81%A6%E3%81%BE%E3%81%99/">symfony camp 2008が始まってます</a></p>
]]></content:encoded>
			<wfw:commentRss>http://akimoto.jp/blog/2008/09/13/symfony-camp-2008%E3%81%8C%E5%A7%8B%E3%81%BE%E3%81%A3%E3%81%A6%E3%81%BE%E3%81%99/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://akimoto.jp/blog/2008/09/13/symfony-camp-2008%E3%81%8C%E5%A7%8B%E3%81%BE%E3%81%A3%E3%81%A6%E3%81%BE%E3%81%99/" />
	</item>
	</channel>
</rss>

