<?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; php</title>
	<atom:link href="http://www.esbrain.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.esbrain.com</link>
	<description>高い技術力・創造力・機動力でお客様のビジネスをさらに加速させます</description>
	<lastBuildDate>Fri, 09 Sep 2011 09:55:56 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.esbrain.com/tag/php/feed/" />
		<item>
		<title>MemcachedのインストールとPHPからのアクセス</title>
		<link>http://www.esbrain.com/2009/04/memcached%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8php%e3%81%8b%e3%82%89%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss</link>
		<comments>http://www.esbrain.com/2009/04/memcached%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8php%e3%81%8b%e3%82%89%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 10:38:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[プログラム小技]]></category>
		<category><![CDATA[Memcached]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.esbrain.com/?p=152</guid>
		<description><![CDATA[負荷分散システムでのデータキャッシュ化のため、memcachedを導入しました。
TCP/IP通信でリモートサーバのメモリにデータを保存することが出来ます。
技術的なことは他のサイトに譲るとして、導入方法です。
memc [...]]]></description>
			<content:encoded><![CDATA[<p>負荷分散システムでのデータキャッシュ化のため、memcachedを導入しました。</p>
<p>TCP/IP通信でリモートサーバのメモリにデータを保存することが出来ます。</p>
<p>技術的なことは他のサイトに譲るとして、導入方法です。</p>
<p>memcachedは元々DBのクエリキャッシュのために作られたようですが、</p>
<p>大抵のデータは格納できます。</p>
<p>Ubuntuからのインストールは非常に簡単で、synapticでmemcachedをインストールするだけです。</p>
<p>起動コマンドも簡単です。</p>
<p>memcached -p ポート番号 -m 最大メモリ -d</p>
<p>最大メモリが64MBであるなら、パラメータには64mと指定します。</p>
<p>これだけで、メモリキャッシュサーバの導入は終わり。</p>
<p>フロントエンドの例として、PHPで使用してみます。</p>
<p>PECLライブラリのインストールが必要ですが、これもsynapticからphp5-memcacheをインストールするだけです。</p>
<p>と思ったのですが、memcacheライブラリがロードされない・・・</p>
<p>/etc/php5/cli/conf.d/memcache.iniファイルの2行目で、memcache.soのロードがコメントアウトされていました。</p>
<p>viなどで、コメントアウトを取れば完成です。</p>
<p>簡単な動作例</p>
<pre class="brush: php; title: ;">
$key = &quot;test&quot;;
$m = new Memcache();
$m-&gt;connect(&quot;localhost&quot;, 10000); // localhostの10000番でmemcachedを起動したと仮定
$v = $m-&gt;get($key);
if($v === false) {
 $v = &quot;memcached at &quot;.date('Y/m/d H:i:s');
 $m-&gt;set($key, $v, 0, 30); // 30秒間キャッシュ
}
echo $v, &quot;\n&quot;;
</pre>
<p>キャッシュの有効期限をなくすには、setメソッドの第4引数を0にします。</p>
<p>memcacheはセッションハンドラにも使えるので、便利です。</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.esbrain.com/2009/04/memcached%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8php%e3%81%8b%e3%82%89%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.esbrain.com/2009/04/memcached%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%a8php%e3%81%8b%e3%82%89%e3%81%ae%e3%82%a2%e3%82%af%e3%82%bb%e3%82%b9/" />
	</item>
		<item>
		<title>Smarty vs phtml</title>
		<link>http://www.esbrain.com/2009/02/smarty-vs-phtml/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss</link>
		<comments>http://www.esbrain.com/2009/02/smarty-vs-phtml/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 10:48:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[スタッフブログ]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phtml]]></category>
		<category><![CDATA[Smarty]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://www.esbrain.com/?p=116</guid>
		<description><![CDATA[内モンゴル事務所にて、MVCの効果的な分離方法を検討しています。
今までは、Zend_Viewを継承したViewにSmartyを連携させる形で実装を行っていました。
しかし、Zendが提供するView関連のライブラリは、 [...]]]></description>
			<content:encoded><![CDATA[<p>内モンゴル事務所にて、MVCの効果的な分離方法を検討しています。</p>
<p>今までは、Zend_Viewを継承したViewにSmartyを連携させる形で実装を行っていました。</p>
<p>しかし、Zendが提供するView関連のライブラリは、基本的にphtmlによる実装となっています。</p>
<p>Zendとしては、phtmlを中心としていきたいのでしょう。</p>
<p>ただ、コードとビューの分離を考えると、phtmlよりはSmartyコードの方が適していると思われます。</p>
<p>Zend_LayoutにSmartyを連携させるか、phtmlとしてZend_Dojoも使えるようにするか</p>
<p>検討が続きます・・・</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.esbrain.com/2009/02/smarty-vs-phtml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.esbrain.com/2009/02/smarty-vs-phtml/" />
	</item>
		<item>
		<title>Lua+PHP=オイシイ?</title>
		<link>http://www.esbrain.com/2009/02/luaphp%e3%82%aa%e3%82%a4%e3%82%b7%e3%82%a4/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss</link>
		<comments>http://www.esbrain.com/2009/02/luaphp%e3%82%aa%e3%82%a4%e3%82%b7%e3%82%a4/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 13:09:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[プログラム小技]]></category>
		<category><![CDATA[lua]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.esbrain.com/?p=114</guid>
		<description><![CDATA[Lua言語はとても軽量なスクリプト言語です。
javascriptと文法の構造が似ているため、入りやすいのも特徴です。
しかも、他の言語との連携が取りやすいので、C言語などのコンパイラ言語に組み込めば、
処理時間がよほど [...]]]></description>
			<content:encoded><![CDATA[<p>Lua言語はとても軽量なスクリプト言語です。</p>
<p>javascriptと文法の構造が似ているため、入りやすいのも特徴です。</p>
<p>しかも、他の言語との連携が取りやすいので、C言語などのコンパイラ言語に組み込めば、</p>
<p>処理時間がよほど厳密に規定されていない限り、大抵の処理をスクリプト言語に</p>
<p>置き換えることができ、開発効率が格段に上がります。</p>
<p>そこで、ちょっとしたアイデアがあり、PHPと連携を取ってみることにしました。</p>
<p>(スクリプト言語であるPHPと連携を取る必要があるかどうかの疑問は後回し)</p>
<p>1.PHPに、PECL_Genをインストールし、pecl-genコマンドが使えるようにします。</p>
<p>2.spec.xmlを作成し、pecl-genコマンドでPECL用コード一式を自動生成します。</p>
<p>3.phpize, configure, makeなど決められたとおりに実行し、コンパイルします。</p>
<p>4.make instalでPECLフォルダにインストールされます。</p>
<p>簡単なコードで、PHPからLuaを実行できるようになりました。</p>
<p>何に使うかは、また次回。</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.esbrain.com/2009/02/luaphp%e3%82%aa%e3%82%a4%e3%82%b7%e3%82%a4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.esbrain.com/2009/02/luaphp%e3%82%aa%e3%82%a4%e3%82%b7%e3%82%a4/" />
	</item>
		<item>
		<title>dojo tabContainer内のコンテンツのロード方法</title>
		<link>http://www.esbrain.com/2009/02/dojo-tabcontainer%e5%86%85%e3%81%ae%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84%e3%81%ae%e3%83%ad%e3%83%bc%e3%83%89%e6%96%b9%e6%b3%95/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss</link>
		<comments>http://www.esbrain.com/2009/02/dojo-tabcontainer%e5%86%85%e3%81%ae%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84%e3%81%ae%e3%83%ad%e3%83%bc%e3%83%89%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 03:11:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dojo]]></category>
		<category><![CDATA[プログラム小技]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.esbrain.com/?p=111</guid>
		<description><![CDATA[dojoのtabContainerは実装は簡単ですが、子供となるContentPaneの中にiframeなどがあると、
表示がうまくいかないことがあります。
表示されているContentPaneでないとうまく動作しないこ [...]]]></description>
			<content:encoded><![CDATA[<p>dojoのtabContainerは実装は簡単ですが、子供となるContentPaneの中にiframeなどがあると、</p>
<p>表示がうまくいかないことがあります。</p>
<p>表示されているContentPaneでないとうまく動作しないことが原因です。</p>
<p>よって複雑なページをタブ化する場合以下のようにするとうまく動作します。</p>
<p>1.タブコンテナにselectChildイベントハンドラをコネクト</p>
<p>2.ContentPaneを作るときにはcontentは空にしてタブコンテナに追加</p>
<p>3.selectChildイベントハンドラが呼ばれたときに、表示するContentPaneのcontentを設定(この中にiframeが含まれる)</p>
<p>これで外部のdojoページでもタブ化できます。</p>
<p>参考)タブコンテナにselectChildイベントハンドラを設定する方法</p>
<p>&lt;div dojoType=&#8221;dijit.layout.TabContainer&#8221; id=&#8221;tab&#8221;&gt;<br />
&lt;script type=&#8221;dojo/connect&#8221; event=&#8221;selectChild&#8221; args=&#8221;contentPane&#8221;&gt;<br />
var url = 適当なURL;<br />
if(contentPane.contentLoaded != true) {<br />
var contents = &#8216;&lt;iframe src=&#8221;&#8216;+url+&#8217;&#8221; frameborder=&#8221;0&#8243; style=&#8221;width:100%; height:100%;&#8221; scrolling=&#8221;no&#8221;/&gt;&#8217;;<br />
contentPane.setContent(contents);<br />
contentPane.setAttribute(&#8220;contentLoaded&#8221;, true);<br />
}<br />
&lt;/script&gt;<br />
&lt;/div&gt;</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.esbrain.com/2009/02/dojo-tabcontainer%e5%86%85%e3%81%ae%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84%e3%81%ae%e3%83%ad%e3%83%bc%e3%83%89%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.esbrain.com/2009/02/dojo-tabcontainer%e5%86%85%e3%81%ae%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84%e3%81%ae%e3%83%ad%e3%83%bc%e3%83%89%e6%96%b9%e6%b3%95/" />
	</item>
		<item>
		<title>PHP vs JAVA</title>
		<link>http://www.esbrain.com/2008/12/php-vs-java/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss</link>
		<comments>http://www.esbrain.com/2008/12/php-vs-java/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 08:41:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[スタッフブログ]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://web.esbrain.net/?p=56</guid>
		<description><![CDATA[先日内モンゴルのスタッフと話をしました。
彼は元々Java技術者でした。
現在はPHP＋Zend_Frameworkで顧客管理システムを開発しています。
彼はJAVAのほうがPHPよりいいと言います。
理由は、クラスの充 [...]]]></description>
			<content:encoded><![CDATA[<p>先日内モンゴルのスタッフと話をしました。<br />
彼は元々Java技術者でした。<br />
現在はPHP＋Zend_Frameworkで顧客管理システムを開発しています。</p>
<p>彼はJAVAのほうがPHPよりいいと言います。<br />
理由は、クラスの充実度が桁違いだからです。</p>
<p>確かに同感です。<br />
現在のPHPはC＋＋が使われ始めたころと同じです。<br />
標準クラスの整備ができてないのです。<br />
そのためグローバル関数を使わざるを得なく、美しいオブジェクト指向なコードが書きにくい。<br />
また逆に、すべてをクラス化するとPHPのPerlライクな柔軟性が失われてしまいます。</p>
<p>社内でもESBrainクラス群を作って、標準化は進めていますが、<br />
未だに”これで5年は使える”と言えるようなクラス群はできていません。<br />
しかもそれらのクラスはJAVAを参考に作ってあるため、<br />
だったらJAVAでやったほうがいいんじゃないかという矛盾もあります。<br />
しかし現状ではクライアント要望によって、PHPを必要とする場合が多いのも事実です。</p>
<p>今後半年をめどに、日蒙共同で標準クラス群の作成を行いたいと思います。</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.esbrain.com/2008/12/php-vs-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.esbrain.com/2008/12/php-vs-java/" />
	</item>
		<item>
		<title>Smartyのテンプレート内でクラスインスタンスを生成する</title>
		<link>http://www.esbrain.com/2008/12/smarty%e3%81%ae%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88%e5%86%85%e3%81%a7%e3%82%af%e3%83%a9%e3%82%b9%e3%82%a4%e3%83%b3%e3%82%b9%e3%82%bf%e3%83%b3%e3%82%b9%e3%82%92%e7%94%9f%e6%88%90/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rss</link>
		<comments>http://www.esbrain.com/2008/12/smarty%e3%81%ae%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88%e5%86%85%e3%81%a7%e3%82%af%e3%83%a9%e3%82%b9%e3%82%a4%e3%83%b3%e3%82%b9%e3%82%bf%e3%83%b3%e3%82%b9%e3%82%92%e7%94%9f%e6%88%90/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 01:53:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[プログラム小技]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Smarty]]></category>

		<guid isPermaLink="false">http://web.esbrain.net/?p=53</guid>
		<description><![CDATA[Smartyのテンプレート内でどうしてもクラス生成を行いたい場合に、こんな風に書いたらエラーが出ます。
※デリミタは{% &#8230; %}とする
{% new ClassA()->methodA() %}
newが正 [...]]]></description>
			<content:encoded><![CDATA[<p>Smartyのテンプレート内でどうしてもクラス生成を行いたい場合に、こんな風に書いたらエラーが出ます。<br />
※デリミタは{% &#8230; %}とする</p>
<p>{% new ClassA()->methodA() %}</p>
<p>newが正常に認識できないようです。<br />
対処方法としては、phpタグを使ってコードを実行します。</p>
<p>{% php %}<br />
$a = new ClassA()->methodA();<br />
$this->assign(&#8216;valueA&#8217;, $a);<br />
{% /php %}<br />
{% $valueA %}</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.esbrain.com/2008/12/smarty%e3%81%ae%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88%e5%86%85%e3%81%a7%e3%82%af%e3%83%a9%e3%82%b9%e3%82%a4%e3%83%b3%e3%82%b9%e3%82%bf%e3%83%b3%e3%82%b9%e3%82%92%e7%94%9f%e6%88%90/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.esbrain.com/2008/12/smarty%e3%81%ae%e3%83%86%e3%83%b3%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88%e5%86%85%e3%81%a7%e3%82%af%e3%83%a9%e3%82%b9%e3%82%a4%e3%83%b3%e3%82%b9%e3%82%bf%e3%83%b3%e3%82%b9%e3%82%92%e7%94%9f%e6%88%90/" />
	</item>
	</channel>
</rss>

