<?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>WIDGET-INFO &#187; String</title>
	<atom:link href="http://blog.widget-info.net/category/cakephp/others_class-cakephp/cakephp_string/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.widget-info.net</link>
	<description>WIDGET-INFOではCakePHPやIPhone情報、その他開発に関する情報を発信</description>
	<lastBuildDate>Sat, 24 Dec 2011 20:47:30 +0000</lastBuildDate>
	<language>ja</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://blog.widget-info.net/category/cakephp/others_class-cakephp/cakephp_string/feed/" />
		<item>
		<title>CakePHP　Stringクラスのinsert()を使ってみる</title>
		<link>http://blog.widget-info.net/2009/11/cakephp_string_insert/</link>
		<comments>http://blog.widget-info.net/2009/11/cakephp_string_insert/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 15:06:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[String]]></category>
		<category><![CDATA[その他クラス]]></category>
		<category><![CDATA[国際化]]></category>
		<category><![CDATA[言語]]></category>

		<guid isPermaLink="false">http://blog.widget-info.net/?p=358</guid>
		<description><![CDATA[CakePHPのStringクラスにある「insert()」を試してみました。]]></description>
			<content:encoded><![CDATA[<p>CakePHPのStringクラスにある「insert()」を試してみました。<br />
自分のメモでもありますが。。。</p>
<p>特に便利と感じた利用方法。。。</p>
<p>皆さんは「__(&#8216;CakePHP best&#8217;)」などような言語ファイルを使った国際化を自動で行ってくれる機能を、をすでに使っているかと思います。<br />
例えばこの「CakePHP best」の部分を動的に変えたいと思う場合もあるかと思います。</p>
<p>簡単にコーディングを行おうと思えば次のようなるかと思います。<br />
<span id="more-358"></span></p>
<pre class="brush:php">$value='best';
echo __('CakePHP ',true).$value;</pre>
<p>と言った形で「$value」の値を変更していくと言った形でしょうか。。。<br />
もちろん100%悪い形というわけではありませんが、もし「CakePHP 」を最終的に<br />
「CakePHP is」+「$value」+「PHP」に変更しなければならなくなった場合。。。</p>
<p>もちろん先ほどの状態では次のように変更しなければならなくなります。</p>
<pre class="brush:php">$value='best';
echo __('CakePHP ',true).$value.__('PHP',true);</pre>
<p>これでは修正がある度に手間がかかり、これがいくつものファイルに存在した場合を考えると。。。<br />
悪夢です（笑）</p>
<p>そこで活躍するのが今回のStringクラスの「insert()」。</p>
<p>先ほどの例を「insert()」に置き変えた場合の答えを先に記述すると次のようになります。</p>
<pre class="brush:php">echo String::insert(__('CakePHP :status PHP',true),array('status'=&gt;'best'));
//CakePHP best PHP</pre>
<p>さてお気づきでしょうか？</p>
<p>「:status」が「insert()」の第2引数である配列のキーの値を参照し、置き換えてくれます。<br />
こうすることで、言語ファイルには「CakePHP :status PHP」だけを記述し、自由に変更することができます。<br />
もちろん配列のキーは複数指定することもできるので、</p>
<pre class="brush:php">echo String::insert(__('CakePHP :status PHP by :foo',true),array('status'=&gt;'best','foo'=&gt;'me'));
//CakePHP best PHP by me</pre>
<p>も可能です。<br />
これで無駄に言語ファイルが肥大化することも抑えることかと思います。<br />
英文の文法についてはご了承ください（笑）
<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.widget-info.net%2F2009%2F11%2Fcakephp_string_insert%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.widget-info.net/2009/11/cakephp_string_insert/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.widget-info.net/2009/11/cakephp_string_insert/" />
	</item>
		<item>
		<title>CakePHP　Stringクラスのtokenize()を使ってみる</title>
		<link>http://blog.widget-info.net/2009/09/cakephp_string_tokenize/</link>
		<comments>http://blog.widget-info.net/2009/09/cakephp_string_tokenize/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 23:11:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[String]]></category>
		<category><![CDATA[その他クラス]]></category>

		<guid isPermaLink="false">http://blog.widget-info.net/?p=251</guid>
		<description><![CDATA[CakePHPのStringクラスにある「tokenize()」を試してみました。自分のメモでもありますが。。。]]></description>
			<content:encoded><![CDATA[<p>CakePHPのStringクラスにある「tokenize()」を試してみました。<br />
自分のメモでもありますが。。。</p>
<p>これは使ってみて便利と感じてしまいます（笑<br />
というのは簡単に説明すると、CSVデータの1行を配列化したい場合に便利です。<br />
この場合の記述として先に例を。。。<br />
<span id="more-251"></span></p>
<pre class="brush:php">String::tokenize('テキスト',',','"','"');</pre>
<p>となります。<br />
内容として第1引数には文字列を、第2引数には分割文字列を<br />
セットしていきます。<br />
冒頭にも言った便利と感じる部分が第3、4引数にあります。<br />
これは第2引数で指定した文字列で分割する際に、第3、4引数で指定した文字列の<br />
範囲内に第2引数が存在する場合は、分割しないようにしてくれます。</p>
<p>この関数はCSVデータを配列化するのみもってこいの関数ではあります。</p>
<p>1点注意なことは第1引数は配列ではなく文字列であるということなので、<br />
CSVデータを変換したい場合は「foreach」などでデータを回さなければなりません。
<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.widget-info.net%2F2009%2F09%2Fcakephp_string_tokenize%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.widget-info.net/2009/09/cakephp_string_tokenize/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.widget-info.net/2009/09/cakephp_string_tokenize/" />
	</item>
		<item>
		<title>CakePHP　Stringクラスのuuid()を使ってみる</title>
		<link>http://blog.widget-info.net/2009/09/cakephp_string_uuid/</link>
		<comments>http://blog.widget-info.net/2009/09/cakephp_string_uuid/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 23:24:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[String]]></category>
		<category><![CDATA[その他クラス]]></category>

		<guid isPermaLink="false">http://blog.widget-info.net/?p=249</guid>
		<description><![CDATA[CakePHPのライブラリであるStringクラスを使ってみました。その結果をメモとして。。。]]></description>
			<content:encoded><![CDATA[<p>CakePHPのライブラリであるStringクラスを使ってみました。<br />
その結果をメモとして。。。</p>
<p>Stringクラスはコントローラーおよびモデルのどちらでも使えるクラスです。<br />
というのもモデルですでに読み込まれているようです。<br />
<span id="more-249"></span><br />
では基本的な使い方としては</p>
<pre class="brush:php">String::メソッド();</pre>
<p>です。<br />
まぁ小難しい書き方をしないですが（笑</p>
<p>その中の一つである「uuid()」ですが、名称通りにユニークなIDを返します。<br />
PHPの関数「uniqid」とは違うユニークなIDで「RFC4122」というフォーマットで<br />
ユニークなIDを返します。<br />
記述としては</p>
<pre class="brush:php">String::uuid();</pre>
<p>となります。<br />
返り値の例としては「550e8400-e29b-41d4-a716-446655440000」な感じで返されます。
<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.widget-info.net%2F2009%2F09%2Fcakephp_string_uuid%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.widget-info.net/2009/09/cakephp_string_uuid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.widget-info.net/2009/09/cakephp_string_uuid/" />
	</item>
	</channel>
</rss>

