【PHP】 Smarty 隔離スレ 【テンプレート】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2008/02/02(土) 00:21:09ID:6cKcKeTp0858nobodyさん
2010/01/21(木) 04:40:11ID:???マニュアルの例はもうちょっと落ち着いて見直してみたほうがいいと思うけど
0859nobodyさん
2010/01/29(金) 18:46:34ID:???インサートプラグインが1ページに5、6個あるとかなり速度低下してきてしまう
0861859
2010/01/30(土) 10:34:45ID:???今はindex.tplに{insert name="hoge"}って書いて
[insert.hoge.php]
function smarty_insert_hoge($params, &$smarty) {
if(!$smarty->is_cached('plugin_hoge.tpl', "plugin|hoge")) {
DBからデータを取ってきてassign
}
return $smarty->fetch('plugin_hoge.tpl', "plugin|hoge");
}
DBに更新を加える時にclear_cacheという感じでやってるんですが、作り方としておかしいですか?
こういうインサートプラグインが増えてくると、is_cachedとfetchをその分しなきゃいけないんで遅くなってると思うんですが
smarty3だと改善されてるんでしょうか?
0862nobodyさん
2010/01/30(土) 11:59:30ID:???0863nobodyさん
2010/01/30(土) 12:29:50ID:???http://www.smarty.net/manual/ja/caching.cacheable.php
0864nobodyさん
2010/01/30(土) 14:12:57ID:???0866nobodyさん
2010/01/30(土) 15:09:07ID:???方法がよく分からない。
結局require_once "Smarty.class.php"しなきゃいけないんだよね?
意味分かる人教えてください
Smartyの読み込みコスト(時間)を削減する
ttp://code.xenophy.com/?p=73
0867nobodyさん
2010/01/30(土) 16:02:16ID:???効果も0.01秒だし
0868nobodyさん
2010/01/30(土) 16:56:45ID:???0869nobodyさん
2010/01/30(土) 16:57:37ID:???0870nobodyさん
2010/01/30(土) 17:23:46ID:???0871nobodyさん
2010/01/30(土) 17:31:09ID:???0872nobodyさん
2010/01/30(土) 18:09:30ID:???うちのサイトだと0.01秒早くなったら速度2倍だぜ
0873nobodyさん
2010/01/30(土) 18:11:35ID:???0875nobodyさん
2010/01/31(日) 16:37:31ID:tjv1ZgGAコンパイルエラーになりますが、たまにパーミッション設定を忘れたりして
こういう現状が度々あります。
忘れず確認すれば良い事ですが、なにか効率の良い方法はないでしょうか?
0876nobodyさん
2010/01/31(日) 16:53:46ID:???0877nobodyさん
2010/01/31(日) 17:59:24ID:tjv1ZgGA・コンパイル用のディレクトリがない場合、自動的に作成
と言うぐらいしか思いつきません
後者はis_dirでチェックすればいいと思うのですが、前者は方法自体わかりません・・・
0880nobodyさん
2010/02/02(火) 14:53:16ID:???0881nobodyさん
2010/02/02(火) 14:54:00ID:???0882nobodyさん
2010/02/02(火) 16:28:53ID:???0884nobodyさん
2010/02/03(水) 01:26:14ID:???PHPっぽく数学処理出来るのはいいよね。Smarty3。
開発に時間かけ過ぎてて、既に腐り始めている気がするけど。
extend欲しいな。
0885nobodyさん
2010/02/05(金) 12:00:27ID:1wZyvV1Qそういうのは最新版では治ってるの?
0886nobodyさん
2010/02/05(金) 16:09:07ID:???0887nobodyさん
2010/02/05(金) 18:17:12ID:???0888nobodyさん
2010/02/06(土) 16:55:05ID:???じゃ、nodefaultsにすりゃいいかというと、フォームのユーザが追加できるようにしている場合、
デフォルトの値(フォームのセレクトとか)にエスケープしたい文字があると途端に無理が出る
結局ロジック側でh()するしかなくなる
0889nobodyさん
2010/02/09(火) 13:31:36ID:Af+mgrun"Content-Type: image/jpeg"的な意味で。
0890nobodyさん
2010/02/10(水) 09:26:09ID:???0893nobodyさん
2010/02/12(金) 21:11:24ID:???displayやfetchしてる所でget_file_contentするだけだろ
しょーもな
0894nobodyさん
2010/02/12(金) 21:12:15ID:???0895nobodyさん
2010/02/17(水) 16:31:45ID:???確かにSmartyが有用なケースが思いつかない。
0896nobodyさん
2010/02/20(土) 12:34:03ID:???0897nobodyさん
2010/02/20(土) 12:44:55ID:???0898nobodyさん
2010/02/20(土) 17:16:25ID:0jUjLrgq変数に格納されたテンプレートを使うために
変数用のリソースプラグインを使って試行錯誤してるのですが
相談させてください。
このリソースプラグインに変数(テンプレートの内容)を渡す方法ですが
2つ思いつきました。
1つは
$hoge = "ここにテンプレートの内容";
$smarty->fetch("var:hoge");
のように変数名を渡して
プラグイン側で グローバル変数の$hogeの内容を取得。
しかしグローバル変数を使うというのがちょっと気になります。
もう1つの案は
$smarty->fetch("var:{$hoge}");
としてテンプレートの内容自体を渡す方法。
しかしこれだと長い名前の中間ファイル(template_cにできるファイル)
が作られてなんだか気持ちが悪いです。
毎回コンパイルでいいので中間ファイルは作られないほうがいいのですが
それもできない感じ。
みなさんはどうしてますか?
0899nobodyさん
2010/02/20(土) 22:01:34ID:???グローバル変数じゃなくてSmartyにassignされた変数を見るようにすればいいんじゃねーの?
0900898
2010/02/24(水) 09:57:22ID:???規制でかけなかった・・・
結局Smartyを拡張してプロパティを追加したら
プラグイン側で普通に見れました
>>899
ありがとうございます
なるほど、それは気づきませんでした
そのほうが手軽ですね
0901nobodyさん
2010/03/03(水) 01:14:47ID:???フレームワークをやったことなかったけど、比較的わかり易い。
0902nobodyさん
2010/03/03(水) 16:18:29ID:???http://www.kuwata-lab.com/presen/LL2007LT.pdf
14-15ページを見た感じだと制御はPHPそのままで
PHPタグ外部分はわざわざechoするのか・・・
0903nobodyさん
2010/03/04(木) 15:15:33ID:jG8+9EsN0904nobodyさん
2010/03/05(金) 09:36:42ID:???0905nobodyさん
2010/03/06(土) 00:22:27ID:3cIJcZyyこんな風に
$smarty->register_outputfilter("filterSjis");
function filterSjis($buff, &$smarty) {
return mb_convert_encoding($buff,"SJIS-win","UTF-8");
}
ブラウザで表示させると頭に「?」が入ってるんだけどこれはなぜでしょうか?
Smarty 2.6.26 PHP 5.3.2 です
0906nobodyさん
2010/03/06(土) 01:54:29ID:???0907nobodyさん
2010/03/06(土) 08:38:23ID:???その通りでした
0908nobodyさん
2010/03/06(土) 10:16:09ID:???0909nobodyさん
2010/03/06(土) 11:56:50ID:???普段はGAEでjavaなんだよ
これあげるからシネとかいわないで
http://mix-tube.appspot.com/
0910nobodyさん
2010/03/06(土) 12:20:22ID:???0911nobodyさん
2010/03/06(土) 13:54:43ID:???0912nobodyさん
2010/03/07(日) 07:30:25ID:???0913nobodyさん
2010/03/11(木) 09:30:07ID:???cache_lifetimeって以下の仕様じゃないんだね
10秒に設定→10秒経ってるキャッシュファイルは全て削除
0914nobodyさん
2010/03/11(木) 17:23:06ID:TZPJnNmb0915nobodyさん
2010/03/12(金) 13:20:51ID:???どの段階でclear_all_cacheするの?
0917nobodyさん
2010/03/12(金) 17:14:35ID:???再生成(上書き)されると思ってる。
つまり、要求されなきゃそのまま放っておかれる(わざわざ消さない)と。
0918nobodyさん
2010/03/12(金) 21:49:30ID:???0920nobodyさん
2010/03/13(土) 13:02:36ID:???0921nobodyさん
2010/03/13(土) 15:04:04ID:???0922nobodyさん
2010/03/13(土) 16:11:14ID:???0が毎回作成
CMSみたいに管理画面から更新するなら、
そのタイミングで必要な分だけキャッシュを削除すればいいしね
0923nobodyさん
2010/03/13(土) 16:11:51ID:???○キャッシュを使い続ける
でした
0924nobodyさん
2010/03/19(金) 17:17:56ID:KC5byG0jコンパイルしたときの中間ファイル(templates_cにできるやつ)
を作らないようにはできないでしょうか?
メモリ上で生成みたいな。
0925nobodyさん
2010/03/19(金) 17:23:37ID:???私も気になります
どなたかご教示お願い致します
0926nobodyさん
2010/03/19(金) 18:34:41ID:???Smartyテンプレートに変数を反映できるのに。
0927nobodyさん
2010/03/19(金) 19:03:47ID:???これをforの代わりに使うのか
0929nobodyさん
2010/03/19(金) 20:39:12ID:???0930nobodyさん
2010/03/20(土) 13:06:36ID:???コンパイルのときのファイル名が長すぎるってエラーになったぞ?
どうしてんの?
ファイル名固定にすると同時アクセスでやばそうな気がするし
0931nobodyさん
2010/03/23(火) 11:45:21ID:???0932nobodyさん
2010/03/24(水) 02:39:29ID:???これの意味がわからん・・・
0933nobodyさん
2010/03/24(水) 10:07:49ID:???0934nobodyさん
2010/03/24(水) 12:08:34ID:???0935nobodyさん
2010/03/24(水) 13:29:48ID:???0936nobodyさん
2010/03/24(水) 14:41:59ID:9Owlir6zdefault_modifiersの挙動がおかしいっす。
出力するものすべてにescapeをかけたいが、配列があるとうまくいかないようです。
あとdebugも同時使用不可。
いじくって直したいが、どこをどういじくるべきですか?
0937nobodyさん
2010/03/24(水) 15:22:58ID:???このスレを default_modifiers で検索するくらいはしたほうがいいと思うぞ・・・
0939nobodyさん
2010/03/26(金) 10:19:43ID:LJ/oTT1k{if $hoge == 0}
{assign var="var" value="a.b"}
{else}
{assign var="var" value="a}
{/if}
こんな風に。
{foreach from=$c[$var] item=item}
とすると、elseの場合は上手くいくんだけど、$hoge == 0の時にうまくいかない。
もう一個階層があるのをどうにかしないといけないと思う。
どうしたら良いか誰かご教授願えますか。
0940939
2010/03/26(金) 11:42:31ID:LJ/oTT1k0941nobodyさん
2010/03/27(土) 04:53:37ID:???{assign var="var" value=$c.a.b}
{else}
{assign var="var" value=$c.a}
{/if}
{foreach from=$var item=item}
じゃだめなのかい。
0942nobodyさん
2010/03/27(土) 18:31:55ID:???どれだけ時代遅れだよ。
0943nobodyさん
2010/03/27(土) 18:53:46ID:???0945nobodyさん
2010/03/27(土) 20:27:45ID:???多分、Smartyすら理解できなくてファビョっちゃったんだろうな。
0947nobodyさん
2010/03/27(土) 20:45:23ID:???PHP自体がテンプレートになってるんだから
PHPそのまま使うに決まってんだろ。
0949nobodyさん
2010/03/27(土) 20:46:54ID:uuG3/ncY947 名前:nobodyさん[sage] 投稿日:2010/03/27(土) 20:45:23 ID:???
お薦め?本物のバカなのかこいつはw
PHP自体がテンプレートになってるんだから
PHPそのまま使うに決まってんだろ。
0951nobodyさん
2010/03/27(土) 22:16:56ID:???PHP自体がテンプレートww
下手したらMVC分けすれしてねーんじゃね?w
0952nobodyさん
2010/03/27(土) 22:33:37ID:uuG3/ncY0953nobodyさん
2010/03/27(土) 22:43:47ID:???Smarty信者はPHPを知らない半可通が多いから面白いね。
あと、Smarty信者はMVC理解してないだろw
そもそもSmartyってぜんぜんMVCじゃないじゃん。
反論あるならSmartyにおけるMVCというものを解説してみwwww
0954nobodyさん
2010/03/27(土) 22:47:39ID:???テンプレート編集権限も与えたくないが
0955nobodyさん
2010/03/27(土) 22:50:44ID:???MとかCは別途用意してください
0956nobodyさん
2010/03/27(土) 22:50:54ID:???0957nobodyさん
2010/03/27(土) 23:01:27ID:???・PHPはテンプレートエンジンではない
・PHPではMVCできないが、SmartyではMVCできる
・SmartyはVしか出来ないので、MとCは別途用意する
・変なコピペでPHPユーザーを馬鹿にして悦に浸るガキの集団である
SmartyがPHPで書かれてるって知ってた?w
0958nobodyさん
2010/03/27(土) 23:15:56ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。