1 名前:nobodyさん [2008/02/02(土) 00:21:09 ID:6cKcKeTp] まぬあるwww.smarty.net/manual/ja/
343 名前:nobodyさん mailto:sage [2008/11/18(火) 06:18:46 ID:???] >>341 テンプレートエンジンの理想型だよな。 PGにもデザイナにも優しい。 Smarty3で速度面が大幅改善されるっぽいので期待している。
344 名前:nobodyさん mailto:sage [2008/11/19(水) 00:19:12 ID:???] >>343 テンプレート側で連想配列を簡単に作れる関数ができるとうれしい。 まあプラグインで作れることは作れるんだが
345 名前:nobodyさん mailto:sage [2008/11/19(水) 04:25:55 ID:???] Djangoテンプレートのextendsみたいな機能ってSmartyで実装できるかな?
346 名前:nobodyさん [2008/11/20(木) 11:05:10 ID:WBdj1Bs+] Pearでカレンダーやメニューを作成してテンプレートに出力させたいんだが このような場合、みなさんどうしてます? テンプレート側でphpファイルを読み込んで出力させることは可能なのでしょうか?
347 名前:nobodyさん mailto:sage [2008/11/20(木) 11:18:04 ID:???] >>346 つ{insert}
348 名前:nobodyさん mailto:sage [2008/12/03(水) 23:41:44 ID:???] これってDjangoみたいなテンプレートの継承ってできないの?
349 名前:nobodyさん mailto:sage [2008/12/03(水) 23:58:50 ID:???] >>348 簡易的なモノなら簡単に作れるから自作すれ。
350 名前:nobodyさん [2008/12/05(金) 11:52:26 ID:jMVHCYUr] template_c ディレクトリはtemplate ディレクトリ1つにたいして1つ置く方がいいのでしょうか。 template は複数(サブディレクトリに1つずつ置く)、template_c は 非公開部分に1つ、ってやりたいんですが。
351 名前:nobodyさん mailto:sage [2008/12/05(金) 13:30:34 ID:???] cacheを混乱させそうだな。
352 名前:350 [2008/12/05(金) 14:12:47 ID:jMVHCYUr] やめときます。 おとなしく対応させて作ります。 ありがとうございました。
353 名前:nobodyさん mailto:sage [2008/12/05(金) 20:37:51 ID:???] >>350 コンパイルID指定すればOK www.smarty.net/manual/ja/api.fetch.php
354 名前:nobodyさん mailto:sage [2008/12/06(土) 01:16:24 ID:???] ほうそんな機能が・・・ メリットがまったく思いつかないけど覚えておきます
355 名前:nobodyさん mailto:sage [2008/12/06(土) 01:36:14 ID:???] いやわかれよw
356 名前:nobodyさん mailto:sage [2008/12/07(日) 09:29:45 ID:???] もー!ヽ(`Д´)ノ sfCutString:5とかにすると5文字表示とかってあるよね? これって反対に、後ろからの5文字を削除とかって出来ないの? 教えてくださいな(´・ω・`)
357 名前:nobodyさん mailto:sage [2008/12/08(月) 09:59:13 ID:???] ないものはつくるんだ
358 名前:nobodyさん mailto:sage [2008/12/08(月) 16:34:14 ID:???] ついでに車輪も作っとけ
359 名前:nobodyさん mailto:sage [2008/12/08(月) 23:18:30 ID:???] あってもつくるんだ
360 名前:nobodyさん mailto:sage [2008/12/09(火) 12:27:40 ID:???] 車輪の再発明は偉大!
361 名前:nobodyさん mailto:sage [2008/12/22(月) 09:45:58 ID:???] テンプレートエンジンの選択で迷ってるんですが、 smarty使いの方、smartyがなかったら、どのテンプレートエンジンを選択しますか? 人それぞれ状況は違うと思うんで、pureにみなさんそれぞれの場合は?
362 名前:nobodyさん mailto:sage [2008/12/22(月) 13:12:51 ID:???] smarty以外を選択する理由がない
363 名前:nobodyさん [2008/12/22(月) 13:56:20 ID:fwOoSy8e] 自作する。 多分テンプレート変数を置換する以上のことはできないだろうけど
364 名前:nobodyさん [2008/12/31(水) 21:47:49 ID:8KFb7g3b] 今作ってるサイトで、smartyが動かないんですが何が原因と考えられるでしょう? 動作させてる環境は2つあり、動かないのはそのうち一つだけです。 Smarty.class.phpへのパスは相対できちんと通していて、同じファイルを その2つにUploadすると片方でのみ動いてくれません もちろんそちらでもphpは動いてるんですが、、 原因を探る方法はないでしょうか? phpが動くサーバなら動くはずなんですよね? 文字コードとかは関係あるでしょうか? 現状では $smarty->assign('testvar','テスト'); echo "ここまでOK1"; $smarty->display('sample.tpl'); echo "ここまでOK2"; とすると、 「ここまでOK1」だけ出力します「2」はしません また、せめてassignがちゃんと成立してるかだけでも知りたいですがどうしたら いいでしょうか? ご意見よろしく御願いします
365 名前:nobodyさん mailto:sage [2008/12/31(水) 21:49:40 ID:???] >>364 error_reporting display_errors
366 名前:nobodyさん mailto:sage [2008/12/31(水) 23:02:30 ID:???] 池■田大■作の本名はソン・テチャク。小泉純一郎、小沢一朗は朝鮮人。 911では小型の水爆が使用されている。 ri ■ch■ardkosh■im■izu.at.webry.info/ 創価の保険金殺人事件。 オウム事件は、統一・創価.北朝鮮の共同犯行である。CIAが監修している。 www15.ocn.ne.jp/~oy ■ako■don/kok_web■site/ir■iguc■hi.htm 与党も野党もメディアも全部朝鮮人だった。 jb ■bs.li■vedo■or.jp/b■bs/read.cgi/news/20■92/115794■1306/ 2ちゃんねるは統一■教会が個人情報を集めるための道具。運営には統一■教会がいる。 駅前で「手相を見せてください」と勧誘してるのが統一教■会。(カルト宗教) カルト宗教の下にいる人と上にいる奴を分けて考えないといけない。下にいる利用される人は上がどんなことをしてるか知らない。 ユダヤ権力の子分→2ちゃん運営=統一協会上層部=層化上層部=自民党清和会=野党の朝鮮人ハーフの政治家= 与党の朝鮮人ハーフの政治家=金 正日(キム・ジョンイル )=読売サンケイ=小沢十朗 ユダヤ人=ロックフェラー=ブッシュ=クリントン=ヒラリー=アドルフ・ヒトラー=オサマ・ビンラディン 毎日新聞スレを荒らしてる奴らも統■一教会の可能性が高い。 荒らしは洗脳するために「ネトウヨ」などのレッテル付けレスを何千回もする。 現実には「ネトウヨ」などは存在しない。 changi.2ch.net/test/read.cgi/ms/1230363385/
367 名前:nobodyさん mailto:sage [2008/12/31(水) 23:44:19 ID:???] >>365 ありがとうございます、解決しました
368 名前:nobodyさん [2009/01/02(金) 21:57:29 ID:PIvYRgwW] 月(1月〜12月)を選ぶプルダウンの出力と、selected=selectedの扱いについて質問です $monthAry[] = "1月"; から $monthAry[] = "12月"まで配列にして $smarty->assign('monthAry',$monthAry); としました。 formを出力するテンプレートファイルでは以下のようにして、プルダウンのoptionに出力しています。 {foreach from=$monthAry item=var} <option value="{$var}">{$var}</option> {/foreach} この書式で、確認画面からの戻り値{$month}(assign値です)とoption要素のvalueが等しければselectedと するために以下のようにしたんですが、あまりきれいなソースじゃないと思います {foreach from=$monthAry item=var} <option value="{$var}" {if $var==$month} selected="selected" {/if} >{$var}</option> {/foreach} 一応ちゃんと動いてますが、もっときれいで効率的な書き方はないでしょうか?
369 名前:nobodyさん mailto:sage [2009/01/02(金) 22:04:07 ID:???] >>368 www.smarty.net/manual/ja/language.function.html.select.date.php
370 名前:nobodyさん mailto:sage [2009/01/02(金) 23:18:35 ID:???] >>369 横ですがこれのselectedって現在時刻じゃないですか?
371 名前:nobodyさん mailto:sage [2009/01/03(土) 01:08:00 ID:???] >>369 こんなのがあったんですね、ありがとうございました。
372 名前:nobodyさん [2009/01/04(日) 08:20:15 ID:S9BZj0MW] フォームで "><font="#fcc"> と入力したものを確認画面で見たいとき {$name|escape} とすれば上記のとおり見れますよね。 これを、修正画面に持ち越したいときはどうしたらいいんでしょうか? <input type="hidden" name="name" value="{$name}" /> だと確認画面で表示がおかしくなるし <input type="hidden" name="name" value="{$name|escape}" /> だと修正画面の inputの表示がおかしくなるし、、 ご意見よろしく御願いします
373 名前:nobodyさん mailto:sage [2009/01/04(日) 08:53:47 ID:???] セッション
374 名前:nobodyさん mailto:sage [2009/01/04(日) 17:11:37 ID:???] >>373 ありがとうございます 解決しました
375 名前:モンピー77 [2009/01/05(月) 09:16:41 ID:mGW0zuF3] Smartyのテンプレート内の変数をサニタイズ化するのに下のようなことを しているのですが $o_smarty->default_modifiers = array( 'escape:"html"' ); 配列にも適用させること可能なのでしょうか? みなさん、Smartyを使った場合のサニタイズはどんな風にされていますか?
376 名前:nobodyさん mailto:sage [2009/01/05(月) 11:59:56 ID:???] >>375 default_modifires はクセがあるから気をつけたほうがよいよ。 {foreach}とか{assign}で変数弄ると二重にエスケープされちゃったり、配列入れるとエラー吐いたりする。 >Smartyを使った場合のサニタイズはどんな風にされていますか? 基本的には必要な箇所全てにescapeを書いてる。 上記踏まえて、面倒な事にならない場合だけ default_modifires 使ってる。
377 名前:nobodyさん [2009/01/07(水) 10:21:31 ID:nbhiW1pd] >>375 そもそもPHP側ですませておく。 なんのために分離してるのかと
378 名前:nobodyさん mailto:sage [2009/01/07(水) 11:39:38 ID:???] サニタイズはビュー側でもOKだと思うが。
379 名前:nobodyさん mailto:sage [2009/01/07(水) 12:32:40 ID:???] サニタイズ(笑)
380 名前:nobodyさん mailto:sage [2009/01/08(木) 12:21:51 ID:???] >>379 (笑)
381 名前:nobodyさん mailto:sage [2009/01/08(木) 13:16:48 ID:???] ん?反論できなくて涙目?w
382 名前:nobodyさん [2009/01/08(木) 14:37:59 ID:/Ay52XkK] >>381 お前が暇人なだけだろw
383 名前:nobodyさん mailto:sage [2009/01/08(木) 16:01:24 ID:???] >>378 誰も不可とは言ってないと思うが
384 名前:nobodyさん mailto:sage [2009/01/08(木) 16:03:12 ID:???] >>382 必死だな
385 名前:nobodyさん mailto:sage [2009/01/09(金) 02:14:26 ID:???] >>383 >>377 ではPHP側でやれと書いてあるようにしか読めないんだがww 必死すぎて恥ずかしいな。
386 名前:nobodyさん [2009/01/09(金) 13:26:05 ID:dxaSQaiQ] >>385 必死厨必死だな。 「みなさん、Smartyを使った場合のサニタイズはどんな風にされていますか?」 この意味わかるか?
387 名前:nobodyさん mailto:sage [2009/01/09(金) 14:19:53 ID:???] 「サニタイジング」じゃねーの?
388 名前:nobodyさん mailto:sage [2009/01/10(土) 01:02:19 ID:???] >>386 スマン。日本語でお願い出来るか? どういう意味で解釈したら 「そもそもPHP側ですませておく。なんのために分離してるのかと」 となるんだい?
389 名前:nobodyさん [2009/01/15(木) 22:45:35 ID:iReMhog8] smartyを設定したんだけど、ページが表示されません assignもdisplayも動かないというか、それ以前に templatesディレクトリの指定とかがうまくいってるのかがわからないです そういう設定が今どうなっているのか、確認する方法はないでしょうか? ちなみに今のsmarty.class.phpへの接続は以下のような形です <?php //テスト require_once('Smarty.class.php');//これでSmarty.class.phpに繋がってることは確認済みです class MySmarty extends Smarty{ function MySmarty(){ $this->Smarty(); $mydir = dirname(__FILE__); $this->template_dir = $mydir."/templates/"; $this->compile_dir = $mydir."/templates_c/"; $this->config_dir = $mydir."/configs/"; $this->cache_dir = $mydir."/cache/"; $this->caching = 0; } } ?> これを、各phpからrequireさせています
390 名前:389 [2009/01/15(木) 23:24:27 ID:iReMhog8] >>389 に書いたファイルをrequireした.phpで、 require_once('MySmarty.class.php'); //Smartyクラスのインスタンス作成 $smarty = new MySmarty(); echo "テンプレートディレクトリ:".$smarty->template_dir; としたら、正しいパスを読み込みました これはSmarty.class.phpも読み込み成功してるってことですよね? どうしてdisplayしないんだろう。。 どなたかご意見ください 一つのディレクトリに複数の/smartyディレクトリが存在しちゃいけないとかの 理由はないですよね?
391 名前:nobodyさん [2009/01/15(木) 23:29:20 ID:iReMhog8] ごめんなさい、書き間違えです ×正しいパスを読み込みました ○正しいパスを出力しました ×一つのディレクトリに複数の… ○一つのサイトに複数の… また、require_once()してるのが389のプログラムのファイルです(MySmarty.class.php)
392 名前:nobodyさん mailto:sage [2009/01/15(木) 23:35:13 ID:???] compile_dir,cache_dirへの書き込み権限はありますか?
393 名前:nobodyさん [2009/01/16(金) 00:01:11 ID:7rtqusgx] >>392 どうもです パーミッションて奴ですよね? 700とか750で設定して試したんですがダメでした そのものずばりで、displayに失敗してる、assignに失敗してる とはっきりわかる方法ないかなぁ
394 名前:389 mailto:sage [2009/01/16(金) 02:58:12 ID:???] 原因がわかりました! .tplに <style type="text/css"> <![CDATA[ a:link{color:blue;} a:focus{color:red} a:visited{color:purple;} ]]> </style> という部分があったためでした。これを削除すると正常にdisplayされました。 念のため、この.tplのソースをコピペしてtest.htmlをつくり、それを直接開くと どのブラウザでも確認できました どうやら、Smartyと上の記述の組み合わせでのみエラーになるようです(理由はわからない) このページは携帯用で、 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> <html xmlns="www.w3.org/1999/xhtml " lang="ja" xml:lang="ja"> って感じにXML宣言のあるxhtmlだったんですが、この中では<!-- -->は使えないって言うので 上記の形(<![CDATA[ ]]>)にしたところエラーになりました 1)XML宣言 2)携帯用サイト(外部CSS使えない→1)のせいでコメントは<![CDATA[ ]]>にならざるを得ない) 3)Smarty という組み合わせは実用不可能というお話でした
395 名前:nobodyさん mailto:sage [2009/01/16(金) 06:34:07 ID:???] >>394 ttp://www.phppro.jp/phpmanual/smarty/language.function.literal.html
396 名前:nobodyさん mailto:sage [2009/01/16(金) 14:02:35 ID:???] デリミタの変更はSmarty最初の課題。
397 名前:nobodyさん mailto:sage [2009/01/16(金) 23:45:16 ID:???] CSSは外部でいいやって思ってたけどこういう場合もあるんだな。 Smarty解釈をしないプレーンな{include}があってもいいんじゃないかという気がしてきたがあったっけ。
398 名前:nobodyさん [2009/01/19(月) 11:16:42 ID:RBlPIEnm] 通常のHP案件でSmartyを常用していたのですが、 みんクエのようなRPGタイプのブラウザゲームを制作予定です。 常に値が変動して最新の情報を表示しないといけないケースで、 Smartyを使用するのはナンセンスでしょうか?
399 名前:nobodyさん mailto:sage [2009/01/19(月) 11:19:59 ID:???] ケースバイケース
400 名前:nobodyさん mailto:sage [2009/01/19(月) 15:19:03 ID:???] cache切っても充分使えるしな。 重要なのはメンテナンス性だな、かえってテンプレ化しづらい場合もあるし・・・
401 名前:nobodyさん mailto:sage [2009/01/20(火) 18:40:01 ID:???] PHP側で連想配列のキーにピリオドを含む使った $foo['bar.baz']='hoge'; のような変数をSmarty側にassignした場合、 テンプレ側ではどういう表現をすればアクセスできるの? {$foo[bar.baz]} はだめだったんだけど、何か他の表現方法あるのかな?
402 名前:nobodyさん mailto:sage [2009/01/20(火) 20:16:27 ID:???] つマニュアル
403 名前:nobodyさん mailto:sage [2009/02/03(火) 21:30:12 ID:???] phpからdisplayしようとすると Warning: preg_match() [function.preg-match]: Compilation failed: repeated subpattern is too long at offset 18454 in /usr/share/pear/Smarty/libs/Smarty_Compiler.class.php on line 454 Fatal error: Smarty error: [in main.tpl line 1]: syntax error: unrecognized tag: include file="header.tpl" (Smarty_Compiler.class.php, line 455) in /usr/share/pear/Smarty/libs/Smarty.class.php on line 1092 こんなエラーが出てしまうんですけども、原因を教えていただけないでしょうか。 ちなみにmain.tplの中身はこんなのです。 {{include file="header.tpl"}} {{foreach from=$include_files item=file}} {{include file="$file"}} {{/foreach}} {{include file="footer.tpl"}}
404 名前:nobodyさん mailto:sage [2009/02/03(火) 21:32:58 ID:???] なんで二重括弧なの?
405 名前:nobodyさん mailto:sage [2009/02/03(火) 21:41:22 ID:???] >>404 Smarty.class.phpを継承したクラスも使ってるので、本家との差別化のためです。 継承したほうは $this->left_delimiter = '{{'; $this->right_delimiter = '}}'; を設定してあるので大丈夫だと思うんですけども。 ちなみに括弧ひとつにしても同じエラー出ます。
406 名前:403 mailto:sage [2009/02/03(火) 21:51:04 ID:???] 環境書き忘れました CentOS 5.2 Kernel 2.6x PHP 5.1.6 preg_matchでSmartyのタグ探して処理させてるから タグ探しに失敗したSmartyがそんな命令ねーよって怒ってるんですかね。
407 名前:nobodyさん mailto:sage [2009/02/03(火) 21:53:11 ID:???] 試してみたいから再現できるコード出してくれ
408 名前:403 mailto:sage [2009/02/03(火) 22:23:57 ID:???] <?php require_once('MySmarty.class.php'); //適当に書き換えてください $mysmarty =& new MySmarty(); //適当に書き換えてください $a = 'test'; $mysmarty->assign('test', $test); $mysmarty->display('test.tpl'); ?> ----------------------------------------- {{$test}} ###こんな単純なコードさえエラー出ます###
409 名前:403 mailto:sage [2009/02/03(火) 22:24:52 ID:???] 間違えました^^; <?php require_once('MySmarty.class.php'); //適当に書き換えてください $mysmarty =& new MySmarty(); //適当に書き換えてください $a = 'test'; $mysmarty->assign('test', $a); $mysmarty->display('test.tpl'); ?>
410 名前:nobodyさん mailto:sage [2009/02/04(水) 01:57:17 ID:???] 当然ながら私の環境では再現しません
411 名前:403 mailto:sage [2009/02/04(水) 19:44:57 ID:???] 既にSmartyが実働してるサーバからSmarty関連のファイルを引っ張ってきて インストールしたら正常に動きました。 公式の最新バージョンはバグ有りなんですかね? 何はともあれ、お騒がせしました。
412 名前:nobodyさん mailto:sage [2009/02/04(水) 22:30:27 ID:???] 自分の環境で試してくれる回答者放置とか最悪な質問者だな
413 名前:403 mailto:sage [2009/02/05(木) 07:13:36 ID:???] 大変失礼しました。 わざわざ確認していただき、ありがとうございます。 お礼?になるか分かりませんが、問題のあった方のSmartyをアップしておきます。 libsの中身を入れ替えるだけで多分再現できると思います。 ttp://www1.axfc.net/uploader/File/so/18050
414 名前:nobodyさん mailto:sage [2009/02/05(木) 08:52:10 ID:???] 問題のあったファイルがお礼とかw
415 名前:nobodyさん mailto:sage [2009/03/03(火) 15:33:16 ID:???] 値がある場合はstring_formatの%0.1,なかった場合は にしたいんだけど {var|default:' '|string_format:'%0.1'} だと値が無い場合には全て0.0になってしまうし、 {var|string_format:'%0.1'|default:' '} だと値が無い場合にnoticeが出てしまって両立できないんだけど、 どうしたらいいかな?
416 名前:nobodyさん mailto:sage [2009/03/03(火) 15:34:02 ID:???] フォーマットのf抜けてた
417 名前:nobodyさん mailto:sage [2009/03/05(木) 19:41:11 ID:???] CakePHP1.2にSmartyView入れて使い始めてみたんだけど $form->createに$optionsを引数で渡すと出力されないのは指定の仕方が悪いのかま? {$form->create('Modelhoge', array('action'=>'Actionhoge'))} モデルだけ指定すると出力されるんだが、、
418 名前:nobodyさん mailto:sage [2009/03/06(金) 03:16:30 ID:???] >415 register_modifier 使って関数自作すればいいんじゃない?
419 名前:nobodyさん mailto:sage [2009/03/12(木) 20:22:12 ID:???] 昨日テンプレートエンジンというものを知って調べたが、こんなもん速度と品質犠牲に使う本気で奴バカすぎ。ヒアドキュメントで十分すぎ。
420 名前:nobodyさん mailto:sage [2009/03/13(金) 10:39:43 ID:???] そうだよ?
421 名前:nobodyさん mailto:sage [2009/03/13(金) 10:48:04 ID:???] PHP自体がテンプレートエンジンであり 速度と品質を犠牲に使うなんて馬鹿すぎと既にCとJavaプログラマに言われていることを 419は知らないのだった
422 名前:nobodyさん mailto:sage [2009/03/13(金) 11:05:13 ID:???] Smartyってめっちゃ便利やな! PHP案件は全部これ使って開発してるぁるょ!
423 名前:smarty初心者 [2009/03/16(月) 14:02:13 ID:UpVqDdxv] Fatal error: Call to a member function assign() on a non-object in・・・*.php on line 32 というエラーがでるのですが、どういう意味なのでしょうか? 教えてください。
424 名前:nobodyさん mailto:sage [2009/03/16(月) 15:28:49 ID:???] >>423 ggrks
425 名前:nobodyさん mailto:sage [2009/03/16(月) 17:22:30 ID:???] 変数名が違うんだろ
426 名前:nobodyさん mailto:sage [2009/03/19(木) 02:15:19 ID:???] そのレベルだとSmartyどころかphp初心者だろ……
427 名前:nobodyさん [2009/04/12(日) 10:19:11 ID:tJ4UxLsE] ヤッターマン公式サイトはSmartyを使っているようだ。 www.ytv.co.jp/yatterman/
428 名前:nobodyさん [2009/04/22(水) 01:10:23 ID:rBHnGmhI] Smartyのファイル名が 「%%45^45E^45E480CD%%index.tpl.php」 と言うふうになりますが、これはどういう規則性でこうなっているのでしょうか? %%から%%は区切る為にあると思うし、元ファイル名は.phpの前に付いています。 しかし、それ以外の数字と記号の意味がわかりません。
429 名前:nobodyさん mailto:sage [2009/04/22(水) 01:44:07 ID:???] Smarty::_parse_resource_nameに書いてある
430 名前:nobodyさん [2009/04/23(木) 02:53:59 ID:ai/dLDOC] あいまい検索みたいな事って出来るのでしょうか? 例えば、test_file.phpというファイル名のファイルがあったとして testで検索してもそのファイルがヒットするようにしたいのです。 opendirなどで指定ディレクトリを開いてファイルを1つずつ読み込み、 preg_matchなどの正規表現でファイル名を調べる方法もありますが、 もう少し短い手順で、簡単に調べられる方法はないでしょうか?
431 名前:nobodyさん mailto:sage [2009/04/23(木) 02:55:05 ID:???] 430です。すみません、誤爆です・・。質問スレに書きます。
432 名前:nobodyさん mailto:sage [2009/05/03(日) 08:41:04 ID:???] template_cの中身を見たら こんな変なファイルがありました なんですか? %%5A^5A2^5A201544%%test.tpl.php
433 名前:nobodyさん mailto:sage [2009/05/03(日) 12:28:14 ID:???] コンパイル後のテンプレートファイル
434 名前:nobodyさん mailto:sage [2009/05/03(日) 14:56:11 ID:???] なるほど 消しても問題なさそうですね? ありがとうございます
435 名前:nobodyさん mailto:sage [2009/05/03(日) 17:01:11 ID:???] ( ゚д゚)ポカーン
436 名前:nobodyさん [2009/05/04(月) 18:34:03 ID:bGJWbWfu] MTでPHPを使う部分にSmartyを使っているみたいなのですが、 MTのテンプレートを見ると <mt: >な独自タグを使っています。 Smartyで独自タグって定義できるのでしょうか?
437 名前:nobodyさん mailto:sage [2009/05/05(火) 03:15:12 ID:???] >>436 できる(`・ω・´)
438 名前:nobodyさん mailto:sage [2009/05/05(火) 21:30:24 ID:???] HTMLファイルだって定義するぐらいはできるんだぜ
439 名前:nobodyさん [2009/05/06(水) 01:41:19 ID:T5mYjMeP] >>437-438 どこの設定を変更したら出来るのですか?
440 名前:nobodyさん mailto:sage [2009/05/06(水) 07:14:42 ID:???] >>439 断る(`・ω・´)
441 名前:nobodyさん mailto:sage [2009/05/09(土) 23:09:48 ID:???] www.smarty.netにつながらないんだけど俺だけ?
442 名前:nobodyさん mailto:sage [2009/05/10(日) 20:05:32 ID:???] >>441 落ちてるね。こういうサイトはミラーが必要だとおもいまする。
443 名前:nobodyさん mailto:sage [2009/05/12(火) 01:20:58 ID:???] 一生落ちてればいいと思う。
444 名前:nobodyさん [2009/05/13(水) 11:19:30 ID:Q3CLDrVp] {insert} で指定する関数名に クラスのメソッドを指定する方法はありませんか?
445 名前:nobodyさん mailto:sage [2009/05/13(水) 13:46:20 ID:???] クラスのメソッドを指定できる関数をつくればいいんじゃあ
446 名前:nobodyさん mailto:sage [2009/05/13(水) 21:18:42 ID:???] 初心者で悪いんだが --Hoge.php-------- class Hoge { var piyo; function Hoge() { $this->piyo = $_POST['some']; require_once 'view.tpl'; } } --view.tpl--------- <p><?php echo $this->piyo; ?></p> テンプレートとしての機能ってこれじゃ駄目なの?
447 名前:nobodyさん mailto:sage [2009/05/13(水) 21:46:03 ID:???] >>446 こういうセキュリティホールを量産する奴がいるから テンプレートエンジンは必要
448 名前:nobodyさん mailto:sage [2009/05/14(木) 00:07:02 ID:???] >>447 イミフ
449 名前:nobodyさん mailto:sage [2009/05/14(木) 02:00:08 ID:???] POSTで送られたデータを無加工で出力するなって事だ そりゃそうと、普通にメソッドコール出来たと思ったけど
450 名前:nobodyさん mailto:sage [2009/05/14(木) 03:34:09 ID:???] >>446 それでも問題無い場合もあるよ。 ケースバイケース。 複数人(特に外注)を使う場合は、記述方法の統一されたテンプレートエンジンをオススメだけどね・・・ PHPをテンプレートエンジンとして使う=テンプレートを扱う人にシステム全権限を与える。 善悪にかかわらず、不正なコードでシステムがクラッシュする可能性が増えるってこった。
451 名前:nobodyさん mailto:sage [2009/05/14(木) 03:40:17 ID:???] >>450 >>447
452 名前:446 mailto:sage [2009/05/14(木) 14:32:58 ID:???] >>447 ああすまない、ロジックとビューを分ける際にって所を聞きたかったので その他の所は適当に書いてしまった。 テンプレートエンジンってのはそういう所も自動でやってくれるの? >>450 とても納得できたよありがとう。 これもケースバイケースだろうけど、PHPerって実務に携わる場合って Smarty必須だったり「おっ、いいね!」的なアドバンテージになったりするのだろうか。。 個人的な見解で良いので、聞かせてくれると有り難い。
453 名前:nobodyさん mailto:sage [2009/05/14(木) 14:45:29 ID:???] Smartyならデフォルトで適用するフィルターを設置出来る escapeを入れたら今回記述されたテンプレートでもちょっと安心 とりあえず、OpenPNEはやってた 興味があればソース眺めると良いかと
454 名前:nobodyさん [2009/05/14(木) 17:49:28 ID:A4v4Hdy/] >>453 質問なんですけど、ソース見て、それがsmarty経由でつくられてるものだって、 どこでわかるんですか? 見れるんなら見たいんですけど。
455 名前:nobodyさん mailto:sage [2009/05/14(木) 18:51:12 ID:???] HTMLソースじゃないぞ
456 名前:nobodyさん mailto:sage [2009/05/14(木) 20:10:22 ID:???] >455 smartyでいうところのコンパイルされていないファイルって、見れるんですか? だとしたら他人事ではないんですけど。
457 名前:nobodyさん mailto:sage [2009/05/14(木) 21:02:38 ID:???] > それがsmarty経由でつくられてるもの の > それ ってOpenPNEをさしてるの?OpenPNEはソースが配布されているけど
458 名前:nobodyさん mailto:sage [2009/05/14(木) 21:26:13 ID:???] >457 あ、そういうことでしたか。 そして、ダウンロードもしてみました。 他の人がつくったsmartyのテンプレートファイル初めてみた。 勉強になるな〜
459 名前:nobodyさん mailto:sage [2009/05/14(木) 21:49:19 ID:???] どんな風に勉強になった?
460 名前:nobodyさん mailto:sage [2009/05/14(木) 23:02:27 ID:???] ({ をデリミタタグとして使っているところとかです。
461 名前:nobodyさん mailto:sage [2009/05/16(土) 17:50:14 ID:???] MTもSmarty使っているから、参考になると思うよ。 ただ、OpenPNEの方がわかりやすいね。 なんか日本人的な書き方のような気がする
462 名前:nobodyさん mailto:sage [2009/05/22(金) 09:35:19 ID:???] Smartyの順序って 「PHPが苦手だからSmartyを使おう」 それとも 「PHPができるからSmartyでさらに上を目指そう」 のどっちなんですか? わかる人からするとアホな質問かもしれませんが、 PHP初心者の自分には、どうしてもSmartyの役割がはっきりしなくて。
463 名前:nobodyさん mailto:sage [2009/05/22(金) 10:07:23 ID:???] SmartyはPHPの単なるライブラリだよ・・・?
464 名前:nobodyさん mailto:sage [2009/05/22(金) 10:22:59 ID:???] Smartyの用途はスレの上のほうで話題になってるじゃん 苦手だからとか上を目指そうとかそういう観点ではなく
465 名前:462 mailto:sage [2009/05/22(金) 11:11:41 ID:???] >463,464 ご返答ありがとうございます。 スレも1から全部読みました。 そして、ここ数日ネットで調べまくったんですが、 どこも書いてあることは「デザインとプログラムを分離できるもの」ということで、 頭が悪すぎるのか、結局「smartyが何をしている」というのがわからずじまいでした。 そこで、書き込んでみたのです。 要は「工具セット」ってことですかね。 上の方で延々と行われた議論は 「使う工具(smartyの機能)なんか自分で作ればいい」派と 「始めからセット(smarty)であるんだから簡単で便利」派の言い争いって感じですか。
466 名前:nobodyさん mailto:sage [2009/05/22(金) 11:43:37 ID:???] smarty使ってMVCのviewを強化したい派(利便性高・コスト高)と php自体にview的な要素が入ってるんだから重複は無駄だよ派(利便性中・コスト中)って感じでないかな
467 名前:462 mailto:sage [2009/05/22(金) 17:49:33 ID:???] >>466 !('A')あ〜 なんか少々モヤモヤが晴れてきました。 引き続き勉強します。
468 名前:nobodyさん mailto:sage [2009/05/23(土) 20:37:34 ID:???] Smartyを勉強し始めたのですが、 phpコードに書いた和文が文字化けしてしまいます。 テンプレートの和文は文字化けしません。 phpで$smarty->assign('name', 'みなさん');として tplに「こんにちは、{$name}!」とすると、 htmlで「こんにちは、文字化け!」とでてしまうのです。 全部UTF-8で書いています。 サーバーはsixcoreをかりており、mbstringの設定はこうしています。 mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = pass mbstring.http_output = UTF-8 mbstring.encoding_translation = Off mbstring.detect_order = UTF-8,EUC-JP,SJIS,JIS,ASCII mbstring.substitute_character = none; 今日一日中ググりまくっているんですが、どうしてもわかりません。 どなたかお助けください。おねがいします。
469 名前:468 mailto:sage [2009/05/23(土) 20:42:52 ID:???] phpファイルだけがSJISになってました! ほんとサーセンでした!!!
470 名前:nobodyさん mailto:sage [2009/05/23(土) 21:22:40 ID:???] 「こんにちは、文字化け!」 はワラタ
471 名前:nobodyさん mailto:sage [2009/05/23(土) 21:30:08 ID:???] smartyのテンプレートに$hogeという配列が空じゃない場合の条件分岐処理を書きたいんですけど、 この書き方はおかしいのでしょうか {if $hoge!==""}text{/if} たまにif文が動かないのでおかしいと思うのですが
472 名前:nobodyさん mailto:sage [2009/05/23(土) 22:28:46 ID:???] smarty文法のばあい ===はあるけど!==はないんじゃないか? マニュアルに記載されてないし !($hoge==="") に差し替えてみよう
473 名前:nobodyさん mailto:sage [2009/05/23(土) 23:15:34 ID:???] is_array() とかつかえなかったっけ?
474 名前:nobodyさん mailto:sage [2009/05/25(月) 00:05:06 ID:???] >>472 >>473 どちらも動作しました ありがとうございます
475 名前:nobodyさん [2009/06/30(火) 18:33:31 ID:Cv5BCTzF] 既存のソースをフレームワークを使って書き直したいんだけど、smartyは他のフレームワークと比べて 何か利点はありますか?それとも他のフレームワークを使った方がよいですか? フレームワークを使い比べたことがある方、教えてください。
476 名前:nobodyさん mailto:sage [2009/06/30(火) 21:29:17 ID:???] フレームワークはMVC+αを担当するものとした場合、 SmartyはVのみを担当するテンプレートエンジンでしかない。 ・既存のソース+Smarty ・他のフレームワーク+Smarty という使い方が一般的です。
477 名前:475 [2009/07/01(水) 02:15:48 ID:FWyhhBD1] >>476 簡単ながら簡潔な意見だと思います。ありがとうございます。
478 名前:nobodyさん mailto:sage [2009/07/01(水) 18:56:06 ID:???] どういたまして。
479 名前:nobodyさん mailto:sage [2009/07/06(月) 17:48:50 ID:???] Smartyも大きく言えば、関数ライブラリだからな。 HTML内にPHPコードを書いているのと変わらない。 (しかも、それを実現する為に複雑な処理をしているのでパフォが落ちる でも、プログラマー以外がテンプレートを操作する環境なら凄い便利
480 名前:nobodyさん mailto:sage [2009/07/06(月) 17:53:06 ID:???] 小さく言うと何?
481 名前:nobodyさん mailto:sage [2009/07/07(火) 00:33:01 ID:???] smarty乙php乙時代はC++俺はHTMLホームページビルダー
482 名前:nobodyさん mailto:sage [2009/07/07(火) 03:43:16 ID:???] <small>関数ライブラリ</small> 大事なことなので小さく言いました。
483 名前:nobodyさん mailto:sage [2009/07/07(火) 04:18:14 ID:???] >HTML内にPHPコードを書いているのと変わらない。 PHPコードを書かせない(制限する)為に、Smartyがあるわけだが。 >(しかも、それを実現する為に複雑な処理をしているのでパフォが落ちる 内部的にPHPに変換及びキャッシュを行うから、きっちり設定をすればパフォ的には気にとめる程じゃ無くね? システム規模によるだろうけど、大抵は処理全体の1割未満のリソースしか食わんよ。 上手に導入出来れば開発が相当楽になるので、結果的にコストパフォーマンスは上がるしさ。 一度Smartyの設計思想を読む事をおすすめ。
484 名前:nobodyさん mailto:sage [2009/07/07(火) 16:14:30 ID:???] >>483 いやいや。そう言うことを言いたいんじゃないよ。 Smartyを覚えるならPHPも覚えなければいけないわけで、 フレームワークに使用するにはかなりの知識が必要だよ。 ってこと。475に対する意見として書いた。 あんたの言う「きっちり設定」する為には、それなりの知識や経験が必要だろ? だから、経験がないと難しいって言いたかった。
485 名前:nobodyさん mailto:sage [2009/07/08(水) 01:44:36 ID:???] MVCでの開発経験があれば、Smartyが難しいと感じる事は無いと思う。 最適化に関しては経験が必要だが、導入までは相当楽な部類かと思うぞ。
486 名前:nobodyさん mailto:sage [2009/07/08(水) 02:16:30 ID:???] どの程度までCとVを分離すればいいの?
487 名前:nobodyさん mailto:sage [2009/07/08(水) 05:06:10 ID:???] ご自由に
488 名前:nobodyさん mailto:sage [2009/07/08(水) 09:25:14 ID:???] (1) if ($nantoka) { $str="yes"; } else { $str="no"; } ↓ result:{$str} (2) result:{if $nantoka}yes{else}no{/if}
489 名前:196 mailto:sage [2009/07/08(水) 09:25:17 ID:???] Smarty信者はMVCフレームワークとテンプレートエンジンの区別もつかんのか
490 名前:nobodyさん mailto:sage [2009/07/08(水) 09:30:04 ID:???] >>476 で回答済の話をなぜ蒸し返す
491 名前:nobodyさん mailto:sage [2009/07/08(水) 10:06:46 ID:???] >>487 もっと詳しく
492 名前:nobodyさん mailto:sage [2009/07/08(水) 12:47:51 ID:???] ココでMVCの話はお門違いだけど、一寸だけ口挟む。 > どの程度までCとVを分離すればいいの? 普通、MとCを何処まで分離すればイイの?という質問が多いと思う。 " CとV "と言ってしまう時点で、MVCがまるで判っていない印象。 MVCの中心にあるのは、C(コントローラ) 何故 C かと言えば、Webアプリのエントリーポイント(プログラムの着火点)は、アドレスであると考えたから。 どんな処理でも、まずそのスクリプトにブラウザでアクセスしないと何も起こらないという事実から、エントリーポイントをアドレスと考えた。 次に、このアドレスの扱いを拡張しようと考えた。 スクリプト名 / メソッド名 / 引数 ... って感じで、アドレスから処理を操ろうとした訳だ。 この時、上記の記述を実際の処理に落とし込むのが、C(コントローラ)の役割。 C は、受け取ったアドレスから、処理の出力先を M(モデル)にするか、V(ビュー)にするか判断するだけ... ここから、Cは只単に処理を振り分けるだけと考えれば、おのずとMVCそれぞれの割り振りも判ってくるハズ
493 名前:nobodyさん mailto:sage [2009/07/08(水) 12:53:19 ID:???] >>492 じゃMとVはどう仕事を割り振ればいいの?
494 名前:nobodyさん mailto:sage [2009/07/08(水) 12:59:50 ID:???] M(モデル):サーバ処理専用。主にDBがらみの処理 V(ビュー):クライアント(ブラウザ)への画面表示処理専用。ブラウザに出力するものは全てココで処理。スマーティーはこの部類に入る
495 名前:nobodyさん mailto:sage [2009/07/08(水) 13:11:42 ID:???] でもMVCモデル自体がモデルなんだから要するにMVC全体でサーバ処理するってことなの?
496 名前:nobodyさん mailto:sage [2009/07/08(水) 13:53:41 ID:???] MVCにとらわれすぎると、逆に可読性下げるからなぁ… 目的では無く、あくまで手法なんだからケースバイケースに実装すればいいんじゃね? 使い回し不要のビジネスロジックなんかは、Cに実装しても良いかと。
497 名前:nobodyさん mailto:sage [2009/07/09(木) 12:40:59 ID:???] >>495 > でもMVCモデル自体がモデルなんだから要するにMVC全体でサーバ処理するってことなの? MVCモデルのモデルは事例を示すモデル。Mのモデルとは意味が違う。 同音表記だから同じ意味とか思うなよ...大人だろ!
498 名前:nobodyさん mailto:sage [2009/07/09(木) 12:46:29 ID:???] >>496 確かに可読性は下がる。また、RoRが過ぎるとフレームワークのブラックボックス化が著しくなり、 背後でどんな処理がなされているのか、まるで判らなくなる。 当然、カスタマイズしにくい...
499 名前:nobodyさん mailto:sage [2009/07/10(金) 17:05:35 ID:???] MVCを意識する・理解するというのは大事だと思うんだが、 どうやってその理解を深める勉強をするの? 結局、自分でソースを書いて、良いか悪いか判断するしかないよね? 俺が書いているソースなんて、まるっきり駄目な部類かも知れないけど、 それでも目的通り動いているし、俺にとっては可読性はあってわかりやすい。 なら、それで良いのではないか?と思うんだけど、後で困るのだろうか
500 名前:nobodyさん mailto:sage [2009/07/10(金) 17:06:18 ID:???] お前は何を言ってるんだ
501 名前:nobodyさん mailto:sage [2009/07/10(金) 17:19:26 ID:???] 「そこまでこだわるべきなのか」 ←言いたいこと 「でも、そこまで言うぐらいだから、こだわらないと困るのか」 ←疑問
502 名前:nobodyさん mailto:sage [2009/07/10(金) 17:21:09 ID:???] >>499 >>496 に「とらわれすぎると」って書いてあるだろ、 場合によってはMVCの枠組みに落とし込む事がデメリットになるって話。 例えば、数行で済む使い回し不要のコードの為にモデルを量産すると 管理が面倒だし、他との依存関係が不透明になるからロジック変更の時に面倒だよね。 そういう場合はCなりに埋め込んでしまう方がいいんじゃね? って話。
503 名前:nobodyさん [2009/07/10(金) 18:13:16 ID:aQw5S2vU] そんなのコメントしとけば依存関係は不透明にならんだろ。ただの怠慢でMVCのせいにすんな。
504 名前:nobodyさん mailto:sage [2009/07/10(金) 18:17:06 ID:???] コメントで他のコードのどこから参照されてるか、全て把握かつ保証出来るんだ? 503さん、まじパねぇっす!
505 名前:nobodyさん mailto:sage [2009/07/10(金) 19:29:24 ID:???] 503さんはエスパーなんです!
506 名前:nobodyさん mailto:sage [2009/07/17(金) 01:42:54 ID:???] >>494 サーバ専用処理って。。。 逆にクライアント処理をPHPで書いてもらいたいな
507 名前:nobodyさん mailto:sage [2009/07/17(金) 12:08:33 ID:???] >>506 入力も出力もなく サーバ内で完結する処理という意味だろうけどね。
508 名前:nobodyさん mailto:sage [2009/07/17(金) 12:24:47 ID:???] >>506 大丈夫か? 頭打ったろ! ザックリした説明に一々噛み付く馬鹿! 夏はイロイロ湧いてくるなぁ
509 名前:nobodyさん mailto:sage [2009/07/17(金) 19:58:03 ID:???] 自分の頭に無い解釈=不正解 だというプログラマーが多すぎです
510 名前:nobodyさん [2009/07/20(月) 22:58:34 ID:KgRJffi+] 勘違いしていたかも知れないんだけど、Smarty自体がMVCフレームワークだよね? Modelは関数の処理で Viewの部分がdisplayやfetchでテンプレ表示で Controllerが最初のクラス実行で 自作フレームワーク+Smartyを作ってるんだが、 考えたらMVCすべてSmartyだけでもいい気がしてきた
511 名前:nobodyさん mailto:sage [2009/07/20(月) 23:16:35 ID:???] それSmatyじゃなくて PHP+Smartyじゃん
512 名前:nobodyさん mailto:sage [2009/07/20(月) 23:28:34 ID:???] まあ、あながち間違ってはいないがな。
513 名前:nobodyさん mailto:sage [2009/07/21(火) 10:38:01 ID:???] いや、間違ってるだろw その理論だと世の中全てのPHPコードがMVC実装されてる事になる。
514 名前:nobodyさん mailto:sage [2009/07/21(火) 10:47:00 ID:???] いや、それは「PHPでMVCを書いた」って事で Smartyみたいに元から実装されている分けじゃないんでは?
515 名前:nobodyさん mailto:sage [2009/07/22(水) 00:47:18 ID:???] Smartyhajimemasita
516 名前:nobodyさん mailto:sage [2009/07/22(水) 08:22:08 ID:???] Hello! Smarty
517 名前:nobodyさん [2009/07/24(金) 20:52:45 ID:kF0trrBu] で、お前らキャッシュ機能って使ってる?
518 名前:nobodyさん mailto:sage [2009/07/24(金) 22:28:00 ID:???] キャッシュって使うもんなの? Smartyだと使わされるもんだと思ってたよ。
519 名前:nobodyさん mailto:sage [2009/07/24(金) 22:42:57 ID:???] >>518 コンパイル済みテンプレートとキャッシュを混同してるだろw 俺は使ってない。 本当にキャッシュが必要なページはrenderしたものを自前で静的htmlファイル生成化してるわ。 1時間に一回再生成するようなページで使えば楽んだろうけど、レアケースだよね。
520 名前:nobodyさん mailto:sage [2009/07/25(土) 00:10:16 ID:???] >>519 批判じゃなくて興味本位だが、 なぜSmartyのキャッシュじゃなくて、自前なの? Smartyで同じ事出来るよね?
521 名前:nobodyさん mailto:sage [2009/07/25(土) 01:34:19 ID:???] キャッシュ使うとテンプレートの更新が反映されないんだが 更新したらキャッシュ切らないとだめなの?
522 名前:519 mailto:sage [2009/07/25(土) 05:09:32 ID:???] >>520 Smartyのキャッシュって、 PHP呼び出し → Smartyインスタンス生成 → キャッシュ確認 → 出力 という処理が入るから、生成されたHTMLファイルに直接アクセスする場合と比べると負荷はかかるんだよね。 519にも書いたように定期的に自動で再生成するような場合は楽だけどさ。 自分のやってるシステムでは、管理者が任意のタイミングで再生成するのがほとんどだから、自前で実装している。 DBからのデータを差し込みつつ、出力をキャッシュするってページはあまり無いからなぁ…。
523 名前:nobodyさん mailto:sage [2009/07/25(土) 11:35:37 ID:???] >>521 テンプレートを更新したらキャッシュを削除するのが、 一番手っ取り早いし、確実だと思うよ。 >>522 なるほど。俺は、テンプレート(ヘッダーフッターなど)を DBで管理しているんだが、 テンプレート内にもSmartyタグを使ってるから、 自前のキャッシュファイル生成だとそれらが反映されずに困るんだよな
524 名前:nobodyさん mailto:sage [2009/07/26(日) 02:40:29 ID:???] >>523 ん?DBから動的に書き出す(+Smartyタグを処理する)場合ってキャッシュは使えないよね? コンパイル済みテンプレートの事? 俺の中では キャッシュ … DBデータ等の差し込み済み出力結果を静的に保存する。 コンパイル済 … SmartyテンプレートをPHPコードとしてキャッシュする。 って定義なんだ。 これが正しいかはわからない。誰が偉い人まとめて!
525 名前:nobodyさん mailto:sage [2009/07/26(日) 03:26:35 ID:???] じゃDBデータがあるサイトの場合は その都度キャッシュのon/offを切り替えて使えということ? あるいはインスタンスを分けるとか?
526 名前:nobodyさん mailto:sage [2009/07/26(日) 04:04:17 ID:???] キャッシュするなキャッシュ自体に期限を設けるのが一般的かな、 毎回DBからデータを持ってくるのであれば、 それは事実上キャッシュは不可能。 コンパイル済テンプレートのキャッシュは常に有効にしておいて良いと思うよ。
527 名前:nobodyさん mailto:sage [2009/07/27(月) 11:12:36 ID:???] テンプレート自体をDBに格納してるって話じゃないの?
528 名前:nobodyさん mailto:sage [2009/07/27(月) 11:30:56 ID:???] え?
529 名前:nobodyさん mailto:sage [2009/07/27(月) 12:48:51 ID:???] へ?
530 名前:nobodyさん mailto:sage [2009/07/27(月) 17:40:06 ID:???] >>525 の意味がいまいちわからんのだが… キャッシュの有効期限とかどうしてるの? 設定してあれば on / offしなくても自動でキャッシュ更新されるし、 設定していないのであれば、キャッシュは生成されないだろうし。 上にもある通り、キャッシュとコンパイル済テンプレートの認識が混ざってないかい?
531 名前:nobodyさん mailto:sage [2009/07/27(月) 22:41:03 ID:???] え?
532 名前:nobodyさん mailto:sage [2009/07/28(火) 10:37:13 ID:???] テンプレートってDBとかに格納しておけるの? できるならすごい便利なんだが
533 名前:nobodyさん mailto:sage [2009/07/28(火) 14:22:43 ID:???] >>532 できなくはないでしょ
534 名前:nobodyさん mailto:sage [2009/07/28(火) 15:09:38 ID:???] >>532 Smartyヘルプのリソースプラグイン読んでごらん。 まんまDBからテンプレート取得するコード書いてあるから。
535 名前:nobodyさん mailto:sage [2009/07/28(火) 16:09:45 ID:???] できなくないのは分かるけど いまいちどういう時に使いたいのかわからん。 ファイル名でマッピングしておくのと何が違うんだろ?
536 名前:nobodyさん mailto:sage [2009/07/28(火) 17:56:09 ID:???] >>535 updateコマンドで一括変更したり、日にちでサイトをガラッと変えたりするんじゃね
537 名前:nobodyさん mailto:sage [2009/07/28(火) 20:41:09 ID:???] >>535 CMSとか作る場合には良いんじゃないかね。 管理画面からの検索や更新、バックアップが取りやすい。 あとはWEBサーバが冗長化されていて、リソースを一箇所に纏めたい場合とかかね。 制作の手間暇考えたら、メリットは薄いと思うけど。
538 名前:nobodyさん mailto:sage [2009/07/29(水) 22:00:38 ID:???] >>535 ファイルをDBで管理すると、WEB上から更新できるならな。 しかし、複数アカウントを発行して利用するシステム(MTなど の場合は、システム毎にテンプレートを編集できるので ファイルで管理するより便利。メリットは絶大だと思う。
539 名前:nobodyさん mailto:sage [2009/07/30(木) 00:20:18 ID:???] いや、その用途なら普通にファイル編集orアップローダのが楽だろ…
540 名前:nobodyさん mailto:sage [2009/07/30(木) 12:07:42 ID:???] >>539 DB分かってる人ならDB使うのがラクだと思えるよ。 ファイルはすぐ腐る。
541 名前:nobodyさん mailto:sage [2009/07/30(木) 12:13:33 ID:???] 少し腐ったぐらいが美味しい...
542 名前:nobodyさん mailto:sage [2009/07/30(木) 12:16:56 ID:???] ファイルは数が増えるとどんどん大変になるんだよな
543 名前:nobodyさん mailto:sage [2009/07/30(木) 16:35:27 ID:???] システム作る側は楽かもね。 デザイナの大半はローカル環境でコーディング、一括でアップロードを望んでいる。 またテンプレート自体がバージョン管理下に置かれている事も多々ある。 運営する上でDBに流し込み作業が発生するのは楽ではない。
544 名前:nobodyさん mailto:sage [2009/07/30(木) 16:40:57 ID:???] ディレクトリ分けもせずに700個のHTMLと格闘してる奴を見てるとホント馬鹿だと思えてくる
545 名前:nobodyさん mailto:sage [2009/07/30(木) 17:12:18 ID:???] そんな奴いねーよw
546 名前:nobodyさん mailto:sage [2009/07/30(木) 18:40:48 ID:???] 700個のHTMLって時点でテンプレートを活かしてない感じが…
547 名前:nobodyさん mailto:sage [2009/07/30(木) 18:50:56 ID:???] テンプレどころかCSSすら使ってないんですわ、マジで。
548 名前:nobodyさん mailto:sage [2009/07/30(木) 18:58:17 ID:???] でも場末のウェブ制作屋ってほんとひどいからね。 ちょっとかじった中学生か、ってレベルのおっさんが 見てて頭痛くなってくるような非効率的な作業環境で、 素人騙して金貰ってるようなとこいっぱいあるぞ。
549 名前:nobodyさん mailto:sage [2009/07/30(木) 21:03:15 ID:???] >>543 流し込み作業をプログラムですれば良いだけだろ 一括アップロードと変わらん
550 名前:nobodyさん mailto:sage [2009/07/30(木) 22:46:24 ID:???] >>549 それやってしまうとファイル管理のメリットも、DB使うメリットも薄れてしまう気がするんだが。
551 名前:nobodyさん mailto:sage [2009/07/30(木) 23:54:04 ID:???] というかDBなんてある意味ファイル管理をラップしたようなもんだから DBでできてファイル直弄りでできんことはないだろ。 せっかくキャッシュとか使ってるのに 変なとこでDB使うとパフォーマンスのボトルネックにもなりかねんし DBじゃなきゃ開発コストパフォーマンスの点でよっぽど差がでる って場合じゃなきゃ下手にDB化なんかせんよ。 そういう奴は画像ファイルとかもカラムに突っこんでるタイプだろ。
552 名前:nobodyさん mailto:sage [2009/07/31(金) 00:03:20 ID:???] どちらにしろデータとして記録するんだからファイルで置こうがDBに突っ込もうが大して変わらんだろ
553 名前:nobodyさん mailto:sage [2009/07/31(金) 01:55:56 ID:???] Smarty使って、DBではなくファイルで管理しているWEBアプリってあるか? って思ったけど、OpenPNEがそうだな。追加で編集する場合はDB使うけど
554 名前:nobodyさん mailto:sage [2009/07/31(金) 02:04:43 ID:???] >>552 制作、運用、実行コスト、全てが大きく変わるわw 検索するとか、システム一括で何かしたいとか、特別な理由が無い限りDBにテンプレートつっこむのはナンセンス。
555 名前:nobodyさん mailto:sage [2009/07/31(金) 02:43:31 ID:???] ナンセンスってほどでも無いっしょ ファイルシステムだって名称を唯一のキーとしたDBみたいな物だし
556 名前:nobodyさん mailto:sage [2009/07/31(金) 03:11:10 ID:???] PCのスペックが上がりまくったせいで、恐ろしいほどのヘマをしない限りは DBで記録しようがファイルで置こうがボトルネックと呼べるレベルのものは出ない むしろ、恐ろしいほどに数が増えて人的に整理が大変になったほうがボトルネック
557 名前:nobodyさん mailto:sage [2009/07/31(金) 03:49:06 ID:???] >>555 だからこそナンセンスなんだよw ファイルシステムの実装はDBそのものなんだから、DBにつっこむ必要が無いものをつっこむ必要は無い。 >>556 にわかSEにありがちな発想ですね(^^ 人的整理はDBやSmarty以前のバージョン管理、運用の問題。
558 名前:nobodyさん mailto:sage [2009/07/31(金) 04:25:59 ID:???] >>557 ほう、ではDBとFSで実装した場合の違いを定量的に示してくれ
559 名前:nobodyさん mailto:sage [2009/07/31(金) 04:42:31 ID:???] >>558 FSじゃなきゃ出来ない事、FSなら標準で出来る事は多々あるだろう。 ・DBコネクション等の負荷が無い ・当然PHP側のコードもシンプル ・SVN等のバージョン管理システムが使える ・使い慣れたエディタで直接編集が可能 ・使い慣れたソフトでアップロード/ダウンロード/バックアックも自由自在 ・当然複雑な管理画面も不要になる為実装コストは激減 これらはFSなら特別な実装は不要。 君はDBで実装出来るか? 検索したいとか、DBサーバで集中管理したいとか、特別な要件が無い限りテンプレートのDB化はしない。 逆にDBを疑似ファイルシステムとして使うメリットとその実装コストを教えて欲しい。 オープン系CMSを引き合いに出すのであれば、同等の管理画面等を作るコストも入れてくれよな。
560 名前:nobodyさん mailto:sage [2009/07/31(金) 05:22:21 ID:???] 定量的の意味知ってるか?
561 名前:nobodyさん mailto:sage [2009/07/31(金) 05:56:21 ID:???] 定量的って言葉使いたいだけですか?w >>559 に答えられたら答えてやんよ。
562 名前:nobodyさん mailto:sage [2009/07/31(金) 10:54:30 ID:???] まぁ、喧嘩するなや。 第三者からみたら、有益な討論してるように感じるんだから。
563 名前:nobodyさん mailto:sage [2009/07/31(金) 11:13:51 ID:???] >>561 低学歴乙
564 名前:nobodyさん mailto:sage [2009/07/31(金) 11:35:24 ID:???] >>562 有益かはともかくSmartyの議論ではなさそうだな。
565 名前:nobodyさん mailto:sage [2009/07/31(金) 12:20:19 ID:???] >>564 Smartyの使い方に関する議論だろ
566 名前:nobodyさん mailto:sage [2009/07/31(金) 15:05:22 ID:???] smartyってHTMLだけしか知らないデザイナーに読みやすくするためだけの技術だろ
567 名前:nobodyさん mailto:sage [2009/07/31(金) 16:10:10 ID:???] 逆だと思うが。PHPを使えるプログラマー用の技術だろ。
568 名前:nobodyさん mailto:sage [2009/07/31(金) 18:56:10 ID:???] >>563 答えられない質問には煽る…典型的な厨ですね。 定量的も何も、FSの場合は >>559 の 実装コストはほぼゼロ。 DBで作った場合のコストは?低学歴な僕には検討もつきません><おしえてください。
569 名前:nobodyさん mailto:sage [2009/07/31(金) 19:46:53 ID:???] >>568 俺も低学歴だけど頑張ってみる XOOPSみたく、ベースはファイルで、そっからDB突っ込む奴で考えてみた > ・DBコネクション等の負荷が無い キャッシュファイル使えばテンプレ本体がDBにあっても関係ない > ・当然PHP側のコードもシンプル プラグインで済むから同じ > ・SVN等のバージョン管理システムが使える ベースのテンプレートをファイルにすれば同じ > ・使い慣れたエディタで直接編集が可能 コピペすれば一緒かと > ・使い慣れたソフトでアップロード/ダウンロード/バックアックも自由自在 phpMyAdminは使い慣れたソフトってことで > ・当然複雑な管理画面も不要になる為実装コストは激減 テキストボックスで十分じゃん > 同等の管理画面等を作るコストも入れてくれよな。 phpMyAdminで十分 テンプレートがDBに入ってて便利なのは、 出先とかでftp,シェルが使えない環境でもブラウザで更新出来るに尽きるんじゃないかと 頑張れば携帯でも更新出来るし。。。
570 名前:nobodyさん mailto:sage [2009/07/31(金) 19:49:07 ID:???] ファイル操作用のPHPコードと DB操作用のSQLでは、後者の方が自由度高いと思うけどな
571 名前:nobodyさん mailto:sage [2009/07/31(金) 20:49:32 ID:???] >>568 煽ったのはお前だろカスが 最初に質問したのは俺だが何故答えないの?
572 名前:nobodyさん mailto:sage [2009/07/31(金) 20:58:48 ID:???] また「全部自分でやるから実行速度は早い」とかえらそうにしてる馬鹿が騒いでるのか
573 名前:nobodyさん mailto:sage [2009/07/31(金) 21:21:59 ID:???] >>571 「俺だが」ってIDも出していない奴をどうやって判断する? 俺たちはエスパーじゃないぞ?
574 名前:nobodyさん mailto:sage [2009/07/31(金) 23:21:12 ID:???] >>569 > キャッシュファイル使えばテンプレ本体がDBにあっても関係ない テンプレート更新確認の為に、DB接続されるよ。 > プラグインで済むから同じ プラグイン作成、テストの工数がかかるよ。 > ベースのテンプレートをファイルにすれば同じ 一括でコミットしたり、指定リビジョンにロールバックしたい場合とか困るよね。 > コピペすれば一緒かと エディタで編集→管理画面を開く→コピペ→DBにコミット→確認が、直接編集と同じ手間と? > phpMyAdminは使い慣れたソフトってことで ファイルやディレクトリ単位での権限管理はどうするの? 例えば一時的にディレクトリ名を変えてバックアップ取りたい場合とか、運営者にSQLを書かせるの? > テキストボックスで十分じゃん 見た目上はそうかもしれないが、内部実装は相応のコストがかかると思うよ。 複数ファイル同時に更新しなきゃいけない場合とかもあるしさ。 > phpMyAdminで十分 上に同じ。 > テンプレートがDBに入ってて便利なのは、 > 出先とかでftp,シェルが使えない環境でもブラウザで更新出来るに尽きるんじゃないかと > 頑張れば携帯でも更新出来るし。。。 これはDBかFSかは関係無くね?制作者的にはSQL回す方が楽ではあるだろうけど。 >>571 >>568 で答えてるよ。FSならコストゼロ、DB実装なら相応。要件次第。 高学歴の君に、DBで同等の実装をした場合のコストを教えて欲しいな。
575 名前:nobodyさん mailto:sage [2009/08/01(土) 01:20:41 ID:???] だから、いちいち煽り入れるなって お前がせっかく書いたレスも陳腐な物になるぞ
576 名前:nobodyさん mailto:sage [2009/08/01(土) 23:36:43 ID:???] >>571 はどこいっちゃったの?
577 名前:nobodyさん mailto:sage [2009/08/02(日) 01:41:46 ID:???] お前がいい加減にしろ
578 名前:nobodyさん mailto:sage [2009/08/02(日) 01:48:38 ID:???] >>571 はどこいっちゃったの?
579 名前:nobodyさん mailto:sage [2009/08/02(日) 03:05:41 ID:???] まぁ普通はDBを使うメリットなんて無いって事さ DB憶えたての頃は俺も無闇にDB化したがったものだ
580 名前:nobodyさん mailto:sage [2009/08/03(月) 01:13:56 ID:???] じゃ、大手ポータルサイト(ブログとか)って テンプレートをDBに入れずにファイルで読み書きしてるのかな?
581 名前:nobodyさん mailto:sage [2009/08/03(月) 03:29:39 ID:???] そんな極少数の大規模案件を例えに出されてもなぁ・・・ 使ってるところは使ってるだろう(ハテナとか、スケーラビリティか何かを考慮してDBをファイル置き場に使ってるとか) 要件次第なんじゃない? それなりの資金と開発期間があり、WEBベースで不特定多数が編集するシステム開発 とかだったらDB化した方が遙かに楽だろう。
582 名前:nobodyさん mailto:sage [2009/08/03(月) 09:46:29 ID:???] >>581 DB使うメリットないとか言っといて 結局要件しだいかよw
583 名前:nobodyさん mailto:sage [2009/08/03(月) 10:57:19 ID:???] >>581 つまり、結局は「DB化した方が遥かに楽」なケースが”ある”ということですね
584 名前:nobodyさん mailto:sage [2009/08/03(月) 17:52:34 ID:???] >>582-583 最初から『意味も無く』FSをDBに置き換えるのがナンセンスと書いてるじゃないかw 揚げ足取りはいいから、具体的なメリットデメリットを提示してくれよ、 大手が使ってるとか、Open系CMSが使ってるからでは話にならん。
585 名前:nobodyさん mailto:sage [2009/08/03(月) 18:04:36 ID:???] っていうか大手CMSサイトってPHP+Smartyなの?その時点でその話は破綻している。
586 名前:nobodyさん mailto:sage [2009/08/03(月) 18:24:53 ID:???] どちらも都合のいいように解釈しすぎで、この話はいつまで経っても平行線。
587 名前:nobodyさん mailto:sage [2009/08/03(月) 18:59:14 ID:???] 平行線にすらなっていない。 DB厨がファビョっているだけだ。
588 名前:nobodyさん mailto:sage [2009/08/03(月) 20:12:30 ID:???] ファビョってるのはむしろお前だろ?1人で戦っているつもりだろうがw
589 名前:nobodyさん mailto:sage [2009/08/03(月) 21:44:15 ID:???] いちいち煽りに反応しなくていいからw とりあえず君のすばらしい経験談と、DB捌きっぷりをこのスレに轟かせれば、 もう少しましな流れになるんじゃないかな? (^o^)でーたべーす は すごく すごい!・・・なぜなら、すごいから! (^o^)でーたべーす の すごさがわからないやつは すごくない!
590 名前:nobodyさん mailto:sage [2009/08/03(月) 22:23:10 ID:???] 「要件次第でDB使う」でみんな納得。 丸く納まってよかった。
591 名前:nobodyさん mailto:sage [2009/08/03(月) 22:34:30 ID:???] 以下Smarty3を語るスレになりました。 開発ペース遅すぎるよね。
592 名前:nobodyさん mailto:sage [2009/08/04(火) 00:10:08 ID:???] htmltemplate.php で十分だしー
593 名前:nobodyさん mailto:sage [2009/08/04(火) 00:13:10 ID:???] >>590 すまんけどどういう要件ならDB、FSを使うべきかまとめてくれないか?
594 名前:nobodyさん mailto:sage [2009/08/04(火) 01:04:56 ID:???] >>593 大規模案件ならDB でいいんじゃないか。
595 名前:nobodyさん mailto:sage [2009/08/04(火) 01:51:48 ID:???] >>593 基本的にはFSじゃないかね。 DBは使う必要があれば使えばいい。 あまり思い浮かばないし、実例も聞かないけどね。
596 名前:nobodyさん mailto:sage [2009/08/04(火) 02:01:18 ID:???] すまん 結局>>581 が結論でいいんじゃないかと言いたかった。
597 名前:nobodyさん mailto:sage [2009/08/04(火) 09:05:44 ID:???] OK
598 名前:nobodyさん mailto:sage [2009/08/04(火) 11:09:38 ID:???] >>591 ぜひ参画してくださいよ
599 名前:nobodyさん mailto:sage [2009/08/04(火) 11:24:56 ID:???] 大規模案件にはJAVAという逆説。
600 名前:nobodyさん [2009/08/10(月) 18:05:18 ID:euq/7Zv+] すみません、質問です テンプレートファイル内で、{php}〜{/php}って形で、phpのプログラムを実行出来ますが、 この「〜」の部分で、assignされた変数を操作することは出来ないでしょうか {php} //ここで{$name}の中身を変更したり、{$name}をキーにして画像を出力する関数を実行したい {/php} 私の名前は{$name}です こんな感じで… よろしくお願いします。
601 名前:nobodyさん mailto:sage [2009/08/10(月) 18:19:27 ID:???] そのロジックはテンプレートじゃなくて、呼び出し元に書くべきでは・・・ やった事ないけど、Smartyインスタンスをなんらかの形で参照すれば出来るんじゃない? グローバル変数にするとか、シングルトン使うとか、etc
602 名前:nobodyさん [2009/08/10(月) 18:26:43 ID:euq/7Zv+] >>601 ありがとうございます、やっぱり呼び出し元でやるべきなんでしょうか? いまassignされて引き渡されるデータが配列一つなので、それを元にテンプレートでやった方がスマートなんですよね 呼び出し元で各値の条件分岐分やるとassign assign assign…とassignだらけになってしまうので テンプレ長くする方が問題かなぁ
603 名前:nobodyさん mailto:sage [2009/08/10(月) 18:35:23 ID:???] >>602 もしかしてこんな感じで解決しない? if(...) { $a=1; } else { $a=2; } $smarty->assign('a',$a);
604 名前:nobodyさん [2009/08/10(月) 18:43:35 ID:euq/7Zv+] >>603 ありがとうございます、そうですねー、確かにassign段階で書くとそんな感じですよね 決めました。そうします。 テンプレかアクションかどっちかが絶対ゴチャゴチャするなら一緒ですねもう。 いや、テンプレ変更する時のデメリットの方が大きそうだし。。 アドバイスありがとうございました!
605 名前:nobodyさん mailto:sage [2009/08/10(月) 19:16:08 ID:???] >>604 条件分岐やるとassignが増えるってどういうこと? 配列をそのまま使えば?
606 名前:nobodyさん mailto:sage [2009/08/10(月) 19:21:31 ID:???] >テンプレかアクションかどっちかが絶対ゴチャゴチャするなら一緒ですねもう。 テンプレートとロジックの切り分けは、そのゴチャゴチャを纏める事にあるんだよw アクションとテンプレ両方で値を編集しちゃうと、 どこでバグが発生したか突き止められなくなっちゃうでせう。
607 名前:nobodyさん mailto:sage [2009/08/10(月) 19:38:15 ID:???] >>605 例えば、入力任意のファックス番号とかあったとして、必須入力だったら確かにテンプレでは配列そのまま使って FAX:{$ary.faxNum} で済むけど、必須じゃないんでその前段階のアクションで if($ary['faxNum'];){$faxNum = $ary['faxNum'];} else{$faxNum = "-";} //assign処理 ってやる必要あるじゃないですか。それが嫌だったんですよ。 必須入力じゃない項目の数だけassignしまくらなきゃいけない。めんどくさいなぁと。 そこでphpかsmartyの構文で、テンプレの中で{if}とかしようと思ったんだけど… でも、確かに>>606 の言う通り、あっちこっちにまたがって値を編集しちゃダメですね。 smarty構文はデザインとか見た目(まさにテンプレート)を自動生成するためだけに使わなきゃなぁと ようやく結論づきました。
608 名前:nobodyさん mailto:sage [2009/08/10(月) 20:32:12 ID:???] >>607 if(!isset($ary['faxNum'])) ($ary['faxNum'] = "-"; って書いて、$ary変数だけassignすればいいんじゃない? その程度の表示分岐処理なら、テンプレート側でもOKかと思う。 {$ary.faxNum|default:"-"} でいけない?
609 名前:nobodyさん mailto:sage [2009/08/10(月) 20:50:18 ID:???] 値未入力であることを示すのに、何を表示するのかはview側の仕様だわな。 ひょっとしたら先々仕様変更で「入ってまへんで、へよへよ」と表示するようになるかもしれん。 そのとき内部データにそんな値(内容)入れたくないだろ? 608の後半みたいにテンプレ側でやった方がいいよ。
610 名前:nobodyさん mailto:sage [2009/08/10(月) 22:51:30 ID:???] >>608-609 うーん、そうか。 ケースバイケースでどうやるべきかじっくり考えてやってみるね ありがとう
611 名前:nobodyさん mailto:sage [2009/08/10(月) 23:13:31 ID:???] 度々申し訳ない {if}--{/if}の中で、smarty変数を生成できないの? assignと同じことをしたいんだけど {if $var eq "hoge"} $newVar = "hogeでした"; {/if} みたいな…
612 名前:nobodyさん mailto:sage [2009/08/10(月) 23:15:44 ID:???] assignでなんでだめなの?
613 名前:nobodyさん mailto:sage [2009/08/10(月) 23:42:39 ID:???] >>612 assignはphp側の処理ですよね、テンプレ側で値を割り当てたいので。。
614 名前:nobodyさん mailto:sage [2009/08/11(火) 01:09:27 ID:???] {assign} タグ使えば?
615 名前:nobodyさん mailto:sage [2009/08/11(火) 03:32:24 ID:???] >>614 ありがとう! こんなのがあったのか。助かりました!
616 名前:nobodyさん mailto:sage [2009/08/11(火) 03:33:31 ID:???] assignassign言うから当然テンプレート側のこと言ってると思ったら assignタグすら知らんかったのか。
617 名前:nobodyさん mailto:sage [2009/08/11(火) 12:14:27 ID:???] だからphpタグなんぞで処理したかったのか・・・。
618 名前:nobodyさん mailto:sage [2009/08/12(水) 05:56:44 ID:???] $hogeAry = Array ( [0] => Array ( [id] => 7 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明1 [photoName] => galleryPic7 [photo_on] => 1 ) [1] => Array ( [id] => 9 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明2 [photoName] => galleryPic9 [photo_on] => 1 ) [2] => Array ( [id] => 10 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明4 [photoName] => galleryPic10 [photo_on] => 1 ) ) という配列があります。 これのphotoNameを引き出したくて以下のものを実行してますがうまくいきません。何が原因でしょうか? {foreach from=$hogeAry item=varAry} 名前は:{$varAry.photoName}<br /> {/foreach} {$hogeAry.0.photoName} なら、ちゃんとgalleryPic7が出力されます
619 名前:nobodyさん mailto:sage [2009/08/12(水) 06:23:13 ID:???] varAryの中を見てみたら?
620 名前:nobodyさん mailto:sage [2009/08/12(水) 08:01:33 ID:???] ループは回ってる?「名前は:」って文字は出力されてる? {foreach from=$hogeAry item=varAry} {foreach from=$varAry item=item key=key} {$key}={$item}<br> {/foreach} {/foreach} で中身表示テストしてみ。
621 名前:nobodyさん [2009/08/12(水) 10:23:00 ID:u9+iooGY] >>620 0=z 0=z 0=z とだけ出力して終わってます。。ループ自体はしてるってことですよね? なんでだろ? 配列じゃないのかな。 上で書いた配列は、以下の実行結果です。(zendFWを使った、クエリの結果) function gallery($uType,$uId){ $table = $this->_config->table->gallery; $stt = $this->_db->fetchAll("SELECT * FROM {$table} WHERE `uType`=? AND `uId`=? AND `photo_on`=1 ORDER BY `id` LIMIT 10", array($uType,$uId)); return $stt; } $this->view->hogeAry = $this->_db->gallery('spot',$uId);
622 名前:nobodyさん mailto:sage [2009/08/12(水) 10:32:56 ID:???] >>621 Smarty側に正常にassign出来てない可能性大。 1. hogeAryが正常な配列か確認。 var_dump($this->view->hogeAry); 2. hogeAryがSmartyにassignされてるか確認。
623 名前:nobodyさん [2009/08/12(水) 11:18:13 ID:u9+iooGY] >>622 var_dump($this->view->hogeAry); の結果は $hogeAry = Array ( [0] => Array ( [id] => 7 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明1 [photoName] => galleryPic7 [photo_on] => 1 ) [1] => Array ( [id] => 9 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明2 [photoName] => galleryPic9 [photo_on] => 1 ) [2] => Array ( [id] => 10 [uId] => 10237 [uType] => hoge [photo_text] => 写真の説明4 [photoName] => galleryPic10 [photo_on] => 1 ) ) .tplでの {$hogeAry|@var_dump} の結果は Array ( [0] => [1] => [2] => ) 1 {$hogeAry.0.photoName} の結果は galleryPic7 ちゃんとテンプレートまでassignされてきてるってことですよね? foreachだけがうまくいかないってことかなー
624 名前:nobodyさん mailto:sage [2009/08/12(水) 11:41:14 ID:???] 619はシカトですかそうですか
625 名前:nobodyさん [2009/08/12(水) 12:16:00 ID:u9+iooGY] >>624 すみません、varAryの中身のチェックの方法がわからなかったもので。。 {foreach item=varAry from=$hogeAry} {$varAry|@var_dump}<br /> {/foreach} とりあえず思いつく限りで上記をやったら string(0) "" string(0) "" string(0) "" が返ってきます {foreach item=varAry from=$hogeAry} {$varAry.photoName}<br /> {/foreach} だと何も返ってきません(改行3つだけです) ほんとに済みませんでした
626 名前:nobodyさん mailto:sage [2009/08/12(水) 12:34:49 ID:???] 原因切り分けてみたら? 本当にDBから値は取れてるのか、違う関数コールしてないか、 ただの配列なら表示できるのか、などなど。 可能だったら再現するコードも貼って。
627 名前:nobodyさん mailto:sage [2009/08/12(水) 13:54:35 ID:???] {debug} タグでassignされてる変数確認してみ。
628 名前:nobodyさん [2009/08/12(水) 17:19:17 ID:u9+iooGY] >>626-627 どうもありがとうございます 普通の配列なら大丈夫です。同じDBから同様の手続きで取得してるクエリ結果(通常の配列)があるんですが、 それはforeachで解析できています。 {debug}はdisplay形式じゃないとダメみたいで、僕のやり方がそうじゃないので動きませんでした。 それで、今ループ処理をsection形式で試してみたんですが、section なら二次元配列の処理大丈夫でした。(以下が動きました。) {section name=varAry loop=$hogeAry} {$smarty.section.counter.total}<br> (このカウンターは動きませんでした) 要素: {$hogeAry[varAry].id}<br> 要素: {$hogeAry[varAry].photoName}<br> 要素: {$hogeAry[varAry].photo_text}<br> {/section} とりあえず、お騒がせして申し訳なかったですが、foreachは諦めてこっちで極力対応したいです。
629 名前:nobodyさん mailto:sage [2009/08/13(木) 16:40:28 ID:???] 結局原因は何なの?
630 名前:nobodyさん [2009/08/21(金) 13:05:34 ID:WhelcFIU] 質問させてください。 テンプレート中の {$hoge}って変数に対してphpのクラス中のメソッドを実行するって可能でしょうか? これまでは、php中で $hoge=$instance->method($hoge1,引数1,引数2); として、適切な値を返してたんですが、同じ事をテンプレートの中でやりたいと思います。 {$hogetext|nl2br}などでphp関数を実行できるのは知ってるんですが、調べたところメソッドの実行は 見つけられませんでした。無理なんでしょうか? assign 前に実行すべき?
631 名前:nobodyさん mailto:sage [2009/08/21(金) 14:42:48 ID:???] 修飾子プラグインの中でメソッド呼べばよいのでは
632 名前:nobodyさん mailto:sage [2009/08/21(金) 18:37:07 ID:???] >>631 どうもありがとうございます 修飾子プラグイン、知りませんでした! 勉強になります、ありがとう
633 名前:nobodyさん mailto:sage [2009/08/21(金) 22:16:33 ID:???] プラグインの中で他のプラグインの機能を呼び出すことってできますか?
634 名前:nobodyさん mailto:sage [2009/08/21(金) 22:16:56 ID:???] できるよ
635 名前:nobodyさん [2009/08/22(土) 00:43:33 ID:qs0RE9DR] 修飾子プラグインの勉強始めたんですが、引数を2つもたせる方法がわかりません。 {$num}というsmarty変数に対して、 function smarty_modifier_NUMtoTEXT($num,$aryName){ return $allAry[$aryName][$num]; } というプラグインを実行したいんですがどう書いたら良いんでしょうか? {NUMtoTEXT:$num:"boyAry"}とかやってみたんですがうまくいきません。
636 名前:nobodyさん mailto:sage [2009/08/22(土) 00:59:28 ID:???] >>635 www.smarty.net/manual/ja/language.modifiers.php
637 名前:nobodyさん mailto:sage [2009/08/22(土) 05:08:49 ID:???] >>634 kwsk
638 名前:nobodyさん mailto:sage [2009/08/22(土) 12:26:11 ID:???] >>637 ggrks
639 名前:nobodyさん mailto:sage [2009/08/22(土) 23:19:02 ID:???] >>636 返事遅れました。うまくいきました、ありがとう
640 名前:nobodyさん mailto:sage [2009/08/25(火) 00:15:56 ID:???] foreach だの sectionだのって、なんで素直にfor文用意してくれないんだろね php用テンプレートなのにわざわざ特殊な書式だし、頭に入らなくてしょっちゅうマニュアル見てる 頭悪くて悲しいな
641 名前:nobodyさん mailto:sage [2009/08/25(火) 06:09:04 ID:???] >>640 Smarty3で追加される
642 名前:nobodyさん mailto:sage [2009/08/25(火) 13:55:26 ID:???] >>641 ほんとに? 情報ありがとう、気分が楽になったよw そういう情報を仕入れる前向きさがないとイカンなぁ
643 名前:nobodyさん mailto:sage [2009/08/26(水) 12:19:29 ID:???] キャッシュしてできたファイルの中にSmartyタグって入れられないよね? 検索フォームがあったとして <input name="keyword" type="text" value="{$smarty.post.keyword}"> として検索後にデフォルト値を入れてるんだけど、 キャッシュしたらこういう事が出来ないと思って。
644 名前:nobodyさん mailto:sage [2009/08/26(水) 13:37:23 ID:???] >>643 insertタグで出来るんじゃね? あと検索結果画面だと思うけど、それってキャッシュするべきじゃなくね?w するにしてもSmarty側でするもんじゃないと思う。
645 名前:nobodyさん mailto:sage [2009/08/26(水) 14:37:50 ID:???] そのキーワード毎にキャッシュしたいのならば、それをキャッシュIDにすれば。
646 名前:nobodyさん mailto:sage [2009/08/26(水) 23:01:41 ID:???] >>644-645 ページのサイドバーをキャッシュしているんだが、 その箇所に検索フォームやログインフォームが入っているんだよ。 確かにキャッシュするべきじゃないが、 部分毎にわかるとキャッシュする意味がないかな?とも思ったり。 やっぱり、設計に問題あるかも・・。
647 名前:nobodyさん [2009/08/28(金) 14:54:05 ID:45fY5t7E] サイドバーの質問が出てるので聞きます dbの返り値次第でサイドバーのデザインが数パターンに変わる場合、smartyのif文で書き分けするしかないのかな? 正直{if}に限らず醜いんで多用したくないんですよね… 部分的にデザインパターンを読み込むなど、他の解決方法はないですか?
648 名前:nobodyさん mailto:sage [2009/08/28(金) 15:03:05 ID:???] コントローラ側で制御すれば?
649 名前:nobodyさん mailto:sage [2009/08/28(金) 15:25:18 ID:???] テンプレートを数パターン用意すれば?
650 名前:nobodyさん [2009/08/28(金) 16:29:28 ID:45fY5t7E] >>648 −648 そうですね、それがいいですね ありがとうございました
651 名前:nobodyさん [2009/08/28(金) 16:30:15 ID:45fY5t7E] >>648-649 でした ありがとう
652 名前:nobodyさん [2009/08/28(金) 17:53:20 ID:MIAE9vSw] Smartyテンプレif文条件式で、自作のSmartyプラグイン関数を 呼び出すことはできないのでしょうか?
653 名前:nobodyさん mailto:sage [2009/08/28(金) 19:07:18 ID:???] できるんじゃね?
654 名前:nobodyさん [2009/09/02(水) 05:34:35 ID:55UeyG/q] {assign}の中で、修飾子プラグインをvalueにもたせることできますか? {assign var=uType value=$resultAry.uType|NumToText} みたいなことをしたいんですが 試してみてもタグがモロ出しになって修飾子が実行されてないようです。 仕様でしょうか? 書き方が変だとしたら、対処法を教えてください。よろしくお願いします。
655 名前:nobodyさん mailto:sage [2009/09/02(水) 09:19:59 ID:???] タグがモロ出し の意味がわからない。
656 名前:nobodyさん mailto:sage [2009/09/02(水) 09:35:13 ID:???] >>654 capture
657 名前:nobodyさん mailto:sage [2009/09/03(木) 08:24:48 ID:???] >>655 ,656 ありがとうございました
658 名前:nobodyさん mailto:sage [2009/09/06(日) 21:25:22 ID:???] 負荷テストで調べたんだが、キャッシュって結構効いてるな 1000アクセスある場合を想定してテストしたんだが、 約10〜15%ほどページの読み込みが早かった
659 名前:nobodyさん mailto:sage [2009/09/07(月) 08:07:01 ID:???] なにをいまさら・・
660 名前:nobodyさん mailto:sage [2009/09/07(月) 22:10:32 ID:???] >>659 まあ、実感するのはなかなか難しいからな。
661 名前:nobodyさん [2009/09/07(月) 23:17:57 ID:K7GASBY+] 二次元配列を出力しようとすると、 Warning: htmlspecialchars() expects parameter 1 to be string, array given in パス modifier.escape.php on line 26 というエラーが出ます。 調べたところ、色々なサイトで同じ問題を扱ってるのを見つけました。 questionbox.jp.msn.com/qa4209668.html pcmemorogu.blog14.fc2.com/blog-entry-20.html など が、これらでの答えの通り、FOREACHする配列全てに $ary|smarty:nodefaults としてみたんですが まだ完全に上記のエラーが消えません。 他にどんな可能性があるでしょうか? 配列だけでなく、通常のassignされた変数に対しても文字列でなければセットすべきなのでしょうか? とりあえずやっていますが、変化がありません
662 名前:nobodyさん mailto:sage [2009/09/07(月) 23:25:11 ID:???] アウトプットフィルタにhtmlspecialcharsが指定されてるんじゃないの? つか二次元配列を出力しなければならない例が思いつかないけど
663 名前:nobodyさん [2009/09/07(月) 23:49:42 ID:K7GASBY+] >>662 ありがとうございます すいません、お礼書きつつ修正重ねてたら上手くいきました foreachやsectionの中の配列だけでなく、ifの条件節部分でも配列に対しては|smarty:nodefaultsする必要があったようです。 if($testAry|count >0) を if($testAry||smarty:nodefaults|count >0) にしたら治りました お騒がせしました。ありがとうございました
664 名前:nobodyさん mailto:sage [2009/09/08(火) 00:19:32 ID:???] modifier.escape.phpを修正する方が早いよ
665 名前:nobodyさん [2009/09/08(火) 00:25:48 ID:qSoCHGpf] >>664 さんはそうしてますか? どう修正したらいいのやら、、と、調べたらありました。 blog.asial.co.jp/309 ----- # function smarty_modifier_escape($string, $esc_type = 'html', $char_set = 'ISO-8859-1') # { # // 配列が渡ってきたら何もせずにreturn # if (is_array($string)) return $string; # switch ($esc_type) { # case 'html': たしかにこれでよさそう。 664さんが別の方法で対応してるなら教えてもらえると嬉しいです。比べつつ勉強したいので。 自分で弄る自信はまだないんですよね、知らないところで悪影響でそうで…
666 名前:nobodyさん mailto:sage [2009/09/08(火) 00:43:09 ID:???] >>665 if (is_array($string)) return $string; で運用してるけど特に問題は無いよ。 配列が来た場合は、全ての要素を再帰的に処理するとかも試したけど、何か不都合があって止めた記憶・・・。 plugins_fix ディレクトリを作り、modifier.escape.php をコピーして修正を施す。 $smarty->plugins_dirの先頭にplugins_fixディレクトリを追加する。 って方法で修正を当てている。 default_modifiers使うと{debug}にも影響が出るから、同様に修正を当てたファイルをplugins_fixディレクトリに置いてる。
667 名前:nobodyさん [2009/09/08(火) 00:47:00 ID:qSoCHGpf] >>666 詳しい説明ほんとにありがとうございました debugってまだやったことないのでそっちはわからないですが、参考にさせてもらいます ありがとうございました。
668 名前:nobodyさん mailto:sage [2009/09/20(日) 18:33:32 ID:???] だれか公式以外でsmartyダウンロードできるところ知らない? クソ公式落ちまくっててDLできないんだけど www.smarty.net/ だれかソースくらいは分散しとけって忠告してやれよ
669 名前:nobodyさん mailto:sage [2009/09/20(日) 18:55:26 ID:???] 落とせるじゃん
670 名前:nobodyさん mailto:sage [2009/09/20(日) 19:52:57 ID:???] 復旧した
671 名前:nobodyさん mailto:sage [2009/09/24(木) 18:00:24 ID:???] 初心者なのであまり良く分からないのですが、テンプレートエンジンはSmarty以外に別のテンプレートも同時使用出来るのでしょうか? JavaScriptのライブラリのように互いに干渉してしまったりするのでしょうか? また、調べてみると、何かテンプレートを扱う為にはPHPを学んでいても1〜数週間は馴れるまでかかると書いてありました ですのでまず最初に一つテンプレートを使用してみようと思っているのですが、やはりSmartyが一番良いのでしょうか?
672 名前:nobodyさん mailto:sage [2009/09/24(木) 18:07:40 ID:???] まずテンプレート抜きでPHPを身に付けたほうがいいかと
673 名前:nobodyさん mailto:sage [2009/09/25(金) 14:31:20 ID:???] SmartyってPHP習得した後にやろうとするとハッキリ言って困惑するよな 何だコレ?って感じ 今までPHP学習してきたのってあんま意味無いじゃんって思ったよ 例えばforeachとかさ HTML?っても最初思った
674 名前:nobodyさん mailto:sage [2009/09/25(金) 14:34:03 ID:???] PHP習得した後にやらないでいつやるんだよ
675 名前:nobodyさん mailto:sage [2009/09/25(金) 15:24:47 ID:???] 誰もが通る道さ・・・ それを不毛と感じるか、テンプレートエンジンの利点に気がつけるかでPGとしての資質がわかる。
676 名前:nobodyさん mailto:sage [2009/09/25(金) 15:39:52 ID:???] いや普通につくればphpのforeachもsmartyのforeachも必要だろ。
677 名前:nobodyさん mailto:sage [2009/09/25(金) 21:46:51 ID:???] そういう事言ってるんじゃないだろ。
678 名前:nobodyさん mailto:sage [2009/09/25(金) 21:47:21 ID:???] じゃどういうことよ
679 名前:nobodyさん mailto:sage [2009/09/25(金) 22:57:18 ID:???] 同じforeachでも書き方が違って、最初戸惑うってことだろ?
680 名前:nobodyさん mailto:sage [2009/09/25(金) 22:59:20 ID:???] えっ
681 名前:nobodyさん mailto:sage [2009/09/25(金) 23:47:30 ID:???] ちゅう
682 名前:nobodyさん mailto:sage [2009/09/26(土) 02:10:40 ID:???] Smarty 3 is almost here! [24-Sep-2009] Yes, yes I know. The Smarty 3 beta is taking much longer than expected, but we wanted to be sure we had everything right. Our preliminary performance tests are already showing us very promising speed improvements over Smarty 2 (2-5x on average), and we're not done! To recap, Smarty 3 is a 100% rewrite from the ground up, and it is PHP 5 only. We will be getting a feature list up with the Beta, but let me give a quick summary:
683 名前:nobodyさん mailto:sage [2009/09/26(土) 04:04:41 ID:???] 早くなるのはいいな。でも、100%書き直したとなると、いろいろ仕様変わってるのかな。
684 名前:nobodyさん mailto:sage [2009/09/26(土) 09:50:48 ID:???] 100パー書き直したのと、仕様が変わるかどうかは直結しない話でしょう。 むしろ直結するのはバグ率。
685 名前:nobodyさん mailto:sage [2009/09/26(土) 15:22:15 ID:???] 3触ったけどまだ重くて使い物にならないよ。パーサがまともになったせいだろうけど、レンダリングがかなり遅い。 まだかなりバギーだし仕様も固まり切ってないみたいだし、正式リリースは来年末くらいじゃね。
686 名前:nobodyさん mailto:sage [2009/09/28(月) 02:57:25 ID:???] >>684 直結はしないがPHP周辺ではよくある話だな。 関数を修正してみたら引数の書き方が変わったでござるの巻
687 名前:nobodyさん mailto:sage [2009/09/28(月) 17:38:33 ID:???] Smarty以外で他にいいテンプレートって何?
688 名前:nobodyさん mailto:sage [2009/09/28(月) 19:12:27 ID:???] >>687 ttp://www.mimoi.com/product/53
689 名前:nobodyさん mailto:sage [2009/09/29(火) 19:25:53 ID:???] 一応技術板なんだしせめてこのぐらいは・・・ www.j-tsugawa.com/jt-020621-EB3101-G.jpg
690 名前:nobodyさん mailto:sage [2009/09/29(火) 19:36:34 ID:???] プラスチックが乾いてて、持ち上げようとしただけで割れてしまいそうだ・・・
691 名前:nobodyさん mailto:sage [2009/10/01(木) 12:03:22 ID:???] 流れ図記号は全部○を使っているのは俺だけだろうか。
692 名前:nobodyさん [2009/10/01(木) 18:28:48 ID:KASc2bqu] //PHP側 $list[0]["text"] = '{ImageBox file="test.jpg"}'; //テンプレート側 {foreach from=$list item="data"} {$data.text} {/foreach} 独自関数「ImageBox」で指定したファイルが表示されるようにしたいと思い、 配列をforeachで出力させようとしました。 しかし、{ImageBox}の箇所が変換されずにそのまま文字として出力されます。 指定方法が間違っているのでしょうか? わかりづらいかと思いますが、アドバイスいただければ助かります。
693 名前:nobodyさん mailto:sage [2009/10/01(木) 20:50:56 ID:???] PHP側では展開されません。
694 名前:nobodyさん mailto:sage [2009/10/01(木) 21:02:54 ID:???] そりゃ$list[0]["text"]の内容を書き出してるだけだからな。 phpなら可変関数使うところだが Smartyはプラグインで可変関数の実装を作らないとダメかも。
695 名前:692 mailto:sage [2009/10/02(金) 00:20:33 ID:???] >>694 foreachで出力される時に、 変数内のSmarty関数も変換されると思ったのですが、 どうやら違うみたいなんですね・・。 プラグインで実装させるとか、難しそうだ・・・
696 名前:nobodyさん mailto:sage [2009/10/02(金) 00:35:40 ID:???] そのImageBOXで出力されるものを$out_ImageBOXとか変数に入れ込んでおけば?
697 名前:柏アラフォーパパン& ◆.d6LNJ2fbM.9 [2009/10/02(金) 15:06:34 ID:bCUcRsfE] dsd
698 名前:nobodyさん mailto:sage [2009/10/03(土) 17:55:56 ID:???] 文字列をテンプレート処理出来るメソッドでも作ればいいんじゃないかね。 $list[0]["text"] = $smarty->fetchFromString('{ImageBox file="test.jpg"}');
699 名前:nobodyさん mailto:sage [2009/10/03(土) 17:57:12 ID:???] $list[0]["text"] = 'test.jp'; {foreach from=$list item="data"} {ImageBox file=`$data.text`} {/foreach} じゃ駄目なのか?
700 名前:nobodyさん mailto:sage [2009/10/03(土) 18:51:58 ID:???] よほど特殊な処理をさせたいのでなければ>>699 に落ち着くと思う。 まあそういうのはやはりPHPでやるべきだろうな。 smartyは最終出力だけにしておこう。
701 名前:692 mailto:sage [2009/10/04(日) 00:06:35 ID:???] >>699-700 その方法だと$listに必ず「ImageBox」が無いと駄目です。 ブログみたいに他のタグも挿入したい場合使えないので、 変数(というか配列に入れた値)に、Smartyタグを入れる事を思いつきました。 それで698さんが掻かれているようなプラグインを作って 一旦Smartyタグを処理させてから配列に入れれば、 foreachで出力しても表示されます。 しかし、当然ながらコンパイルファイルが作成されるので その分ページの生成に時間がかかることになってしまいました・・。 (キャッシュを使えば良いだけですが、なんか気になりました
702 名前:692 mailto:sage [2009/10/04(日) 00:08:43 ID:???] ちなみに以下のサイトを参考にしました。 ttp://d.hatena.ne.jp/lapis25/20080908/1220861488 >>698 さんのソースを頼りに検索したらヒットしました。 凄く参考になりました。ありがとうございます。
703 名前:nobodyさん [2009/10/11(日) 13:15:33 ID:gYB28ahJ] すみません、質問です smartyで{if}の中で出力したりすると、このsmartyタグのせいで発生した改行やらスペースやらが HTMLにもモロに出てしまって美しくありません どうにかする方法ないでしょうか?
704 名前:nobodyさん mailto:sage [2009/10/11(日) 14:25:24 ID:???] {strip}{/strip} で囲うべし。
705 名前:nobodyさん mailto:sage [2009/10/11(日) 15:23:00 ID:???] >>704 かっこわるいです。次の方お願いします。
706 名前:nobodyさん mailto:sage [2009/10/11(日) 15:43:55 ID:???] 反論ではないけど、 おれはHTMLの頭から終わりまでstripで囲ってるよ。 改行、空白によるブラウザの変なバグにも遭遇しないし、 何より若干ではあるものの軽くなる。 かっこいいかどうかで言えば、おれは改行なしのほうがかっこいいと思う。
707 名前:nobodyさん mailto:sage [2009/10/11(日) 16:11:57 ID:???] 意図した改行を入れたい場合はどうしてるん? <textarea>の中身とか
708 名前:nobodyさん mailto:sage [2009/10/11(日) 17:59:26 ID:???] >>704 おおー、そうだそれがありました ありがとうございました >>707 <textarea><$hoge|nl2br></textarea>じゃ対処できないもの?
709 名前:nobodyさん mailto:sage [2009/10/11(日) 18:22:54 ID:???] 改行を残したい箇所を 逆にliteralで囲う。
710 名前:nobodyさん mailto:sage [2009/10/12(月) 00:52:20 ID:???] JavaScriptとか、改行に意味を持つ言語が混在する可能性を考えると一括して{strip}するのは得策じゃない気がする。
711 名前:nobodyさん mailto:sage [2009/10/13(火) 01:13:00 ID:???] >>703 そこまで気にするなら {if} {assign var="hoge"} {else} {assign var="hoge"} {/if} <textarea> {$hoge} </textarea>
712 名前:nobodyさん [2009/10/13(火) 23:52:48 ID:B+0jNtpm] Smarty3期待アゲ
713 名前:nobodyさん [2009/10/14(水) 00:10:46 ID:k/3ZY/k4] 質問です。 ↓の、アンパサンドって何の意味があるのでしょうか? $smarty =& new Smarty;
714 名前:nobodyさん mailto:sage [2009/10/14(水) 00:27:06 ID:???] 参照代入
715 名前:nobodyさん mailto:sage [2009/10/14(水) 00:36:04 ID:???] >>713 ないよ。 PHP4でも5でもnewはリファレンスを返すんだけど、 PHP5でそれが明言されるまではnewを=するとnewなオブジェクトがコピーされるという迷信があった。 だから=&と書いてるところがたまにあるけど、Smartyマニュアルでも普通に=だ。 要するに、単なる誤解が生んだもの。
716 名前:nobodyさん mailto:sage [2009/10/14(水) 00:47:30 ID:???] >>715 ほんとに? 俺も参照代入だよって説明どこかで読んだなぁ あの解説ウソついたのかしら?
717 名前:nobodyさん mailto:sage [2009/10/14(水) 01:06:18 ID:???] 4なら意味あると思うが
718 名前:nobodyさん mailto:sage [2009/10/14(水) 01:30:24 ID:???] >>715 つ ttp://jp2.php.net/manual/ja/language.oop.newref.php どこでそんな嘘をきいたん? ちなみに5でも代入で変数のコピーが行われるのは同じ。 違うのはオブジェクトのコピー時の内部動作がハッシュテーブルの複製から オブジェクトの実体の参照カウンタ操作になっている点。(zvalの参照カウンタとは別ね)
719 名前:nobodyさん mailto:sage [2009/10/14(水) 03:14:45 ID:???] ちょっとコード書いて実験すればわかるだろ 俺面倒だからパスね
720 名前:nobodyさん mailto:sage [2009/10/15(木) 18:15:01 ID:???] みんなこんな曖昧なままに済ましてきたってことはあまり使ってない機能ってことかな 俺も使った覚えないわ、マニュアル本にも例なんてないし。損してるんだろうか。。
721 名前:nobodyさん mailto:sage [2009/10/16(金) 11:58:47 ID:???] オブジェクトのリファレンスか。 使い道が思いつかんでもないが実際に 使う場面ってそうそうなさそうな。
722 名前:nobodyさん mailto:sage [2009/10/20(火) 06:10:16 ID:???] Smarty 3だれか使ってみた??
723 名前:nobodyさん mailto:sage [2009/10/20(火) 10:43:32 ID:???] 使ってみた
724 名前:nobodyさん mailto:sage [2009/10/21(水) 00:53:52 ID:???] Smarty3微妙だなぁ・・・相変わらず癖の強いコーディングで読むの疲れる。 extendリソースがあるんだけど、使い方解る人いる?
725 名前:nobodyさん mailto:sage [2009/10/21(水) 10:25:55 ID:???] 結局Smartyなんてassign、display、{if}、{foreach}だけで十分じゃん というかコレが核だと思う 後は必要に応じて・・・って感じで十分だし
726 名前:nobodyさん mailto:sage [2009/10/21(水) 10:59:25 ID:???] Smarty3のプラグインは何故グローバル関数なんだろ? どこら変がPHP5 OOPなんだよ
727 名前:nobodyさん mailto:sage [2009/10/21(水) 22:34:20 ID:???] プロパティもメソッドも全部publicは鬼だ 一方、__callでメソッドの外部化をしてる extendリソースってどれ??
728 名前:nobodyさん mailto:sage [2009/10/22(木) 01:31:12 ID:???] >>727 sysplugins/internal.resource_extend.php ソースコメント読む限りでは他テンプレートエンジンのextendっぽいんだけど、 リソースとして定義されてるので、どう使っていいかよくわからんw getTemplateSource()読むと、超強引にblockタグとか置換してるみたいなのであまり有用ではなさそうだけど・・・('A`; 2から乗り換える利点がまだ見えないなぁ
729 名前:nobodyさん mailto:sage [2009/10/22(木) 11:33:30 ID:???] >>725 そんなこといったらPHPだって
730 名前:nobodyさん mailto:sage [2009/10/24(土) 20:08:39 ID:???] smarty使ってるレンタルブログサイトとかないの?
731 名前:nobodyさん mailto:sage [2009/10/25(日) 04:49:32 ID:???] >>730 あるとしてもユーザにSmartyフォーマットでのカスタマイズを許可するとは考えにくいな。
732 名前:nobodyさん mailto:sage [2009/10/25(日) 08:28:37 ID:???] >>730 別にsmartyに限らず、独自の記法などで対応してるところはある。 Smartyじゃないとダメなら自分で作ればいいジャマイカ。
733 名前:nobodyさん mailto:sage [2009/10/27(火) 00:14:32 ID:???] 中身はsmartyだけど、smartyフォーマットは使わせないようにして <%hogehogeLoop>と書いたら{section name=hoge loop=$id} になるように置換してるブログシステムはあるかもしれない 大体は自前でやってるか、MovableTypeの改造版じゃないかな
734 名前:nobodyさん mailto:sage [2009/10/27(火) 12:20:20 ID:???] >>725 それだけしか使わないならもっと速いテンプレートエンジンあるんじゃない?
735 名前:nobodyさん mailto:sage [2009/10/27(火) 12:23:42 ID:???] >>734 それなんてPHP?
736 名前:nobodyさん mailto:sage [2009/10/27(火) 20:55:46 ID:???] カラーミーショップ プロ ttp://shop-pro.jp/ ブログじゃなくてネットショップだけど、テンプレートにsmarty使ってるね EC CUBEの改造版なんだろうけど
737 名前:nobodyさん mailto:sage [2009/10/27(火) 21:04:25 ID:???] Smartyでレンタルブログ運営したら重くてしかたないんじゃない? ユーザー大量にいたらキャッシュ効かせても厳しい気がする
738 名前:nobodyさん mailto:sage [2009/10/28(水) 05:06:51 ID:???] それは設計の問題であり、Smatyが原因にはなり得ない。
739 名前:nobodyさん mailto:sage [2009/10/28(水) 11:11:33 ID:???] Smartyの設計の問題ってことですね
740 名前:nobodyさん mailto:sage [2009/10/28(水) 13:46:19 ID:???] おしい。Smartyを使う人の設計の問題。
741 名前:nobodyさん mailto:sage [2009/10/28(水) 15:26:33 ID:???] >>737 気のせい
742 名前:nobodyさん mailto:sage [2009/10/29(木) 11:06:44 ID:???] いい話題がありませんねー
743 名前:nobodyさん mailto:sage [2009/10/29(木) 21:54:28 ID:???] gooブログの有料版の説明のとこにこんな記述がある {include file="/home/gooblog/Smarty/blog/templates/comment_link.tpl"} パスにSmarty入ってますがな
744 名前:nobodyさん mailto:sage [2009/10/30(金) 22:56:36 ID:???] 実際にロジックとテンプレート合わせないとテンプレート側の文法の間違い分からないの?
745 名前:nobodyさん [2009/11/01(日) 07:20:38 ID:ZF01kyEW] Smarty 3.0 Beta 1 Released
746 名前:nobodyさん mailto:sage [2009/11/01(日) 10:57:23 ID:???] >>744 確かにできないな まあ元々プログラマーと別環境で作業すること自体難しい気はするが。 >>745 モノリンガルの俺には厳しいようだ
747 名前:nobodyさん mailto:sage [2009/11/01(日) 11:05:45 ID:???] >>745 突撃してみるか
748 名前:nobodyさん [2009/11/09(月) 13:54:09 ID:jgJG5jOb] テンプレートに定義していないコード(例えば{test}など)がある場合、 Smarty errorが表示されます。 このエラーを表示しない方法はないのでしょうか? PHPのエラー表示をしない事で対処するしかないのでしょうか?
749 名前:nobodyさん mailto:sage [2009/11/09(月) 14:06:20 ID:???] trigger_errorしてるところをスキップしちゃえば?
750 名前:nobodyさん [2009/11/09(月) 20:59:58 ID:I33d9sv+] $error_reporting ↑これ?
751 名前:nobodyさん [2009/11/11(水) 19:01:43 ID:0BFUpwQj] Smartyって、テンプレートの中にテンプレートを読み込むようなことできる? ある変数の値によって、特定の領域の内容をかなりダイナミックにレイアウトごと変更させたいんだけど 変化のバリエーションがかなり多いんで{if}でパターン分け記述するのはあまり現実的じゃないんだよね 外部でhtmlとして整形したものを丸ごとコントローラでassignさせて飲み込ませるしかないかな?
752 名前:nobodyさん mailto:sage [2009/11/12(木) 03:03:02 ID:???] そのレベルも調べられないお前には無理だ。
753 名前:nobodyさん [2009/11/12(木) 07:44:56 ID:dv0ticwo] Smarty 3.0 Beta 2 Released
754 名前:nobodyさん mailto:sage [2009/11/12(木) 11:31:04 ID:???] >>752 おー、サンキューサンキュー♪ includeって機能があったんだね、この辺から調べてみるよ たすかったわほんと、ありがとね
755 名前:nobodyさん mailto:sage [2009/11/12(木) 12:04:54 ID:???] test
756 名前:754 [2009/11/12(木) 19:22:51 ID:SoSJwGM8] ごめん、相談させて欲しい hoge.tplに {insert name="hogeAction" title="テスト" script="hoge_action.inc.php"} って書いて、 同じディレクトリにあるhoge_action.inc.php に <?php function smarty_hogeAction($param, $smarty){ return 'あいうえお'; } ?> って書いたんだけど「あいうえお」の出力がされない。 ($param, $smarty)の引数を消して function smarty_hogeAction(){… とやってもダメだ。 何が問題かな? ご意見よろしくお願いします
757 名前:nobodyさん mailto:sage [2009/11/12(木) 19:58:44 ID:???] 書き間違えた × smarty_hogeAction ○ insert_hogeAction でやってます
758 名前:756 mailto:sage [2009/11/12(木) 22:52:47 ID:???] どうも、自己解決しました。 お騒がせしました
759 名前:nobodyさん mailto:sage [2009/11/13(金) 13:18:08 ID:???] どういう解決方法?
760 名前:756 mailto:sage [2009/11/13(金) 14:36:48 ID:???] 勘違いしてたというか参考にしてたページがわかりにくかったというか、 要するに .tplでの記述は {insert name="hogeAction"} スクリプトファイルは insert.hogeAction.php ファイルの格納場所は /pluginsディレクトリ として入れてりゃ良いだけの話だった。自前modifierとかわらんかった。 insertタグのscript属性とかなくても良いものを必須みたいに書いてたり、 関数名(function insert_hogeAction(-,-){-})を嘘書いてるサイトみて 変なことやりまくってたよ。恥。
761 名前:nobodyさん mailto:sage [2009/11/13(金) 14:58:34 ID:???] 公式マニュアル見ればよかったのにね
762 名前:756 mailto:sage [2009/11/13(金) 15:11:57 ID:???] >>761 うん、公式がイマイチわからなくて他のサイトみてたらハマっちゃって。 今また公式見返してるけどやっぱりよくわからない www.smarty.net/manual/ja/language.function.insert.php 「{insert} 関数の名前は、 ネームスペースの衝突を避けるために "insert_" によって始まる必要があります。」 ってあるけど、それじゃ上手くいかなくて smarty_insert_hogeAction() って形でやっと上手くいったからなぁ… こっちの方が公式よりわかりやすかった、俺が物わかり悪いんだろうけど www.y2sunlight.com/ground/?PHP5.0%2F8.Smarty%A4%F2%CD%FD%B2%F2%A4%B9%A4%EB
763 名前:nobodyさん mailto:sage [2009/11/13(金) 15:22:56 ID:???] そりゃプラグインとしてファイルを自動読み込みさせてるからだ www.smarty.net/manual/ja/plugins.naming.conventions.php >PHP ファイル内で定義する プラグイン関数 は次のように指定します。 >smarty_type_name()
764 名前:756 mailto:sage [2009/11/13(金) 16:02:41 ID:???] >>763 そうなの。おおお、疑問の本質に近づいてきた、質問させて。 じゃあsmarty_insert_xxx じゃなくて insert_xxx()ってのはプラグイン(別ファイル自動読み込み)じゃないのか。 そもそもinsert_xxx()ってどこに書くの? $smarty->assign("msg","hello"); みたいな処理を書いてるコントローラ?の.php? それがわからなくてあっちこっち見る迷走がスタートしたんだ
765 名前:nobodyさん mailto:sage [2009/11/13(金) 16:19:30 ID:???] 偉そうなので教えん
766 名前:nobodyさん mailto:sage [2009/11/13(金) 20:01:32 ID:???] 自分で試せばいいのに。
767 名前:nobodyさん mailto:sage [2009/11/14(土) 14:51:09 ID:???] キャッシュ効かせても速度あんまり変わらなくね?なんなのこれ
768 名前:nobodyさん mailto:sage [2009/11/14(土) 19:37:58 ID:???] 下記のように、フォームでエラーがあればp要素を表示、なければ何も表示しない場合、 みなさんは、どこまで、どんな方法でテンプレートを利用していますか? <p class="error">※必須項目です。記入してください。</p> <p><input type="text" name="mail" value=""></p> 1. エラーメッセージは最初からpでマークアップ済み、そのままassign、smartyには{}のみ {$errors.mail} 2. エラーメッセージはテキスト、assign時に空欄かどうか判定してpでマークアップ、smartyには{}のみ {$errors.mail} 3. $errorsにはテキスト、そのままassign、smartyで{if}処理 {if $errors.mail}<p class="error">{$errors.mail}</p>{/if} 4. $errorsにはテキスト、そのままassign、smartyで関数処理 {$errors.mail|markupFunction} デザイナさんと分業する場合、 プログラム側がマークアップに関わらない3.が一番いい気がしているのですが、 少しテンプレートファイルが煩雑になるのが気になったりもします。 エラーメッセージマークアップ用の小さなテンプレートファイルを作っておいて、 4.のmarkupFunctionから読み出して利用すると比較的キレイな気もしますが、 テンプレートファイルが小分けになるのも煩雑といえば煩雑な気もします。
769 名前:nobodyさん mailto:sage [2009/11/15(日) 03:44:59 ID:???] >>767 Apacheの連続アクセステストしたけど、アクセス回数が多ければ多いほど キャッシュの効果は効いたよ。ただし、1.2〜3倍速くなる程度だけど。 >>768 ブログのテンプレみたいなのを作ってるが、3が一番良いよ。 MTなんかもそうだし。
770 名前:nobodyさん mailto:sage [2009/11/15(日) 07:22:36 ID:???] 自分はクラスだけでやってる。 エラーは常に埋め込まれ、CSSで非表示にしておく。もしエラーなら親要素にerrorというクラスを与えて、その子要素のエラーを表示するCSSを書いておく。 div p{ display:none } div.error p{ display:block } これでエラー時のテキストもデザイナー側で書ける。 親要素は <div class='{$error.title}'> って感じで、タイトル項目がエラーなら error.title に 'error' を assign しておくだけ。
771 名前:潔癖プログラマ mailto:sage [2009/11/15(日) 10:24:50 ID:???] >>769 やはり3.ですか。 ただその場合 $errors.mailに値があればいいんですけど、 値がなくifがfalseになると、その行末の改行が無視されて 次の行のインデントが崩れちゃうのが気になります。 {/if}のあとに空白1文字入れとくと回避できますが、 「よろしくないテクニック」っぽくて好きになれません。 >>703 でも話題にでていたようですが、 このsmartyの仕様は気に入りません(苦笑)。 {if $errors.mail} <p class="error">{$errors.mail}</p> {/if} こんな感じで3行使うのがいまのところ最善か。 テンプレートファイルがますます煩雑に…(苦笑)。 >>770 CSSのdisplayだけで制御するのは、 自分も一瞬頭をよぎったことはありますが、 やはり気持ちが悪いですごめんなさい。 あとエラー時のテキストが「入力内容をご確認ください」程度ならいいけど、 「メールアドレスが正しくありません」 「必須入力項目です」 「文字数が多すぎます」 とか丁寧に表示してあげる場合に対応しにくい気がします。
772 名前:nobodyさん mailto:sage [2009/11/15(日) 21:24:49 ID:???] >>770 CSS切っている環境とか携帯対応を考えた場合は向かない仕様だな
773 名前:nobodyさん mailto:sage [2009/11/15(日) 22:48:09 ID:???] んなもん、{$err} にしといて、 errに <p class="error">エラーメッセージ</p> ぶち込みだわ。
774 名前:nobodyさん mailto:sage [2009/11/16(月) 00:55:30 ID:???] >>768 汎用性やら考えると3じゃないかな。 他の方法だと、特定箇所だけ見た目を変えたい時にデザイナ側で対応しにくい気がする。 テンプレートを関数もどきとして使うような方法もありかもしれない。 // エラー表示箇所 {include file="error.tpl" error=$errors.mail} // エラー表示テンプレート error.tpl {if $error} <p class="error">{$error}</p> {/if}
775 名前:潔癖プログラマ mailto:sage [2009/11/16(月) 09:18:08 ID:???] >>774 なるほど。4.の別解のような感じですが、 それだとincludeするテンプレファイルまでデザイナさんに任せられるので、 複数パターンのテンプレファイルが用意できたり汎用性が高そうですね。 図らずも(?)、{if}による改行問題も、 別ファイルに追い出すことで解決できてるし、 なかなか良いかもしれません。
776 名前:nobodyさん [2009/11/16(月) 12:51:37 ID:tubifOLG] Smartyは遅いって意見ありますが、体感レベルで明らかに遅いですか? 1秒2秒遅くなった経験がある人いるんでしょうか?
777 名前:nobodyさん mailto:sage [2009/11/16(月) 23:39:48 ID:???] そんなに遅くないよ。 「遅い」って感じるのは鯖が悪いんだろ
778 名前:nobodyさん mailto:sage [2009/11/17(火) 02:12:17 ID:???] >>776 古いサーバPC上でキャッシュを無効にして使っても、0.001秒の処理が0.002秒になる程度。 数値的には2倍だが、体感的にはまずわからない。 素のPHPコードに比べたら遅いと言えるが、 個人的にはメリットの方が桁違いに上かな。
779 名前:nobodyさん mailto:sage [2009/11/17(火) 02:16:05 ID:???] >>777 ,778 よかったー。いかにもノロノロしてるような状態になるのかと思いました。 安心して作れます、ありがとう
780 名前:nobodyさん mailto:sage [2009/11/17(火) 03:18:29 ID:???] じゃキャッシュのメリットって何?って感じだな
781 名前:nobodyさん mailto:sage [2009/11/17(火) 06:08:10 ID:???] Smarty 3.0 Beta 3 Released ペース早いな
782 名前:nobodyさん mailto:sage [2009/11/17(火) 13:05:14 ID:???] >>780 更新が少ないもしくは、更新タイミングが決っている場合にキャッシュ有効にすればいい。 大規模サイト用のチューニング項目だと思えばいいんじゃないかね。
783 名前:nobodyさん mailto:sage [2009/11/17(火) 15:47:08 ID:???] >>780 769にも書いたけど、負荷テストした時は効果合ったよ。 同時アクセス100とか1000の場合に。
784 名前:nobodyさん mailto:sage [2009/11/19(木) 15:56:07 ID:???] 多数の他人に更新させる場合はキャッシュオフ? 掲示板とかね 有効にしといて書き込まれたタイミングでキャッシュ削除するのかな
785 名前:nobodyさん mailto:saga [2009/11/20(金) 13:27:52 ID:???] ぴーえちぴー5.3.0 りなくす Smartyでテンプレートが無い場合に白い画面になっちゃうんで、エラーをハンドリングしたいんですけど出来ないでしょうか? テンプレートがあるか判定なんてめんどーなことしないといけないんですかね?
786 名前:nobodyさん mailto:sage [2009/11/20(金) 13:53:02 ID:???] できるでしょ そもそもfatal errorなり出るはず
787 名前:nobodyさん mailto:sage [2009/11/20(金) 13:55:42 ID:???] PHPのerror_reportingが0になってるとかじゃね?
788 名前:nobodyさん [2009/11/20(金) 14:07:49 ID:L1RHfQMx] try { $smarty->display($tpl); } catch { なんたら } みたいにやりたいです。 エラーレポ調べてみます。
789 名前:nobodyさん [2009/11/20(金) 14:24:17 ID:L1RHfQMx] error_reportingはnullのようです。ログに出して確認。 3に設定して見ましたが例外はキャッチできませんでした。3が間違いなんでしょうか? >>786 それは戻り値として出るということですか?
790 名前:nobodyさん mailto:sage [2009/11/20(金) 14:27:34 ID:???] >>789 error_reporting(E_ALL);
791 名前:nobodyさん mailto:sage [2009/11/20(金) 14:30:40 ID:???] >>789 もしかしてxampp?
792 名前:nobodyさん [2009/11/20(金) 14:32:43 ID:L1RHfQMx] displayのソース見ましたが、エクセプションはスローされないようですね… 素直にtemplate_exist使いたいとおもいます。 >>786 voidですね。
793 名前:nobodyさん mailto:sage [2009/11/20(金) 15:02:58 ID:???] fatal error出るでしょに対する返答がvoidですとか謎い
794 名前:nobodyさん [2009/11/20(金) 15:05:46 ID:L1RHfQMx] display_errors = Off ↓ display_errors = On httpd restart error_reporting(E_ALL); try { $smarty->display($tpl); } catch { なんたら } >>791 XAMPPじゃないです。それぞれソースからいれました。
795 名前:nobodyさん [2009/11/20(金) 15:09:05 ID:L1RHfQMx] あ、794の結果はダメでした。同じ結果で白い画面になります。 >>793 789への自己レスです。
796 名前:nobodyさん mailto:sage [2009/11/20(金) 15:12:27 ID:???] ちょろっとググってみたらこんなんもあった (2)Smartyのファイルを調べてみる 画面が真っ白になった原因として、Smartyのファイルが壊れていることがあるのです。 xoops-manual.net/modules/smartsection/item.php?itemid=17
797 名前:nobodyさん mailto:sage [2009/11/20(金) 15:14:35 ID:???] >>794 テンプレートファイルが無かった場合に出るエラーは Smarty.class.phpの1591行目くらいにある $this->trigger_error('unable to read resource: "' . $params['resource_name'] . '"'); でしょ? で、例外をスローさせるための案 1.当該箇所を書き換える 2.Smartyクラスを継承したMySmartyクラスを作って_fetch_resource_infoメソッドをオーバライドする 3.set_error_handler関数でwarningが発生した時に例外投げるようにする xamppじゃないとのことなので真面目に答えてみました
798 名前:nobodyさん [2009/11/20(金) 15:25:36 ID:L1RHfQMx] >>797 おぉ、まさに欲しかった回答です。 ありがとうございます。 そのワーニングで間違いないです。 1…書き換えるのは好きじゃないです。 2…うーん、処理に悩みそうです。 3…これが簡単そうです。 ちょっとがんばってみます。 たすかります。
799 名前:nobodyさん mailto:sage [2009/11/21(土) 10:25:34 ID:???] fetchってどういうとき使うの?
800 名前:nobodyさん mailto:sage [2009/11/21(土) 11:47:09 ID:???] 自動送信・返信メールの文面とか。
801 名前:nobodyさん mailto:sage [2009/11/21(土) 13:04:20 ID:???] >>800 ありがと、メールのテンプレか 就活してたときの毎ナビか何かの企業からメールに 『こんにちわ寒くなりましたね、{$username}さん』 とか、書いてあったのを思い出した
802 名前:nobodyさん mailto:sage [2009/11/21(土) 15:18:41 ID:???] >>798 普通は三番 サンプルは沢山見つかる
803 名前:nobodyさん [2009/11/26(木) 11:34:27 ID:tP8Fcb0C] しつもんです parent.tpl中で、includeを使ってテンプレート化したヘッダを読み込ませたいと思ってるんですが テンプレート(header.tpl)をページの種類に応じて動的に変更させたいときの手順がよくわからないです。 たとえば、動物の紹介ページでは動物の一覧を、自動車の紹介ページでは自動車の一覧をヘッダに表示したい時、 表示対象の画像や情報(動物写真/自動車写真、それぞれの名前情報など)は、includeタグの中に変数として 持ち込むしかないのでしょうか? 自分のイメージでは{include file='header.tpl' pageType='animal'}として、 変数値animalを受け手のテンプレで解釈してそれを元にDBから必要データを取得できたらいいなと思ったんですが。 (なるべく一カ所で取得プロセスを管理したいので) そんなのは無理で、あらかじめ親のparent.tpl=parent.phpで必要データを取得して、 それをincludeに変数で渡すしかないという結論でいいのでしょうか? 今思いついた方法は、incudeタグ中の変数でpageType='animal'と渡して、それをheader.tplで 自前のmodifierに譲渡しそこから必要データ取得→出力の流れです。 もっとスマートなやり方ないでしょうか? アドバイスお願いします
804 名前:nobodyさん mailto:sage [2009/11/26(木) 15:51:29 ID:???] >>803 何を言ってるのか良く分からないけど >変数値animalを受け手のテンプレで解釈してそれを元にDBから必要データを取得できたらいいなと思ったんですが すればいいのでは?
805 名前:nobodyさん mailto:sage [2009/11/26(木) 15:52:24 ID:???] 補足、テンプレートファイルで解釈するのではなくPHP側でという意味で。
806 名前:nobodyさん mailto:sage [2009/11/26(木) 16:04:59 ID:???] 余計意味がわからない。 なぜmodifier?function作れば?
807 名前:803 [2009/11/26(木) 23:09:48 ID:tP8Fcb0C] 皆さんありがとうございます >>804 header.tplって、単独のページとしては存在しないあくまでパーツのテンプレートなので、 index.tplに対するindex.phpの様なコントローラ(?)のファイルってheader.tplにはないのではと 考えたのですが…(header.phpにアクセスすることはないと思うので) 思い違いなのでしょうか? >>806 勉強不足なのかもしれません、functionについて調べてみます。ありがとうございます。
808 名前:nobodyさん mailto:sage [2009/11/26(木) 23:58:18 ID:???] >>807 includeするんだからindex.phpでやればよいのでは?
809 名前:803 mailto:sage [2009/11/27(金) 01:09:41 ID:???] >>808 あ、親のページでってことですか、、なるほど! 1)ページのテーマ(animalとか)を引き渡されてDBに働きかけるphpを外部化し、 2)それをheader.tplの親のanimal.php, car.phpなどに読み込んで、 3)結果をincludeタグ渡す って感じでいいかな。 これならデータの取得部分が複数にばらけることもないのか。。 これのデータ取得の順番を変えたものがfunctionでやるってパターンかもしれない ありがとうございます。チャレンジしてみます
810 名前:nobodyさん [2009/11/29(日) 07:42:11 ID:wdDHDadn] テンプレート関数プラグインのfunction(smarty.hogefunc.php)を作ったんですが、 <?php $var = "abc"; function smarty_function_hogefunc($params, &$smarty){ global $var; return $var; } ?> 上記の内容で <div>text</div>{hogefunc} としてもabcを出力しません、なぜでしょうか? パスが通ってることは確認済みで、 $var="abc"; を echo "abc" とした場合、 abc<div>text</div>の形で出力するようです。 変数のスコープのチョンボをしてるのかなと考えてはみたんですが… function …{〜} の外に書かれたものは正常に処理されないという仕様なんでしょうか? 申し訳ありませんが、ご意見宜しくお願いします
811 名前:nobodyさん mailto:sage [2009/11/29(日) 13:22:28 ID:???] お前は何を言ってるんだ
812 名前:nobodyさん mailto:sage [2009/11/29(日) 14:16:45 ID:???] return "abc"; してみればいいじゃない。
813 名前:810 mailto:sage [2009/11/29(日) 23:16:09 ID:???] >>812 functionの中でreturn "abc"; すると、それは返すんです。 なんでかなぁ >>811 わかりにくかったみたいですみません
814 名前:nobodyさん mailto:sage [2009/11/30(月) 09:19:43 ID:???] functionの中で ・print_r($_GLOBALS)してみる ・echo $varしてみる
815 名前:nobodyさん [2009/12/02(水) 14:25:43 ID:1PNbu+TX] www.youtube.com/watch?v=lsPL2QoElmw www.youtube.com/watch?v=DyzzLwlIcpE www.myspace.com/ametsub3110 www.youtube.com/watch?v=BDD9MZUTQzs www.myspace.com/serphinjapan (www.apple.com/jp/quicktime/download/ ) www.jimbeard.com/boomer.html www.jimbeard.com/Beard%20mp3s/Song%20of%20the%20Sun%20128/Camieff%20Wb.01_01.mp3 www.jimbeard.com/Beard%20mp3s/Song%20of%20the%20Sun%20128/Parsley%20Trees%20Wb.01_01.mp3 www.jimbeard.com/Beard%20mp3s/Truly%20128/Hand%20to%20Hand%20Wb.01_01.mp3 www.jimbeard.com/Beard%20mp3s/Truly%20128/Gonna%20Tell%20on%20You%20Wb.01_01.mp3
816 名前:nobodyさん mailto:sage [2009/12/04(金) 17:16:31 ID:???] smartyのキャッシュを有効にするとサイドバーにinsertしておいたプラグインが上のほうに来てしまうんだけど、何か原因わかりませんか? ブラウザで見るソースとcacheフォルダのキャッシュを見ると、DOCTYPEタグより上にプラグインの中身が出てしまってるんです
817 名前:816 mailto:sage [2009/12/05(土) 18:55:21 ID:???] あー、すげー馬鹿なことやってた insertプラグインって中でechoしちゃダメなのかreturnしないとイケないのか キャッシュオフのときは正常に見えるから気付かなかった
818 名前:nobodyさん mailto:sage [2009/12/07(月) 16:47:15 ID:???] だからいったじゃん
819 名前:nobodyさん [2009/12/09(水) 10:32:51 ID:AWY/enbH] 一部キャッシュして欲しくない部分があるんですが、そこだけ{insert}にして外に出すしかないんでしょうか?
820 名前:819 mailto:sage [2009/12/10(木) 15:56:47 ID:???] なさそうですね
821 名前:nobodyさん mailto:sage [2009/12/13(日) 22:00:00 ID:???] >>820 これだとだめなん? ttp://www.smarty.net/manual/ja/caching.cacheable.php
822 名前:nobodyさん mailto:sage [2009/12/13(日) 23:07:04 ID:???] >>821 ありがとうございました
823 名前:nobodyさん mailto:sage [2009/12/15(火) 15:00:29 ID:???] Warning: Smarty error: unable to read resource: のエラーが出る際に、 自分で作った404エラーページ(のテンプレ)を読み込むことはできますでしょうか?
824 名前:nobodyさん mailto:sage [2009/12/15(火) 15:56:24 ID:???] とりあえずそれは404じゃない。 $error_reportingを参照したらいいとおもう。
825 名前:823 mailto:sage [2009/12/15(火) 16:39:30 ID:???] 自己解決しました。
826 名前:nobodyさん mailto:sage [2009/12/25(金) 18:27:23 ID:???] SmartyってWebで検索してもマニュアルかその複製しか全然情報が出てこないけど、どっかいいサイトないですか? マニュアルはサンプルとか説明が簡単すぎて知りたい情報が出てこないのですが・・・ 例えばdefault_resource_typeプロパティで、デフォルトのfile以外の値を知りたいのに、それどころかサンプルすら書かれていなかったり困ります リソースプラグインの事ももっと知りたいんですが見つかりません PEARでも感じましたが、なんでこう情報が少ないんでしょうかね? マニュアルとそのコピー以外の情報が出てきません
827 名前:nobodyさん mailto:sage [2009/12/25(金) 19:02:01 ID:???] PEARもSmartyも情報は溢れてるよ。 無いのは君の理解力だろう。 Smartyに至ってはマニュアルあれば大抵は事足りる。 リソースプラグインに関しても、マニュアル読んでわからん人には無縁なんじゃねぇかな。 あれ以上丁寧な解説求めるなら金払ってスクールにでも通えばいい。
828 名前:nobodyさん mailto:sage [2009/12/25(金) 21:36:44 ID:???] ソースも結構シンプルだから 謎があったら追い掛けてみたら?
829 名前:nobodyさん mailto:sage [2009/12/26(土) 18:39:45 ID:???] >>827 溢れているとまではいかないんじゃないかと俺は思う
830 名前:nobodyさん mailto:sage [2009/12/27(日) 00:20:26 ID:???] 具体的にどんな情報が欲しいの? 「俺の知りたい情報が無い」ってだけじゃ、教える側もわからんだろう default_resource_typeにしたって、リファレンスのテンプレートリソースとリソースプラグインの項目に十二分な情報載ってると思うしなぁ ここまで枯れた技術なのに、情報が足りないってのは調べる力か理解力が無いとしか思えないんだが
831 名前:nobodyさん mailto:sage [2009/12/27(日) 11:58:44 ID:???] もし情報がなかったとしたらこのスレがもっと賑わってると思うんだ
832 名前:nobodyさん mailto:sage [2009/12/27(日) 13:02:13 ID:???] いやそもそもSmarty使いの絶対数がすくなうわなにをするやめ
833 名前:nobodyさん mailto:sage [2009/12/27(日) 19:56:19 ID:???] >>831 「もし情報があったとしたら〜」なら同意できるんだけどな。 ブログなんかでちょこっと取り上げているサイトはあっても ユーザー同士で語り合うようなコミュニティは無い。 マニュアル見ろよってのは当たり前の行為で、 Smartyはそれ以上の使い方(サイト構築のテンプレ利用など)があるから 使い方やアイディアをまとめたサイトがあれば良いとは思う。
834 名前:nobodyさん mailto:sage [2009/12/27(日) 21:01:57 ID:???] コンパイルせず使う方法ないのかな
835 名前:nobodyさん mailto:sage [2009/12/29(火) 11:19:04 ID:???] >>833 コミュニティか・・・ たとえば2chにSmartyスレたてたらいいんじゃないかな
836 名前:nobodyさん mailto:sage [2009/12/29(火) 11:34:24 ID:???] 名案だな。
837 名前:nobodyさん mailto:sage [2010/01/06(水) 21:51:18 ID:???] 俺もSmartyのしっかりとしたサイトってないなとは思ってた マニュアルって簡潔にまとめられてるからね >>833 の言ってるようなことは俺は分かるね Webだけじゃなく、他にも構築する時にここどうすればいいんだっけ?って時に調べられないからね 情報が少なすぎて
838 名前:nobodyさん mailto:sage [2010/01/07(木) 09:11:46 ID:???] 書籍は? 日本語で複数出版されてるのは恵まれてる方だと思う。 まとめサイトは自分で立ち上げて、ある程度充実させられれば 他の人も情報を集めてくれるようになるかもよ。
839 名前:nobodyさん mailto:sage [2010/01/07(木) 15:20:10 ID:???] Smartyの本ってある? Smarty入門しか知らないけれど・・・?
840 名前:nobodyさん mailto:sage [2010/01/07(木) 16:37:46 ID:???] PHPのウェブアプリの本だとSmarty出てきたりするな
841 名前:nobodyさん mailto:sage [2010/01/07(木) 23:58:21 ID:???] Smartyのキャッシュ機能ってなにをキャッシュしてるん? $smarty->assignで割り当てるのは変数だからキャッシュじゃないし
842 名前:nobodyさん mailto:sage [2010/01/08(金) 00:03:40 ID:???] すまんアホなこと書いた
843 名前:nobodyさん mailto:sage [2010/01/08(金) 09:13:25 ID:???] だから具体的にどんな情報が欲しいんだよw WEBに溢れている情報を漁るだけで、大抵の事は答え一歩手前まで調べられるだろ・・・
844 名前:nobodyさん mailto:sage [2010/01/08(金) 10:58:43 ID:???] Smartyをカッコよく使いこなす方法
845 名前:nobodyさん mailto:sage [2010/01/08(金) 11:57:09 ID:???] 2chで教えて君をしてる時点でかっこわるい
846 名前:nobodyさん mailto:sage [2010/01/08(金) 12:11:21 ID:???] もっとSmartyをスマートに使う方法
847 名前:nobodyさん mailto:sage [2010/01/09(土) 17:17:11 ID:???] 使いこなし方まではWebで出てこないな、確かに
848 名前:nobodyさん mailto:sage [2010/01/17(日) 19:36:43 ID:???] Smarty使う場合はdisplay()以降に処理は記述しない方が吉?
849 名前:nobodyさん mailto:sage [2010/01/18(月) 03:14:17 ID:???] 凶
850 名前:nobodyさん mailto:sage [2010/01/18(月) 11:28:14 ID:???] 別にそんなことはないかと思うが 2枚以上のテンプレートをdisplay()する場合もあるし
851 名前:nobodyさん [2010/01/18(月) 14:06:09 ID:AGLkXiCO] smarty2では $smarty->assign('pref', array('01' => '北海道', '02' => '青森')); {$pref.01} で北海道が取れていたのだけど、 Smarty3Beta板では {$pref['01']} としないと取れなくなったのは仕様変更ですか?
852 名前:nobodyさん [2010/01/18(月) 14:06:25 ID:YiIR+7Mx] 質問です。 $hoge = array( array("name" => "aaaaa", "value" => 1), array("name" => "bb", "value" => 2), array("name" => "ccc", "value" => 3), array("name" => "dddddd", "value" => 4) ); $fuga = array( array("value" => 2), array("value" => 4) ); 上記二つのような配列変数があります。 Smartyを使って、$hogeの内容をチェックボックスとして表示しようと思っています。 また、$fugaの内容と一致するvalueの部分を選択状態にしておきたいです。 (例) □aaaaa ■bb □ccc ■dddddd テンプレート側でどのように指定すれば、上記方法を実現できるでしょうか。 {foreach}を使おうと思ってるんですが・・・
853 名前:nobodyさん mailto:sage [2010/01/18(月) 14:25:16 ID:???] >>852 html_checkboxes使うの?それとも手動でやるの?
854 名前:nobodyさん mailto:sage [2010/01/18(月) 15:07:42 ID:???] >>853 手動です html_checkboxesのほうがやりやすいのでしょうか?
855 名前:nobodyさん mailto:sage [2010/01/18(月) 15:59:06 ID:???] >>854 foreachでやるなら普通にループさせて 要素を出すところでifで比較してchecked入れればいいんじゃない? $fugaのデータ構造がそのまま使えなくてちょい面倒だけど 予め使いやすいように変換するか、更にループさせて全件比較すればいいかと
856 名前:nobodyさん [2010/01/20(水) 22:11:47 ID:q80CCbb+] 以下のようにinterfaceによる拡張を試しています。 interface iSmarty { const MY_NAME = "foo"; } class MySmarty extends Smarty implements iSmarty {/*設定*/} {$smarty.const.MY_NAME} 値fooが表示されることを期待したのですが、MY_NAME(定数名)が表示されてしまいます。 マニュアルの{$smarty.const}の項を見ると、defineによる例が掲載されていて 確かにdefineで定義されていれば正しく値が表示されます。 バージョン2.1なのでちょっと古いのかなとも思うんですが、 php5のコードを追加するのは無理でしょうか。
857 名前:856 mailto:sage [2010/01/20(水) 23:35:47 ID:???] すみません、しばらく考えていたのですが、断念することにしました。 拡張も考えてみたのですが、もとがphp4ですから、こちらのPHP環境と合わせて考えると サブクラスで定義した"クラス定数"をテンプレートから呼び出すことは おそらく無理と判断しましたm(_ _)m 確かなことは言えませんが、クラスを変数で参照できるphp5.3以降でなら プラグイン等で機能追加できるような気がします。
858 名前:nobodyさん mailto:sage [2010/01/21(木) 04:40:11 ID:???] php4だから無理ってどういうこっちゃ?どこに書いてあるん? マニュアルの例はもうちょっと落ち着いて見直してみたほうがいいと思うけど
859 名前:nobodyさん mailto:sage [2010/01/29(金) 18:46:34 ID:???] インサートプラグインの中でもテンプレート指定してキャッシュさせてるけど インサートプラグインが1ページに5、6個あるとかなり速度低下してきてしまう
860 名前:nobodyさん mailto:sage [2010/01/30(土) 00:48:00 ID:???] >>859 そんな、あなたにsmarty3の出番ですよ。 プラグインを書く必要ないぞ。
861 名前:859 mailto:sage [2010/01/30(土) 10:34:45 ID:???] え、そうなの?プラグイン書かなくていいってどういうことですか? 今は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だと改善されてるんでしょうか?
862 名前:nobodyさん mailto:sage [2010/01/30(土) 11:59:30 ID:???] Smarty3だと{nocache}で囲むだけでいいらしいよ。だから、インサートプラグインいらず。
863 名前:nobodyさん mailto:sage [2010/01/30(土) 12:29:50 ID:???] nocacheなら↓で実現できたヤツですね、最初からあるのとないのでは大違いでしょうが。 www.smarty.net/manual/ja/caching.cacheable.php
864 名前:nobodyさん mailto:sage [2010/01/30(土) 14:12:57 ID:???] Smarty2より遅いSmarty3なんてゴミにしかなりえない
865 名前:859 mailto:sage [2010/01/30(土) 14:45:10 ID:???] >>862 キャッシュしたいのでnocacheは用途が違う気がします
866 名前:nobodyさん mailto:sage [2010/01/30(土) 15:09:07 ID:???] あらかじめオブジェクトをシリアライズしておいて、それをアンシリアライズして読めば早いよってことなんだけど 方法がよく分からない。 結局require_once "Smarty.class.php"しなきゃいけないんだよね? 意味分かる人教えてください Smartyの読み込みコスト(時間)を削減する ttp://code.xenophy.com/?p=73
867 名前:nobodyさん mailto:sage [2010/01/30(土) 16:02:16 ID:???] 意味わかんない記事ですね 効果も0.01秒だし
868 名前:nobodyさん mailto:sage [2010/01/30(土) 16:56:45 ID:???] 0.01秒って結構大きいんじゃね?
869 名前:nobodyさん mailto:sage [2010/01/30(土) 16:57:37 ID:???] なんで?
870 名前:nobodyさん mailto:sage [2010/01/30(土) 17:23:46 ID:???] あれ?デカくね?
871 名前:nobodyさん mailto:sage [2010/01/30(土) 17:31:09 ID:???] なんでと聞いているんだ
872 名前:nobodyさん mailto:sage [2010/01/30(土) 18:09:30 ID:???] 1回表示するたびに0.01秒だろ うちのサイトだと0.01秒早くなったら速度2倍だぜ
873 名前:nobodyさん mailto:sage [2010/01/30(土) 18:11:35 ID:???] 感じられねーだろw
874 名前:nobodyさん mailto:sage [2010/01/30(土) 21:26:36 ID:???] >>873 濡れ濡れよ
875 名前:nobodyさん [2010/01/31(日) 16:37:31 ID:tjv1ZgGA] compile_dirのディレクトリがなかったり、書き込み権がない場合 コンパイルエラーになりますが、たまにパーミッション設定を忘れたりして こういう現状が度々あります。 忘れず確認すれば良い事ですが、なにか効率の良い方法はないでしょうか?
876 名前:nobodyさん mailto:sage [2010/01/31(日) 16:53:46 ID:???] どんな風にできたらいいの?
877 名前:nobodyさん [2010/01/31(日) 17:59:24 ID:tjv1ZgGA] ・コンパイルエラーを出さない ・コンパイル用のディレクトリがない場合、自動的に作成 と言うぐらいしか思いつきません 後者はis_dirでチェックすればいいと思うのですが、前者は方法自体わかりません・・・
878 名前:nobodyさん mailto:sage [2010/01/31(日) 18:01:14 ID:???] >>877 エラーメッセージでファイルを検索→当該行をコメントアウト
879 名前:nobodyさん mailto:sage [2010/02/01(月) 13:24:00 ID:???] >>878 そんな凄い事が出来るんですか? 当該行をコメントアウトって、文字列の置換とは違うんですよね?
880 名前:nobodyさん mailto:sage [2010/02/02(火) 14:53:16 ID:???] Smarty2.6からSmarty3への移行ってlibsの中身変えるだけでいいんですか?
881 名前:nobodyさん mailto:sage [2010/02/02(火) 14:54:00 ID:???] えっ?
882 名前:nobodyさん mailto:sage [2010/02/02(火) 16:28:53 ID:???] string:リソースとforが欲しいだけなんだが、Smarty2に入れてくれ
883 名前:nobodyさん mailto:sage [2010/02/03(水) 00:29:48 ID:???] >>880 互換性はあるとかないとか、 廃止される構文もあるとかないとか
884 名前:nobodyさん mailto:sage [2010/02/03(水) 01:26:14 ID:???] stringリソースは自分で作れ。 PHPっぽく数学処理出来るのはいいよね。Smarty3。 開発に時間かけ過ぎてて、既に腐り始めている気がするけど。 extend欲しいな。
885 名前:nobodyさん [2010/02/05(金) 12:00:27 ID:1wZyvV1Q] default_modifiersでescape:htmlやってたらforeachでエラー出るとか{debug}ができないとか そういうのは最新版では治ってるの?
886 名前:nobodyさん mailto:sage [2010/02/05(金) 16:09:07 ID:???] debugとescapeプラグインを数行書き換えるだけで治る。
887 名前:nobodyさん mailto:sage [2010/02/05(金) 18:17:12 ID:???] Smarty3のstringリソースってキャッシュしてくれないのか、ファイルの更新日時とか取得できないから当たり前か・・・
888 名前:nobodyさん mailto:sage [2010/02/06(土) 16:55:05 ID:???] smartyとquickformの組み合わせでdefault_modifiers escapeするとフォームが全部エスケープされてしまうね じゃ、nodefaultsにすりゃいいかというと、フォームのユーザが追加できるようにしている場合、 デフォルトの値(フォームのセレクトとか)にエスケープしたい文字があると途端に無理が出る 結局ロジック側でh()するしかなくなる
889 名前:nobodyさん [2010/02/09(火) 13:31:36 ID:Af+mgrun] Smartyで画像の出力ってできる? "Content-Type: image/jpeg"的な意味で。
890 名前:nobodyさん mailto:sage [2010/02/10(水) 09:26:09 ID:???] プラグイン作れば?
891 名前:nobodyさん mailto:sage [2010/02/10(水) 11:02:43 ID:???] >>889 つーか、ここは正攻法でMLに投げるんだ!
892 名前:nobodyさん mailto:sage [2010/02/12(金) 16:19:32 ID:???] >>889 テンプレートファイルの内容を画像データにすればいいんじゃないかな・・・
893 名前:nobodyさん mailto:sage [2010/02/12(金) 21:11:24 ID:???] パーサーが変なの拾って壊しちゃうかと displayやfetchしてる所でget_file_contentするだけだろ しょーもな
894 名前:nobodyさん mailto:sage [2010/02/12(金) 21:12:15 ID:???] 関数名違うかも
895 名前:nobodyさん mailto:sage [2010/02/17(水) 16:31:45 ID:???] file_get_contents()だな。 確かにSmartyが有用なケースが思いつかない。
896 名前:nobodyさん mailto:sage [2010/02/20(土) 12:34:03 ID:???] MTってSmarty使ってるのか
897 名前:nobodyさん mailto:sage [2010/02/20(土) 12:44:55 ID:???] 気のせいか
898 名前:nobodyさん [2010/02/20(土) 17:16:25 ID:0jUjLrgq] ファイルではなく 変数に格納されたテンプレートを使うために 変数用のリソースプラグインを使って試行錯誤してるのですが 相談させてください。 このリソースプラグインに変数(テンプレートの内容)を渡す方法ですが 2つ思いつきました。 1つは $hoge = "ここにテンプレートの内容"; $smarty->fetch("var:hoge"); のように変数名を渡して プラグイン側で グローバル変数の$hogeの内容を取得。 しかしグローバル変数を使うというのがちょっと気になります。 もう1つの案は $smarty->fetch("var:{$hoge}"); としてテンプレートの内容自体を渡す方法。 しかしこれだと長い名前の中間ファイル(template_cにできるファイル) が作られてなんだか気持ちが悪いです。 毎回コンパイルでいいので中間ファイルは作られないほうがいいのですが それもできない感じ。 みなさんはどうしてますか?
899 名前:nobodyさん mailto:sage [2010/02/20(土) 22:01:34 ID:???] リソースプラグイン側で グローバル変数じゃなくてSmartyにassignされた変数を見るようにすればいいんじゃねーの?
900 名前:898 mailto:sage [2010/02/24(水) 09:57:22 ID:???] >>899 規制でかけなかった・・・ 結局Smartyを拡張してプロパティを追加したら プラグイン側で普通に見れました >>899 ありがとうございます なるほど、それは気づきませんでした そのほうが手軽ですね
901 名前:nobodyさん mailto:sage [2010/03/03(水) 01:14:47 ID:???] Tenjin使い始めた。smartyより3倍早いらしい。 フレームワークをやったことなかったけど、比較的わかり易い。
902 名前:nobodyさん mailto:sage [2010/03/03(水) 16:18:29 ID:???] www.kuwata-lab.com/presen/LL2007LT.pdf 14-15ページを見た感じだと制御はPHPそのままで PHPタグ外部分はわざわざechoするのか・・・
903 名前:nobodyさん [2010/03/04(木) 15:15:33 ID:jG8+9EsN] Smarty3はいつになったら出るんだよ。
904 名前:nobodyさん mailto:sage [2010/03/05(金) 09:36:42 ID:???] 遅い3はいらない
905 名前:nobodyさん [2010/03/06(土) 00:22:27 ID:3cIJcZyy] Smartyのoutputfilterで文字コードをUTF-8からSJISに変換する処理を入れています。 こんな風に $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 です
906 名前:nobodyさん mailto:sage [2010/03/06(土) 01:54:29 ID:???] UTF-8テンプレートにBOMが入ってんじゃねーの?
907 名前:nobodyさん mailto:sage [2010/03/06(土) 08:38:23 ID:???] ありがとう その通りでした
908 名前:nobodyさん mailto:sage [2010/03/06(土) 10:16:09 ID:???] 自己中マルチはシネよ
909 名前:nobodyさん mailto:sage [2010/03/06(土) 11:56:50 ID:???] すまんね PHPはあんまり慣れてないんだ 普段はGAEでjavaなんだよ これあげるからシネとかいわないで mix-tube.appspot.com/
910 名前:nobodyさん mailto:sage [2010/03/06(土) 12:20:22 ID:???] そういう問題じゃないけど許す
911 名前:nobodyさん mailto:sage [2010/03/06(土) 13:54:43 ID:???] さらに宣伝かよ
912 名前:nobodyさん mailto:sage [2010/03/07(日) 07:30:25 ID:???] β8はfinal betaらしいので、次はRC版か
913 名前:nobodyさん mailto:sage [2010/03/11(木) 09:30:07 ID:???] 俺の勉強不足かも知れないんだけど、 cache_lifetimeって以下の仕様じゃないんだね 10秒に設定→10秒経ってるキャッシュファイルは全て削除
914 名前:nobodyさん [2010/03/11(木) 17:23:06 ID:TZPJnNmb] 削除されるわけないだろ。
915 名前:nobodyさん mailto:sage [2010/03/12(金) 13:20:51 ID:???] じゃ、キャッシュ溜まりまくるけど どの段階でclear_all_cacheするの?
916 名前:nobodyさん mailto:sage [2010/03/12(金) 15:48:13 ID:???] >>913 同じく削除されると思うのが普通な気がする セッション管理みたいに >>915 必要なら好きなときにどうぞ
917 名前:nobodyさん mailto:sage [2010/03/12(金) 17:14:35 ID:???] 削除というよりは、要求されたページのキャッシュがlife timeより古かったら 再生成(上書き)されると思ってる。 つまり、要求されなきゃそのまま放っておかれる(わざわざ消さない)と。
918 名前:nobodyさん mailto:sage [2010/03/12(金) 21:49:30 ID:???] マニュアル良く読めw
919 名前:nobodyさん mailto:sage [2010/03/13(土) 05:31:12 ID:???] >>918 ん?
920 名前:nobodyさん mailto:sage [2010/03/13(土) 13:02:36 ID:???] cache_lifetime = -1;にしてるオレには関係のない話だな
921 名前:nobodyさん mailto:sage [2010/03/13(土) 15:04:04 ID:???] 負荷だいじょうぶか?
922 名前:nobodyさん mailto:sage [2010/03/13(土) 16:11:14 ID:???] -1は無期限でキャッシュし続ける 0が毎回作成 CMSみたいに管理画面から更新するなら、 そのタイミングで必要な分だけキャッシュを削除すればいいしね
923 名前:nobodyさん mailto:sage [2010/03/13(土) 16:11:51 ID:???] ×キャッシュし続ける ○キャッシュを使い続ける でした