<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:cc="http://web.resource.org/cc/"
  xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://smarty.nekosuke.com/">
<title>ねこすけのSmarty</title>
<link>http://smarty.nekosuke.com/</link>
<description></description>
<dc:language>en-us</dc:language>
<dc:creator></dc:creator>
<dc:date>T00:00:00+09:00</dc:date>
<admin:generatorAgent rdf:resource="http://cms.necosuke.jp/" />


<items>
<rdf:Seq>
<rdf:li rdf:resource="http://smarty.nekosuke.com/000031.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000030.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000020.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000025.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000017.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000018.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000019.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000022.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000023.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000024.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000026.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000027.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000016.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000015.htm" /><rdf:li rdf:resource="http://smarty.nekosuke.com/000021.htm" />
</rdf:Seq>
</items>

</channel>

<item rdf:about="000031.htm">
<title>VOTETYPE</title>
<link>http://smarty.nekosuke.com/000031.htm</link>
<description><![CDATA[<p>
Smartyを利用した掲示板のスクリプトを公開しています。<br />
DreamwaeverでSmartyテンプレートを扱う方法についての情報もあります。<br />
</p>
]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-07-04T00:00:00</dc:date>
</item><item rdf:about="000030.htm">
<title>Smartyを利用しているアプリケーション・スクリプト</title>
<link>http://smarty.nekosuke.com/000030.htm</link>
<description><![CDATA[]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-07-04T00:00:00</dc:date>
</item><item rdf:about="000020.htm">
<title> Smarty入門〜PHP5＋テンプレート・エンジンでつくるMVCアプリケーション〜</title>
<link>http://smarty.nekosuke.com/000020.htm</link>
<description><![CDATA[PHPがメジャーになりつつあるなか、プログラムの開発規模も大きなものが増えてきました。<br />
複数人で開発するにはJavaのようにきちんとMVCを分ける必要が出てきます。<br />
そのせいでしょうか、Vの部分にあたるSmartyの話もよくネットで目にするようになりました。<br />
そんな中、ついにSmarty解説本です。<br />
タイトル通りSmartyの入門書です。<br />
かなり丁寧に作られています。<br />
もともとSmartyあマニュアルが丁寧なので、解説本はいらないかと思っていたのですが、この本はよくできています。<br />
解説がわかりやすいので、もう少しつっこんでPEARのQuickFormとの連携やフレームワークとの連携なども入れてもらえいたいと欲張りたくなりました。<br />
ちなみに同一筆者によるPEAR入門も必読です。<br />
<br />
]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-06-06T00:00:00</dc:date>
</item><item rdf:about="000025.htm">
<title>Smarty関連リンク</title>
<link>http://smarty.nekosuke.com/000025.htm</link>
<description><![CDATA[<div class="linkbox">
<p>
<a href="http://sunset.freespace.jp/smarty/" target="_blank"> Smarty（暫定） </a>
</p>
<blockquote>
最新の和訳マニュアル
</blockquote>
<p>
常に最新のマニュアルを提供してくれます
</p>
</div>
<div class="linkbox">
<p>
<a href="http://www.zend.co.jp/tech/index.php?cmd=read&page=%A5%B3%A1%BC%A5%C7%A5%A3%A5%F3%A5%B0%BB%D8%BF%CB%2F%A3%B5%A1%A5Smarty" target="_blank"> コーディング指針/５．Smarty - ゼンド・ジャパン株式会社 技術情報コンテンツ </a>
</p>
<blockquote>
Smartyは、PHPで最も普及しているテンプレートエンジンである。
ここでは、Smartyを使ったコーディングについて触れる。
</blockquote>
<p>
Zendによる解説です。<br>

</p>
</div>


<div class="linkbox">
<p>
<a href="http://www.gadgety.net/shin/tips/unix/php-tmpl.html" target="_blank"> PHP とテンプレートエンジン (Smarty/patTemplate) </a>
</p>
<blockquote>
ここでは、ネットで公開されている Template Engine のなかで広く使われている Smarty と patTemplate を紹介します。この二つの Template Engine の違いは、開発者の視点で開発されている Smarty に対して、デザイナーの視点で開発されている patTemplate かな？
</blockquote>

</div>
]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-06-06T00:00:00</dc:date>
</item><item rdf:about="000017.htm">
<title>条件表示</title>
<link>http://smarty.nekosuke.com/000017.htm</link>
<description><![CDATA[<p>
表示する条件をテンプレートに入れることにより、指定部分の表示を切り替えるこが可能になります。<br>
</p>

<h3>テンプレート</h3>
<p>
{if $test}<br>
 $testが真だったらこの領域が表示される<br>
{/if}<br>
</p>]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-06-06T00:00:00</dc:date>
</item><item rdf:about="000018.htm">
<title>フォーマット変換</title>
<link>http://smarty.nekosuke.com/000018.htm</link>
<description><![CDATA[<p>
Smartyには修飾子という考え方があります。<br>
テンプレートに渡されたデータを決められたフォーマットに変換するものです。<br>
書き方は{変数名|修飾子名:パラメータ}です。<br>
</p>
<h2>スクリプト</h2>
<p>
{$body|escape}・・・HTMLタグをエスケープ<br>
{$body|strip}・・・空白を除去<br>
{$body|strip_tags}・・・タグをを除去<br>
{$body|nl2br}・・・改行コードを<br>にする<br>
その他使えるものが多数あります。<br>

</p>

<p>
*参考<br>
$smarty->default_modifiers=array('escape:html');<br>
とおまじないを入れておくと、すべての変数が無条件にHTMLエスケープされた上で表示されます。安心です。<br>

</p>]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-06-06T00:00:00</dc:date>
</item><item rdf:about="000019.htm">
<title>部品ごとに生成</title>
<link>http://smarty.nekosuke.com/000019.htm</link>
<description><![CDATA[<p>
最初のうちはテンプレートにデータを渡したり、ループさせたりでこと足りますが、複雑なアプリになると対応できなくなってきます。そこでテンプレートの分離です。<br>
</p>
<p>
$smart->display(テンプレート);<br>
では単純に表示でしたが、<br>
$html1=$smart->fetch(テンプレート);<br>
でテンプレートに変数が入った状態で変数として受け取ります。<br>
これをさらに別のテンプレートへ渡して最終的なページにするという処理で複雑なページでも対応できます。<br>
特にサンプルはありませんが、流れとしては<br>
</p>
<ol>
<li>外部から渡された条件によりパーツHTMLを生成</li>
<li>キャッシュが有効ならキャッシュからパーツHTML取得</li>
<li>表示するHTMLにパーツHTMLを渡してHTML生成</li>
</ol>
<p>というった簡単な流れです。<br>
デバックもしやすく、管理が簡単になります。<br>

</p>]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-06-06T00:00:00</dc:date>
</item><item rdf:about="000022.htm">
<title>smartyはじめの一歩</title>
<link>http://smarty.nekosuke.com/000022.htm</link>
<description><![CDATA[<h2>まずは書き方から</h2>
<p>
クラスの使い方やライブラリについて知らなくてもとりあえず書きの書き方を覚えればSmartyは使えます。<br>
たったこれだけ覚えればテンプレート（HTML部分）はホームページ作成ソフトで作り、PHPは独立させられます。<br>
つまり、デザインの変更に対して、PHPのスクリプトを書いた人は何もしなくてよくなるのです。

</p>

<h3>PHPスクリプト</h3>
<pre><tt>
#Smartyを呼び出す
require_once('lib/Smarty.class.php');

#Smartyクラスのインスタンス作成
$smarty =new Smarty();

#Smartyクラス用の定義
$smarty->template_dir = "テンプレートフォルダ";
$smarty->compile_dir  = "コンパイルフォルダ";
$smarty->cache_dir    = "キャッシュフォルダ";

#変数の割り当て
$smarty->assign("title","ねこすけ");

#表示テンプレートを指定して表示する
$smarty->display("テンプレートファイル名");
</tt></pre>

<h3>テンプレート</h3>
<code>
タイトルは
{$title}
です。<br>
</code>

<h3>実行結果</h3>

タイトルはねこすけです。]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-06-06T00:00:00</dc:date>
</item><item rdf:about="000023.htm">
<title>デフォルト値に今日の日付</title>
<link>http://smarty.nekosuke.com/000023.htm</link>
<description><![CDATA[<p>
PHPで意外と多い今日の日付の取得<br>
特にフォームでよく使いますよね。<br>
初期値をはき出すのはPHPスクリプトではなく、テンプレートっていうのはどうなのかな？<br>
<br>


{$変数|default:$smarty.now|date_format:'%Y/%m/%d'}
</p>]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-06-06T00:00:00</dc:date>
</item><item rdf:about="000024.htm">
<title>その他</title>
<link>http://smarty.nekosuke.com/000024.htm</link>
<description><![CDATA[<h3>テンプレート内にコメントを書く</h3>
<p>
{* コメントを書く*}
</p>
<h3>特殊変数</h3>
<p>
外部からの変数値<br>
{$smarty.get.パラメータ}:get値<br>
{$smarty.post.パラメータ}:post値<br>
{$smarty.request.パラメータ}:request値<br>
{$smarty.cookies.パラメータ}:cookies値<br>

</p>
<p>
環境変数<br>
{$smarty.server.パラメータ}:$_SERVER値<br>
{$smarty.env.パラメータ}:_ENV値<br>
</p>

<h2>テンプレート内のCSSやJavaScriptを入れる</h2>
<p>
{や}があるとエラーになるので、その間に<br>
{loteral}<br>
{/loteral}<br>
を入れる<br>

</p>]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-06-06T00:00:00</dc:date>
</item><item rdf:about="000026.htm">
<title>ねこすけCMSで構築運営されているサイト</title>
<link>http://smarty.nekosuke.com/000026.htm</link>
<description><![CDATA[<p>
このサイトはねこすけCMSというWeb更新ツールで構築されています。<br>
ねこすけCMSは個人サイトから企業サイトまで構築できるCMSです。<br><br>
</p>


#inc(http://cms.necosuke.jp/inc_jirei.htm)#]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-06-06T00:00:00</dc:date>
</item><item rdf:about="000027.htm">
<title>ねこすけリンク</title>
<link>http://smarty.nekosuke.com/000027.htm</link>
<description><![CDATA[ねこすけシリーズのリンク集です。
#inc(http://www.nekosuke.com/inc_nekosukelink.htm)#]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-06-06T00:00:00</dc:date>
</item><item rdf:about="000016.htm">
<title>表示データの渡し方</title>
<link>http://smarty.nekosuke.com/000016.htm</link>
<description><![CDATA[<h2>変数を渡す</h2>
<h3>PHP</h3>
<p>
$hoge="ねこすけ";<br>
$smarty->assign("title",$hoge);<br>
</p>
<h3>テンプレート</h3>
<p>
{$title}<br>
{</p>

<h2>配列を渡す</h2>
<h3>PHP</h3>
<p>
$hoge[test]="ほげ１";<br>
$hoge[test2]="ふが１";<br>
$smarty->assign("title",$hoge);<br>
</p>

<h3>テンプレート</h3>
<p>
{$title.test}<br>
{$title.test2}<br>
</p>

<h2>オブジェクトを渡す</h2>
<h3>PHP</h3>
<p>
class hoge{<br>
 var $hoge="test";<br>
 var $hoge2="test2";<br>
}<br>
<br>
$object=new hoge();<br>
$smarty->assign("title",$object);<br>
</p>
<h3>テンプレート</h3>
<p>
{$title->test}<br>
{$title->test2}<br>
</p>]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-06-06T00:00:00</dc:date>
</item><item rdf:about="000015.htm">
<title>インストール前に</title>
<link>http://smarty.nekosuke.com/000015.htm</link>
<description><![CDATA[<h2>難しく考えないで下さい</h2>
<p>
インストール前に自分がPHPを使う環境を把握しましょう。<br>
Smartyのマニュアルではサーバーの共通のモジュールとしてSmartyをインストールすることが記載されていますが、レンタルサーバーの場合は自分の借りている領域に内にインストールする必要があります。<br>
</p>

<p>
一番のポイントはSmartyはPHPスクリプトが呼び出せる場所にあればどこでも動かせるということです。レンタルサーバーだからインストールできないということはありません。大げさに考えずに、誰かが作ったPHPを部品として利用すると思って下さい。
</p>

<h2>Smartyをダウンロードする</h2>
<p>
<a href="http://smarty.php.net/">Smarty</a>へ移動し、<br>
左上のDownload!をクリックするとダウンロードページに移動できます。<br>
<blockquote>
Get Smarty <br>
<strong>Download!</strong><br>
Contributed Code <br>
</blockquote>
</p>

<p>
Smarty-バージョン.tar.gz というファイルがダウンロードできますので、まずはこれをダウンロードして下さい。
</p>

<h2>実際にコピーする必要があるファイル</h2>
<p>ダウンロードした圧縮ファイルを展開して中身を確認して下さい。<br>
libフォルダの配下だけが実際には必要になります。

</p>
<ul>
<li>Smarty.class.php</li>
<li>Smarty_Compiler.class.php</li>
<li>Config_File.class.php</li>
<li>debug.tpl</li>
<li>/internals/の配下のPHPファイルすべて
　(以前は/core/でした)
</li>
<li>/plugins/の配下のPHPファイルすべて</li>
</ul>


これだけ把握すればあとはどこにコピーするか決めるだけです。



]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-06-06T00:00:00</dc:date>
</item><item rdf:about="000021.htm">
<title>PHPによるWebアプリケーションスーパーサンプル(活用編)</title>
<link>http://smarty.nekosuke.com/000021.htm</link>
<description><![CDATA[<p>
入門本から一歩踏み出したい人向けの本です。<br>
使ってみたいと思っていたPEARや他で公開されているライブラリの使い方が詳しく掲載されています。<br>
smartyに関しては４章で記載しています。<br>
特筆すべきは、4-2-3です。<br>
QuickFormとSmartyの連動について記載してます。<br>
この組み合わせで使っている方はかなり多いのではと思うのですが、書籍で解説を見たのは初めてです。<br>
QuickFormをSmartyの連動を知ると、数年前に苦労して作ったスクリプトがたった１０分程度でできてしまい、今までの苦労は何だったのだろうかとむなしささえ覚えます。<br>
</p>
<p>そのほか全体を通してかなりの良本です。</p>]]></description>
<dc:subject></dc:subject>
<dc:creator></dc:creator>
<dc:date>2006-06-06T00:00:00</dc:date>
</item>

</rdf:RDF>