Smartyとスラッシュの関係

皆さんこんばんは。
早坂@magicalでございます。

本日は題名のとおり、関係性を述べようと思いましたが、「関係性がない」為、ばらばらに書かせていただきます。

申し訳ありません。

ではでは続きは「続きを読む」からお願いします。


それではSmartyからいってみます。

Smartyとはなんぞや?って方に簡単に説明しますと、htmlとPHP(プログラム)を別個に作成し、プログラマとデザイナの分厚い壁をなくしてしまおうと考えて作られたテンプレートエンジンのことでございます。

実際に壁がなくなったかといいますとそうでもない感じがしますが・・・。

で、Smartyの利点というか以外に知られていないのかな?と思ったものとして、「キャッシュ機能」があるらしいのです。

「キャッシュ機能」=「何回もhtmlを呼び出さなくてもOK!」ということになります。

どういうことかと具体例を挙げますと、「1回UPしてしまえば次回修正までに変更点のないhtml」をキャッシュとして保持させてしまい、次回アクセスを倍以上の速度で表示させるようにするということです。

実際に自分でも作った事はないのですが、一例を。

/************** 以下一例 ****************/
caching = true ;

// Smartyを利用し、ページを出力
$smt->dispaly( “index.tpl” );
?>

といった感じでキャッシングすることができます。

1回目のアクセスは多少時間がかかりますが、次回からアクセスがかなり早くなるみたいです。

ちなみに生成されたキャッシュをクリアするには以下のとおりになります。

/***************** 以下一例 *****************/
caching = true;

// 全てのキャッシュファイルをクリアする
$smarty->clear_all_cache();

// index.tplのキャッシュファイルのみクリアする
$smarty->clear_cache(‘index.tpl’);

$smarty->display(‘index.tpl’);
?>

こんな感じになっております。

ますますSmartyが便利になってきますね。

早くSmartyで開発したいですね(笑)

それでは続いて「スラッシュ」につきましてです。

htmlでリンクによく「/manage/index.html」とか「/」と書いたりしていませんか?

これは危険です!

何でかといいますと、「サーバー上で{/}は{root}を表す」為、「ドメインに対しての{root}」を見ることになってしまいます。

これは何が危険かといいますと、以下のようなドメインがあったとして、dbディレクトリの「manage」ディレクトリにリンクを張るとします。

Domain:http://atomicbomb.ne.jp/
移動先:http://atomicbomb.ne.jp/db/manage/

といった感じでディレクトリが構成されていたとします。

で、リンクに「<a href=”/manage/”>」とリンクに記述したとします。

これでは「ドメインのrootディレクトリ」から参照して、「/manage/」を探そうとするため404エラーが返されます。

URLは「http://atomicbomb.ne.jp/manage/」という感じになります。

意外と厄介な落とし穴で、鬱陶しいLinux/Unix系の仕様でございます。

dreamweaverやビルダーなどの作成ソフトを使用する場合はたまに注意してみてみるといいかも知れませんです。

では長くなりましたが、これにてお暇させていただきます。

お疲れ様でした!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA