<?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>Olen Onnellinen 2 &#187; PHP</title>
	<atom:link href="http://blog.magellanic.net/archives/category/php/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.magellanic.net</link>
	<description>さまようITエンジニアの日記です。システム開発から資格試験、ゲーム、ライトノベルまで何でもありの雑記。</description>
	<lastBuildDate>Thu, 05 Jan 2012 04:29:22 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>家計簿作ってみた</title>
		<link>http://blog.magellanic.net/archives/778</link>
		<comments>http://blog.magellanic.net/archives/778#comments</comments>
		<pubDate>Sun, 13 Jun 2010 12:21:39 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=778</guid>
		<description><![CDATA[ここのところ pChart を試していた理由でもあるのですが、家計簿（みたいなもの）を作ってみました。 以前も家計簿を自作していましたけど、データを CSV から SQLite にして管理の容易さはそのままに扱いやすさが [...]]]></description>
			<content:encoded><![CDATA[				<p>ここのところ pChart を試していた理由でもあるのですが、家計簿（みたいなもの）を作ってみました。</p>
				<p>以前も家計簿を自作していましたけど、データを CSV から SQLite にして管理の容易さはそのままに扱いやすさが増しました。<br />
				SQLite すごい。</p>
				<p>■ 入力画面<br />
				月額と日額で金額を入力するだけー。</p>
				<p><a href="http://blog.magellanic.net/wp-content/uploads/2010/06/d7e91cb858ea6a8d7e2eba07c63369cd.png"><img src="http://blog.magellanic.net/wp-content/uploads/2010/06/d7e91cb858ea6a8d7e2eba07c63369cd-157x300.png" alt="入力画面" title="入力画面" width="157" height="300" /></a></p>
				<p>■ 統計画面<br />
				グラフにするだけー。</p>
				<p><a href="http://blog.magellanic.net/wp-content/uploads/2010/06/d8492648205ca01416928468bd8fe21e.png"><img src="http://blog.magellanic.net/wp-content/uploads/2010/06/d8492648205ca01416928468bd8fe21e-185x300.png" alt="統計画面" title="統計画面" width="185" height="300" /></a></p>
				<p>■ 技術トピック<br />
				・ Apache 2.2<br />
				・ PHP 5.3<br />
				・ SQLite 3<br />
				・ Smarty 3<br />
				・ pChart 1.27d<br />
				on Windows7 64bit</p>
				<p>まあ、あんまり厳密なものではなくて、ざっくり把握するには十分かな。<br />
				今月は食費が多かったなー、とか。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/778/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>帰ってきたPHPメモ</title>
		<link>http://blog.magellanic.net/archives/773</link>
		<comments>http://blog.magellanic.net/archives/773#comments</comments>
		<pubDate>Thu, 03 Jun 2010 15:05:03 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=773</guid>
		<description><![CDATA[久しぶりに PHP を触ったのでどうでもいいメモ。 ■ 切り上げ &#160;&#60;?php &#160; &#160;$value = 56789; &#160;$value = ceil($value / 1000 [...]]]></description>
			<content:encoded><![CDATA[				<p>久しぶりに PHP を触ったのでどうでもいいメモ。</p>
				<p>■ 切り上げ</p>
				<pre class="src">
<ol class="hl-main">
<li>&nbsp;<span class="hl-inlinetags">&lt;?php</span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-var">$value</span><span class="hl-code"> = </span><span class="hl-number">56789</span><span class="hl-code">;</span></li>
<li>&nbsp;<span class="hl-var">$value</span><span class="hl-code"> = </span><span class="hl-identifier">ceil</span><span class="hl-brackets">(</span><span class="hl-var">$value</span><span class="hl-code"> / </span><span class="hl-number">10000</span><span class="hl-brackets">)</span><span class="hl-code"> * </span><span class="hl-number">10000</span><span class="hl-code">;</span></li>
<li>&nbsp;<span class="hl-identifier">var_dump</span><span class="hl-brackets">(</span><span class="hl-var">$value</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//</span><span class="hl-comment"> float(60000)</span></li>
</ol>
</pre>
				<p>■ array_shiftの挙動</p>
				<pre class="src">
<ol class="hl-main">
<li>&nbsp;<span class="hl-inlinetags">&lt;?php</span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-var">$values</span><span class="hl-code"> = </span><span class="hl-reserved">array</span><span class="hl-brackets">(</span></li>
<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-quotes">'</span><span class="hl-string">00</span><span class="hl-quotes">'</span><span class="hl-code"> =&gt; </span><span class="hl-quotes">'</span><span class="hl-string">a</span><span class="hl-quotes">'</span><span class="hl-code">,</span></li>
<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-quotes">'</span><span class="hl-string">10</span><span class="hl-quotes">'</span><span class="hl-code"> =&gt; </span><span class="hl-quotes">'</span><span class="hl-string">b</span><span class="hl-quotes">'</span><span class="hl-code">,</span></li>
<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-quotes">'</span><span class="hl-string">20</span><span class="hl-quotes">'</span><span class="hl-code"> =&gt; </span><span class="hl-quotes">'</span><span class="hl-string">c</span><span class="hl-quotes">'</span><span class="hl-code">,</span></li>
<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-quotes">'</span><span class="hl-string">30</span><span class="hl-quotes">'</span><span class="hl-code"> =&gt; </span><span class="hl-quotes">'</span><span class="hl-string">d</span><span class="hl-quotes">'</span><span class="hl-code">,</span></li>
<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-quotes">'</span><span class="hl-string">40</span><span class="hl-quotes">'</span><span class="hl-code"> =&gt; </span><span class="hl-quotes">'</span><span class="hl-string">e</span><span class="hl-quotes">'</span><span class="hl-code">,</span></li>
<li>&nbsp;<span class="hl-brackets">)</span><span class="hl-code">;</span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> キーが数値っぽかったら振り直される</span></li>
<li>&nbsp;<span class="hl-identifier">array_shift</span><span class="hl-brackets">(</span><span class="hl-var">$values</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-identifier">var_dump</span><span class="hl-brackets">(</span><span class="hl-var">$values</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
</ol>
</pre>
				<div class="command">array(4) {<br />
				  [0]=><br />
				  string(1) &#8220;b&#8221;<br />
				  [1]=><br />
				  string(1) &#8220;c&#8221;<br />
				  [2]=><br />
				  string(1) &#8220;d&#8221;<br />
				  [3]=><br />
				  string(1) &#8220;e&#8221;<br />
				}
				</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/773/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pChart使ってみた</title>
		<link>http://blog.magellanic.net/archives/767</link>
		<comments>http://blog.magellanic.net/archives/767#comments</comments>
		<pubDate>Tue, 01 Jun 2010 14:36:20 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[pChart]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=767</guid>
		<description><![CDATA[簡単に見栄えの良いグラフをかけると評判の PHP のグラフライブラリ pChart を試してみました。 pChart &#124; a PHP Charting library サンプルを見ても結構大変だったので、サンプルを元にコ [...]]]></description>
			<content:encoded><![CDATA[				<p>簡単に見栄えの良いグラフをかけると評判の PHP のグラフライブラリ pChart を試してみました。</p>
				<p><a href='http://pchart.sourceforge.net/'>pChart | a PHP Charting library</a></p>
				<p>サンプルを見ても結構大変だったので、サンプルを元にコメントを付けたのが以下になります。</p>
				<p>■ 確認環境<br />
				・ Windows7 64bit<br />
				・ PHP5.3.2</p>
				<p>■ コード</p>
				<pre class="src">
<ol class="hl-main">
<li>&nbsp;<span class="hl-inlinetags">&lt;?php</span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> ライブラリの読み込み</span></li>
<li>&nbsp;<span class="hl-reserved">require</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pChart/pData.class</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;  </span></li>
<li>&nbsp;<span class="hl-reserved">require</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">pChart/pChart.class</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;  </span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> --------------------------------------</span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> データの準備</span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> --------------------------------------</span></li>
<li>&nbsp;<span class="hl-var">$data</span><span class="hl-code"> = </span><span class="hl-reserved">new</span> <span class="hl-identifier">pData</span><span class="hl-code">; </span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-var">$data</span><span class="hl-code">-&gt;</span><span class="hl-identifier">AddPoint</span><span class="hl-brackets">(</span><span class="hl-reserved">array</span><span class="hl-brackets">(</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">4</span><span class="hl-code">,</span><span class="hl-number">3</span><span class="hl-code">,</span><span class="hl-number">2</span><span class="hl-code">,</span><span class="hl-number">3</span><span class="hl-code">,</span><span class="hl-number">3</span><span class="hl-code">,</span><span class="hl-number">2</span><span class="hl-code">,</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">7</span><span class="hl-code">,</span><span class="hl-number">4</span><span class="hl-code">,</span><span class="hl-number">3</span><span class="hl-code">,</span><span class="hl-number">2</span><span class="hl-code">,</span><span class="hl-number">3</span><span class="hl-code">,</span><span class="hl-number">3</span><span class="hl-code">,</span><span class="hl-number">5</span><span class="hl-code">,</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">7</span><span class="hl-brackets">)</span><span class="hl-code">,</span><span class="hl-quotes">&quot;</span><span class="hl-string">Serie1</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span></li>
<li>&nbsp;<span class="hl-var">$data</span><span class="hl-code">-&gt;</span><span class="hl-identifier">AddSerie</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Serie1</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
<li>&nbsp;<span class="hl-var">$data</span><span class="hl-code">-&gt;</span><span class="hl-identifier">SetSerieName</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">データその１</span><span class="hl-quotes">&quot;</span><span class="hl-code">,</span><span class="hl-quotes">&quot;</span><span class="hl-string">Serie1</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-var">$data</span><span class="hl-code">-&gt;</span><span class="hl-identifier">AddPoint</span><span class="hl-brackets">(</span><span class="hl-reserved">array</span><span class="hl-brackets">(</span><span class="hl-number">4</span><span class="hl-code">,</span><span class="hl-number">5</span><span class="hl-code">,</span><span class="hl-number">6</span><span class="hl-code">,</span><span class="hl-number">3</span><span class="hl-code">,</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">4</span><span class="hl-code">,</span><span class="hl-number">7</span><span class="hl-code">,</span><span class="hl-number">3</span><span class="hl-code">,</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">2</span><span class="hl-code">,</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">4</span><span class="hl-code">,</span><span class="hl-number">5</span><span class="hl-code">,</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">2</span><span class="hl-code">,</span><span class="hl-number">4</span><span class="hl-code">,</span><span class="hl-number">7</span><span class="hl-code">,</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">6</span><span class="hl-brackets">)</span><span class="hl-code">,</span><span class="hl-quotes">&quot;</span><span class="hl-string">Serie2</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span></li>
<li>&nbsp;<span class="hl-var">$data</span><span class="hl-code">-&gt;</span><span class="hl-identifier">AddSerie</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Serie2</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
<li>&nbsp;<span class="hl-var">$data</span><span class="hl-code">-&gt;</span><span class="hl-identifier">SetSerieName</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">データその２</span><span class="hl-quotes">&quot;</span><span class="hl-code">,</span><span class="hl-quotes">&quot;</span><span class="hl-string">Serie2</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> --------------------------------------</span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> グラフの初期化</span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> --------------------------------------</span></li>
<li>&nbsp;<span class="hl-var">$chart</span><span class="hl-code"> = </span><span class="hl-reserved">new</span> <span class="hl-identifier">pChart</span><span class="hl-brackets">(</span><span class="hl-number">700</span><span class="hl-code">,</span><span class="hl-number">230</span><span class="hl-brackets">)</span><span class="hl-code">;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> グラフの画像サイズ：横,縦</span></li>
<li>&nbsp;<span class="hl-var">$chart</span><span class="hl-code">-&gt;</span><span class="hl-identifier">setFontProperties</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">../fonts/meiryo.ttc</span><span class="hl-quotes">&quot;</span><span class="hl-code">,</span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code">;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> フォント,サイズ</span></li>
<li>&nbsp;<span class="hl-var">$chart</span><span class="hl-code">-&gt;</span><span class="hl-identifier">setGraphArea</span><span class="hl-brackets">(</span><span class="hl-number">40</span><span class="hl-code">,</span><span class="hl-number">30</span><span class="hl-code">,</span><span class="hl-number">680</span><span class="hl-code">,</span><span class="hl-number">200</span><span class="hl-brackets">)</span><span class="hl-code">;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> グラフのキャンバス (x1,y1),(x2,y2)</span></li>
<li>&nbsp;<span class="hl-var">$chart</span><span class="hl-code">-&gt;</span><span class="hl-identifier">drawGraphArea</span><span class="hl-brackets">(</span><span class="hl-number">252</span><span class="hl-code">,</span><span class="hl-number">252</span><span class="hl-code">,</span><span class="hl-number">252</span><span class="hl-brackets">)</span><span class="hl-code">;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> RGB</span></li>
<li>&nbsp;<span class="hl-var">$chart</span><span class="hl-code">-&gt;</span><span class="hl-identifier">drawScale</span><span class="hl-brackets">(</span><span class="hl-var">$data</span><span class="hl-code">-&gt;</span><span class="hl-identifier">GetData</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">,</span><span class="hl-var">$data</span><span class="hl-code">-&gt;</span><span class="hl-identifier">GetDataDescription</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">,</span><span class="hl-identifier">SCALE_NORMAL</span><span class="hl-code">,</span><span class="hl-number">150</span><span class="hl-code">,</span><span class="hl-number">150</span><span class="hl-code">,</span><span class="hl-number">150</span><span class="hl-code">,</span><span class="hl-reserved">TRUE</span><span class="hl-code">,</span><span class="hl-number">0</span><span class="hl-code">,</span><span class="hl-number">2</span><span class="hl-brackets">)</span><span class="hl-code">;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> スケール</span></li>
<li>&nbsp;<span class="hl-var">$chart</span><span class="hl-code">-&gt;</span><span class="hl-identifier">drawGrid</span><span class="hl-brackets">(</span><span class="hl-number">4</span><span class="hl-code">,</span><span class="hl-reserved">TRUE</span><span class="hl-code">,</span><span class="hl-number">230</span><span class="hl-code">,</span><span class="hl-number">230</span><span class="hl-code">,</span><span class="hl-number">230</span><span class="hl-code">,</span><span class="hl-number">255</span><span class="hl-brackets">)</span><span class="hl-code">;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment">グラフ背景のグリッド</span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> --------------------------------------</span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> グラフの描画</span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> --------------------------------------</span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> 折れ線グラフ</span></li>
<li>&nbsp;<span class="hl-var">$chart</span><span class="hl-code">-&gt;</span><span class="hl-identifier">drawLineGraph</span><span class="hl-brackets">(</span><span class="hl-var">$data</span><span class="hl-code">-&gt;</span><span class="hl-identifier">GetData</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">,</span><span class="hl-var">$data</span><span class="hl-code">-&gt;</span><span class="hl-identifier">GetDataDescription</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-code">; </span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> データのプロット（折れ線グラフの各点）</span></li>
<li>&nbsp;<span class="hl-var">$chart</span><span class="hl-code">-&gt;</span><span class="hl-identifier">drawPlotGraph</span><span class="hl-brackets">(</span><span class="hl-var">$data</span><span class="hl-code">-&gt;</span><span class="hl-identifier">GetData</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">,</span><span class="hl-var">$data</span><span class="hl-code">-&gt;</span><span class="hl-identifier">GetDataDescription</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">,</span><span class="hl-number">3</span><span class="hl-code">,</span><span class="hl-number">2</span><span class="hl-code">,</span><span class="hl-number">255</span><span class="hl-code">,</span><span class="hl-number">255</span><span class="hl-code">,</span><span class="hl-number">255</span><span class="hl-brackets">)</span><span class="hl-code">;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> 外側半径,内側半径,R,G,B</span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> legendは「凡例」</span></li>
<li>&nbsp;<span class="hl-var">$chart</span><span class="hl-code">-&gt;</span><span class="hl-identifier">setFontProperties</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">../fonts/meiryo.ttc</span><span class="hl-quotes">&quot;</span><span class="hl-code">,</span><span class="hl-number">8</span><span class="hl-brackets">)</span><span class="hl-code">; </span></li>
<li>&nbsp;<span class="hl-var">$chart</span><span class="hl-code">-&gt;</span><span class="hl-identifier">drawLegend</span><span class="hl-brackets">(</span><span class="hl-number">45</span><span class="hl-code">,</span><span class="hl-number">35</span><span class="hl-code">,</span><span class="hl-var">$data</span><span class="hl-code">-&gt;</span><span class="hl-identifier">GetDataDescription</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">,</span><span class="hl-number">255</span><span class="hl-code">,</span><span class="hl-number">255</span><span class="hl-code">,</span><span class="hl-number">255</span><span class="hl-brackets">)</span><span class="hl-code">;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> 場所, RGB</span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> タイトル</span></li>
<li>&nbsp;<span class="hl-var">$chart</span><span class="hl-code">-&gt;</span><span class="hl-identifier">setFontProperties</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">../fonts/meiryo.ttc</span><span class="hl-quotes">&quot;</span><span class="hl-code">,</span><span class="hl-number">10</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
<li>&nbsp;<span class="hl-var">$chart</span><span class="hl-code">-&gt;</span><span class="hl-identifier">drawTitle</span><span class="hl-brackets">(</span><span class="hl-number">60</span><span class="hl-code">,</span><span class="hl-number">22</span><span class="hl-code">,</span><span class="hl-quotes">&quot;</span><span class="hl-string"> グラフを書いてみたよ</span><span class="hl-quotes">&quot;</span><span class="hl-code">,</span><span class="hl-number">50</span><span class="hl-code">,</span><span class="hl-number">50</span><span class="hl-code">,</span><span class="hl-number">50</span><span class="hl-code">,</span><span class="hl-number">585</span><span class="hl-brackets">)</span><span class="hl-code">;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> 場所, RGB</span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-var">$chart</span><span class="hl-code">-&gt;</span><span class="hl-identifier">Render</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">test.png</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">; </span><span class="hl-comment">//</span><span class="hl-comment"> ファイルに書き出す</span></li>
</ol>
</pre>
				<p>■ 作成されたグラフ<br />
				<a href="http://blog.magellanic.net/wp-content/uploads/2010/06/test.png"><img src="http://blog.magellanic.net/wp-content/uploads/2010/06/test-300x98.png" alt="pChart_test" title="pChart_test" width="300" height="98" /></a></p>
				<p>※クリックで最大化します。</p>
				<p>■ その他<br />
				・ UTF-8じゃないとグラフの日本語が文字化けしてしまいました。</p>
				<p>・ php.iniのGDを有効にしておく必要があります。</p>
				<div class="command">extension=php_gd2.dll</div>
				<p>・ バグレポートにあるとおり、そのままだと notice が出てしまいます。</p>
				<p><a href='http://sourceforge.net/projects/pchart/forums/forum/822590/topic/3384884'>SourceForge.net: pChart: Topic: Bug with pData.class.php</a></p>
				<p>気になる方は notice を無視するか、pData.class:55 あたりに以下の修正を入れると OK です。</p>
				<pre class="src">
<ol class="hl-main">
<li>&nbsp;<span class="hl-inlinetags">&lt;?php</span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> -----------------------------------</span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> notice対応</span></li>
<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">Data</span><span class="hl-code"> = </span><span class="hl-reserved">array</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="hl-comment">//</span><span class="hl-comment">$this-&gt;Data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   = &quot;&quot;;</span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> -----------------------------------</span></li>
</ol>
</pre>
				<p>pChartは素晴らしいグラフライブラリなのですが、更新が途絶えて久しいのが気になりますね。<br />
				Forumを有効に利用すると良いかもです。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/767/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smarty3 RCを使ってみた</title>
		<link>http://blog.magellanic.net/archives/758</link>
		<comments>http://blog.magellanic.net/archives/758#comments</comments>
		<pubDate>Sun, 30 May 2010 07:12:46 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=758</guid>
		<description><![CDATA[久しぶりに PHP でコードを書こうと思ったら、Smarty3 が RC になってた。 2.xと同じような感覚で使ってみたら、deprecated と言われたのでメモ。 まだマニュアルないのかなー。 &#160;&#60; [...]]]></description>
			<content:encoded><![CDATA[				<p>久しぶりに PHP でコードを書こうと思ったら、Smarty3 が RC になってた。<br />
				2.xと同じような感覚で使ってみたら、deprecated と言われたのでメモ。<br />
				まだマニュアルないのかなー。</p>
				<pre class="src">
<ol class="hl-main">
<li>&nbsp;<span class="hl-inlinetags">&lt;?php</span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-var">$view</span><span class="hl-code"> = </span><span class="hl-reserved">new</span> <span class="hl-identifier">Smarty</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> 2.xでの書き方</span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment">$view-&gt;register_modifier(&quot;number_format&quot;,&quot;number_format&quot;);</span></li>
<li><span class="hl-code">&nbsp; </span></li>
<li>&nbsp;<span class="hl-comment">//</span><span class="hl-comment"> 3での書き方</span></li>
<li>&nbsp;<span class="hl-var">$view</span><span class="hl-code">-&gt;</span><span class="hl-identifier">registered_plugins</span><span class="hl-brackets">[</span><span class="hl-quotes">'</span><span class="hl-string">number_format</span><span class="hl-quotes">'</span><span class="hl-brackets">]</span><span class="hl-code">;</span></li>
</ol>
</pre>
				<p>※ 追記：上のコードはうそうそです。なんかもうダメダメだな・・。</p>
				<p>ついでにコードをブログ用に整形するツールを PHP5.3 にそのまま持ってきたら deprecated 言われてる。。<br />
				はわわー。</p>
				<p><a href="http://amazon.co.jp/o/ASIN/4797354739/koshian404-22/ref=nosim" ><img src="http://ecx.images-amazon.com/images/I/51qkKmJMFaL._SL160_.jpg" width="125" height="160" alt="新標準SQLite (オープンソースRDBMSシリーズ)" /></a><br /><a href="http://amazon.co.jp/o/ASIN/4797354739/koshian404-22/ref=nosim" >新標準SQLite (オープンソースRDBMSシリーズ)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/758/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>titleにsetできない件＠CakePHP</title>
		<link>http://blog.magellanic.net/archives/585</link>
		<comments>http://blog.magellanic.net/archives/585#comments</comments>
		<pubDate>Sat, 08 Aug 2009 12:42:42 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=585</guid>
		<description><![CDATA[実際に CakePHP を使ってみたので、つまづいたところを中心にメモ。 ■ title に set できない Bake した後、適当に見出しを変更しようと思って index.ctp の h2 タグを修正してみました。  [...]]]></description>
			<content:encoded><![CDATA[				<p>実際に CakePHP を使ってみたので、つまづいたところを中心にメモ。</p>
				<p>■ title に set できない<br />
				Bake した後、適当に見出しを変更しようと思って index.ctp の h2 タグを修正してみました。</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-code">&lt;h2&gt;</span><span class="hl-inlinetags">&lt;?php</span> <span class="hl-reserved">echo</span> <span class="hl-var">$title</span> <span class="hl-inlinetags">?&gt;</span><span class="hl-code">&lt;/h2&gt;</span></li>
				</ol>
				</div>
				<p>Controller で set しておきます。</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-code">&lt;?</span><span class="hl-identifier">php</span></li>
				<li><span class="hl-code">&nbsp;  $</span><span class="hl-identifier">this-</span><span class="hl-code">&gt;</span><span class="hl-identifier">set</span><span class="hl-code">(&#8216;</span><span class="hl-identifier">title</span><span class="hl-code">&#8216;, &#8216;</span><span class="hl-identifier">CakePHP</span><span class="hl-code"> を使ってみたよ！&#8217;);</span></li>
				<li><span class="hl-code">&nbsp;?&gt;</span></li>
				</ol>
				</div>
				<p>これが表示できない。そんな変数しらないよ。って怒られる。<br />
				理由は Controller#set にありました。</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-inlinetags">&lt;?php</span></li>
				<li>&nbsp;<span class="hl-reserved">if</span> <span class="hl-brackets">(</span><span class="hl-var">$name</span><span class="hl-code"> === </span><span class="hl-quotes">&#8216;</span><span class="hl-string">title</span><span class="hl-quotes">&#8216;</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">pageTitle</span><span class="hl-code"> = </span><span class="hl-var">$value</span><span class="hl-code">;</span></li>
				<li>&nbsp;<span class="hl-brackets">}</span> <span class="hl-reserved">else</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">if</span> <span class="hl-brackets">(</span><span class="hl-var">$two</span><span class="hl-code"> === </span><span class="hl-reserved">null</span><span class="hl-code"> &amp;&amp; </span><span class="hl-identifier">is_array</span><span class="hl-brackets">(</span><span class="hl-var">$one</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">viewVars</span><span class="hl-brackets">[</span><span class="hl-identifier">Inflector</span><span class="hl-code">::</span><span class="hl-identifier">variable</span><span class="hl-brackets">(</span><span class="hl-var">$name</span><span class="hl-brackets">)</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-var">$value</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-brackets">}</span> <span class="hl-reserved">else</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-var">$this</span><span class="hl-code">-&gt;</span><span class="hl-identifier">viewVars</span><span class="hl-brackets">[</span><span class="hl-var">$name</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-var">$value</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-brackets">}</span></li>
				<li>&nbsp;<span class="hl-brackets">}</span></li>
				<li>&nbsp;<span class="hl-inlinetags">?&gt;</span></li>
				</ol>
				</div>
				<p>&#8216;title&#8217;だけ特別扱いしてる。<br />
				&#8216;title&#8217;に set すると pageTitle に値を入れてくれるんだねー、って<strong>誰が言った？</strong></p>
				<p>少なくともマニュアルの「4.5.4 コントローラのメソッド」の set の項には書いていないし、API にも書かれていない。<br />
				pageTitle への値の設定はマニュアルにも</p>
				<p>$this->pageTitle = &#8220;hogehoge&#8221;;</p>
				<p>となっているし、個人的にもこの set の挙動は不可解。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/585/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>技術書：CakePHP1.2ガイドブック</title>
		<link>http://blog.magellanic.net/archives/582</link>
		<comments>http://blog.magellanic.net/archives/582#comments</comments>
		<pubDate>Wed, 05 Aug 2009 12:39:32 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[技術書]]></category>
		<category><![CDATA[CakePHP]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=582</guid>
		<description><![CDATA[速く、安全で、拡張性のあるフレームワークCakePHPは、メンテナンスの必要なコード量を減らし、丈夫なWebアプリケーションの構築に必要とされる大半の機能を扱う仕組みを提供します。本書は、高速開発を「PHPらしく」実現す [...]]]></description>
			<content:encoded><![CDATA[				<blockquote><p>速く、安全で、拡張性のあるフレームワークCakePHPは、メンテナンスの必要なコード量を減らし、丈夫なWebアプリケーションの構築に必要とされる大半の機能を扱う仕組みを提供します。本書は、高速開発を「PHPらしく」実現するフレームワークを現場のプロが導入から実践、拡張まで徹底解説します。</p></blockquote>
				<p>業務で使っているわけではないのですが、ちょっと勉強してみたくなり購入。</p>
				<p>フレームワーク本ですが、すごく丁寧に解説されている印象なので Web アプリ一般の勉強をしてみたい人に良いかもです。<br />
				CakePHP に関していえば、概要を知りたい人向け。リファレンスには弱いか。</p>
				<p>やっぱりフレームワークを勉強するには Try &#038; Error が最適なのでしょうしね。</p>
				<p><a href="http://amazon.co.jp/o/ASIN/4839932468/koshian404-22/ref=nosim" ><img src="http://ecx.images-amazon.com/images/I/417XoM3%2B6sL._SL160_.jpg" width="124" height="160" alt="CakePHP1.2ガイドブック" /></a><br /><a href="http://amazon.co.jp/o/ASIN/4839932468/koshian404-22/ref=nosim" >CakePHP1.2ガイドブック</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/582/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse3.5 ついでに PDT2.1 リリース</title>
		<link>http://blog.magellanic.net/archives/538</link>
		<comments>http://blog.magellanic.net/archives/538#comments</comments>
		<pubDate>Thu, 25 Jun 2009 14:25:38 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PDT]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=538</guid>
		<description><![CDATA[Eclipse3.5 ついでに PDT2.1 がリリースされました。 PDT 2.1 とりあえず、PDT2.1 の変更点だけ紹介しておきます。 ・ PHP5.3 に対応しました ・ 各種バグを直しました 以上。 ってしょ [...]]]></description>
			<content:encoded><![CDATA[				<p>Eclipse3.5 ついでに PDT2.1 がリリースされました。</p>
				<p><a href='http://www.eclipse.org/pdt/release-notes/pdt2_1.php'>PDT 2.1</a></p>
				<p>とりあえず、PDT2.1 の変更点だけ紹介しておきます。</p>
				<p>・ PHP5.3 に対応しました<br />
				・ 各種バグを直しました</p>
				<p>以上。</p>
				<p>ってしょっぱく見えますが、PHP5.3はかなり大きな変更もあるメジャーに近いマイナーバージョンアップです。</p>
				<p>なので PHP5.3 を使おうとしているユーザーにはうれしいバージョンアップなのではないでしょうか。</p>
				<p>バグもかなり直されているのでそれ以前の PHP を使っているユーザも乗り換えれば良いじゃない。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/538/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Calendar と iスケジュールをほげってみた（続き）</title>
		<link>http://blog.magellanic.net/archives/321</link>
		<comments>http://blog.magellanic.net/archives/321#comments</comments>
		<pubDate>Sun, 01 Mar 2009 05:08:00 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[モバイル]]></category>
		<category><![CDATA[iスケジュール]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=321</guid>
		<description><![CDATA[えっと、このサイトは技術系サイトなので、ちょっと技術的なフォローしておきます。 今回 Google Calendar に接続するにあたり、使うことにしたのが Zend_Gdata というライブラリです。 この API は [...]]]></description>
			<content:encoded><![CDATA[				<p>えっと、このサイトは技術系サイトなので、ちょっと技術的なフォローしておきます。</p>
				<p>今回 Google Calendar に接続するにあたり、使うことにしたのが Zend_Gdata というライブラリです。</p>
				<p>この API は phpdoc で公開されているのですが、これがどうにもがっかりな使えなさっぷりなので、マニュアルを読んでもよくわからなかった点をまとめときます。</p>
				<p>■ Google Calendar から取得できるデータ<br />
				Google Calendar から取得した1件のスケジュールデータはZend_Gdata_Calendar_EventEntry です。<br />
				このクラスから主要な情報を取得する方法は以下のようになります。</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-inlinetags">&lt;?php</span></li>
				<li>&nbsp;<span class="hl-var">$eventFeed</span><span class="hl-code"> = </span><span class="hl-var">$service</span><span class="hl-code">-&gt;</span><span class="hl-identifier">getCalendarEventFeed</span><span class="hl-brackets">(</span><span class="hl-var">$query</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li>&nbsp;<span class="hl-reserved">foreach</span> <span class="hl-brackets">(</span><span class="hl-var">$eventFeed</span> <span class="hl-reserved">as</span> <span class="hl-var">$event</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> タイトル</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-var">$summary</span><span class="hl-code">  = </span><span class="hl-identifier">mb_convert_encoding</span><span class="hl-brackets">(</span><span class="hl-var">$event</span><span class="hl-code">-&gt;</span><span class="hl-identifier">title</span><span class="hl-code">-&gt;</span><span class="hl-identifier">text</span><span class="hl-code">, </span><span class="hl-quotes">&#8216;</span><span class="hl-string">SJIS</span><span class="hl-quotes">&#8216;</span><span class="hl-code">, </span><span class="hl-quotes">&#8216;</span><span class="hl-string">UTF-8</span><span class="hl-quotes">&#8216;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> 更新日時(&quot;2009-02-27T16:53:43.000Z&quot;)</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-var">$upd</span><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;  = </span><span class="hl-var">$event</span><span class="hl-code">-&gt;</span><span class="hl-identifier">updated</span><span class="hl-code">-&gt;</span><span class="hl-identifier">text</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> 開始日時(2009-03-27T10:00:00.000+09:00)</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-var">$start</span><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;= </span><span class="hl-var">$event</span><span class="hl-code">-&gt;</span><span class="hl-identifier">when</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">-&gt;</span><span class="hl-identifier">getStartTime</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> 終了日時(2009-03-27T11:00:00.000+09:00)</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-var">$end</span><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;  = </span><span class="hl-var">$event</span><span class="hl-code">-&gt;</span><span class="hl-identifier">when</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">-&gt;</span><span class="hl-identifier">getEndTime</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> 場所</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-var">$location</span><span class="hl-code"> = </span><span class="hl-identifier">mb_convert_encoding</span><span class="hl-brackets">(</span><span class="hl-var">$event</span><span class="hl-code">-&gt;</span><span class="hl-identifier">where</span><span class="hl-brackets">[</span><span class="hl-number">0</span><span class="hl-brackets">]</span><span class="hl-code">-&gt;</span><span class="hl-identifier">getValueString</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code">, </span><span class="hl-quotes">&#8216;</span><span class="hl-string">SJIS</span><span class="hl-quotes">&#8216;</span><span class="hl-code">, </span><span class="hl-quotes">&#8216;</span><span class="hl-string">UTF-8</span><span class="hl-quotes">&#8216;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-comment">//</span><span class="hl-comment"> 説明</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-var">$detail</span><span class="hl-code">   = </span><span class="hl-identifier">mb_convert_encoding</span><span class="hl-brackets">(</span><span class="hl-var">$event</span><span class="hl-code">-&gt;</span><span class="hl-identifier">content</span><span class="hl-code">-&gt;</span><span class="hl-identifier">text</span><span class="hl-code">, </span><span class="hl-quotes">&#8216;</span><span class="hl-string">SJIS</span><span class="hl-quotes">&#8216;</span><span class="hl-code">, </span><span class="hl-quotes">&#8216;</span><span class="hl-string">UTF-8</span><span class="hl-quotes">&#8216;</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li>&nbsp;<span class="hl-brackets">}</span></li>
				</ol>
				</div>
				<p>取得できる情報は UTF-8 なので必要に応じて変換する必要があります。(iスケジュールは Shift-JIS)<br />
				日時情報はタイムゾーンなど統一されていませんが、基本的に strtotime 関数の引数に直接指定できます。<br />
				ただし、Google Calendar 上で終日の指定をしたときは&#8221;Y-m-d&#8221;形式となり、時間が含まれないフォーマットで返却されてきます。</p>
				<p>■ quoted-printable<br />
				Zend_Gdata とは関係ありませんが、iスケジュールでは日本語を quoted-printable に変換しなければなりません。<br />
				PHP には quoted_printable_encode という関数がありますが、これは PHP5.3 以降でしか使えません。<br />
				現時点では PHP5.3 以上を使えないことも多いと思います。そのときはマニュアルを参考に自分で関数を用意します。</p>
				<div class="src">
				<ol class="hl-main">
				<li>&nbsp;<span class="hl-inlinetags">&lt;?php</span></li>
				<li>&nbsp;<span class="hl-reserved">if</span> <span class="hl-brackets">(</span><span class="hl-code">!</span><span class="hl-identifier">function_exists</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">quoted_printable_encode</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;  </span><span class="hl-reserved">function</span> <span class="hl-identifier">quoted_printable_encode</span><span class="hl-brackets">(</span><span class="hl-var">$string</span><span class="hl-brackets">)</span> <span class="hl-brackets">{</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="hl-reserved">return</span> <span class="hl-identifier">preg_replace</span><span class="hl-brackets">(</span><span class="hl-quotes">&#8216;</span><span class="hl-string">/[^\r\n]{73}[^=\r\n]{2}/</span><span class="hl-quotes">&#8216;</span><span class="hl-code">, </span><span class="hl-quotes">&quot;</span><span class="hl-string">$0=</span><span class="hl-special">\r</span><span class="hl-special">\n</span><span class="hl-quotes">&quot;</span><span class="hl-code">,</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span><span class="hl-identifier">str_replace</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">%</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-quotes">&quot;</span><span class="hl-string">=</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-identifier">str_replace</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">%0D%0A</span><span class="hl-quotes">&quot;</span><span class="hl-code">, </span><span class="hl-quotes">&quot;</span><span class="hl-special">\r</span><span class="hl-special">\n</span><span class="hl-quotes">&quot;</span><span class="hl-code">,</span></li>
				<li><span class="hl-code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span><span class="hl-identifier">str_replace</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">%20</span><span class="hl-quotes">&quot;</span><span class="hl-code">,</span><span class="hl-quotes">&quot;</span> <span class="hl-quotes">&quot;</span><span class="hl-code">,</span><span class="hl-identifier">rawurlencode</span><span class="hl-brackets">(</span><span class="hl-var">$string</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-brackets">)</span><span class="hl-code">;</span></li>
				<li><span class="hl-code">&nbsp;  </span><span class="hl-brackets">}</span></li>
				<li>&nbsp;<span class="hl-brackets">}</span></li>
				</ol>
				</div>
				<p>今後 PHP5.3 以降にバージョンアップする可能性を考えて function_exists で判定しておけば万全です。</p>
				<p>■ 参考<br />
				<a href='http://www.nttdocomo.co.jp/service/imode/make/content/iconcier/scheduler/format/index.html'>作ろうiモードコンテンツ：スケジューラデータフォーマット | サービス・機能 | NTTドコモ</a></p>
				<p><a href='http://www.flatz.jp/archives/199'>[PHP]Zend Google Data Client Libraryで gCal APIs を使う[その3]｜株式会社 フラッツ</a></p>
				<p><a href='http://framework.zend.com/manual/ja/zend.gdata.calendar.html'>Zend Framework: Documentation</a></p>
				<p><a href="http://amazon.co.jp/o/ASIN/4844326368/koshian404-22/ref=nosim" ><img src="http://ecx.images-amazon.com/images/I/51AFMyAmdQL._SL160_.jpg" width="114" height="160" alt="まるごとPHP! Vol.2" /></a><br /><a href="http://amazon.co.jp/o/ASIN/4844326368/koshian404-22/ref=nosim" >まるごとPHP! Vol.2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/321/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Calendar と iスケジュールをほげってみた＠SH-04A</title>
		<link>http://blog.magellanic.net/archives/315</link>
		<comments>http://blog.magellanic.net/archives/315#comments</comments>
		<pubDate>Sat, 28 Feb 2009 05:59:18 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[モバイル]]></category>
		<category><![CDATA[iスケジュール]]></category>
		<category><![CDATA[SH-04A]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=315</guid>
		<description><![CDATA[先日こんなことを言いました。 少なくともどこかのカレンダーサービスとiスケジュールの自動同期ができないようじゃダメだ。 口ばっかりっていうのもアレですし、制限があるならその中でできる限りのことをするべきだろうってことで夜 [...]]]></description>
			<content:encoded><![CDATA[				<p>先日こんなことを言いました。</p>
				<blockquote><p>少なくともどこかのカレンダーサービスとiスケジュールの自動同期ができないようじゃダメだ。</p></blockquote>
				<p>口ばっかりっていうのもアレですし、制限があるならその中でできる限りのことをするべきだろうってことで夜なべして作ってみました。</p>
				<p>実機で動くようになったものの、使い勝手がいまいちだったので、公開はしてませんけど。</p>
				<p>仕組みは簡単です。<br />
				ユーザがこのサイトにアクセスしたとき、Googleの認証セッションを持っていないときは Google のページへ飛ばします。認証されたユーザがこのサイトにアクセスすると、Google Calendar からデータを取得して iスケジュールのデータを作成します。さらに指定のメールアドレスにメールを送信し、ユーザはそのメールのリンクを踏むとスケジュールデータがダウンロードされます。</p>
				<p>問題は以下の2点。</p>
				<ul>
				<li>モバイルから Google アカウントにログインできない。<br />これができればわざわざメールを送らなくてもその場でダウンロードできると思ったのですが、ログインできず。</li>
				<li>iスケジュールをダウンロードしたとき、古いデータを更新できない。<br />つまり、ダウンロードするたびに重複されたスケジュールが登録されてしまう。データフォーマットに iスケジュールそのものの ID みたいなものを持っていないよう（公開されていない）なので難しいかな。</li>
				</ul>
				<p>これなら、最初からモバイル向けのスケジュールサービスを使ったほうが良いよね。iスケジュールの利点全否定ですもん。なにか方法ないかな。</p>
				<p>まあ Google Calendar API とか Zend Framework とか quoted-printable の勉強になったってことで。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/315/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PDT2.0を使ってみた</title>
		<link>http://blog.magellanic.net/archives/236</link>
		<comments>http://blog.magellanic.net/archives/236#comments</comments>
		<pubDate>Sat, 24 Jan 2009 11:55:42 +0000</pubDate>
		<dc:creator>koshian</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PDT]]></category>

		<guid isPermaLink="false">http://blog.magellanic.net/?p=236</guid>
		<description><![CDATA[PDT2.0を使ってみたので、初期設定のメモだけ残しておきます。 まずはダウンロードページからAll-In-Oneをダウンロードします。 PHP Development Tools (PDT) &#8211; Downl [...]]]></description>
			<content:encoded><![CDATA[				<p>PDT2.0を使ってみたので、初期設定のメモだけ残しておきます。</p>
				<p>まずはダウンロードページからAll-In-Oneをダウンロードします。</p>
				<p><a href='http://www.eclipse.org/pdt/downloads/'>PHP Development Tools (PDT) &#8211; Downloads</a></p>
				<p>こしあんの環境では以下のパッケージをダウンロードしました。</p>
				<p>All-In-One PDT 2.0 (Windows 32-bit)</p>
				<p>他にはお好みでプラグインをインストールします。<br />
				こしあんは日本語化の Pleiades と空白文字の可視化の JStyle をインストールしました。</p>
				<p><a href='http://mergedoc.sourceforge.jp/'>Pleiades (Eclipse プラグイン日本語化プラグイン)</a></p>
				<p>で、Eclipseの設定をします。<br />
				PHPとしては[PHP]→[PHP実行可能ファイル]→[追加]でPHP、設定ファイルの場所を設定しておきます。</p>
				<p><img src="http://blog.magellanic.net/wp-content/uploads/2009/01/20090124.png" alt="20090124" title="20090124" width="384" height="214" /></p>
				<p>これでPHPスクリプトを作成し、右クリックで実行できます。</p>
				<div class="memo">※ デバッガの設定をしていない場合、PHPスクリプトを実行しようとすると&#8221;Launch Error &#8211; Session Terminated&#8221;エラーになることがあります。このときは、実行設定の&#8221;Display debug information when running&#8221;のチェックをはずしておけばOKです。</p>
				<p><img src="http://blog.magellanic.net/wp-content/uploads/2009/01/20090124a.png" alt="20090124a" title="20090124a" width="473" height="289" /></div>
				<p>おつかれちゃん。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.magellanic.net/archives/236/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

