私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】 Smarty 【テンプレートエンジン】 第2章
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>50
自分は34ですが32ではないです。
最新どうこうは31と32が言い出した事に過ぎないので、個人的には興味ありません。
「Smarty2はモダンではない」という意識が合っていればそれ以上の主張は無いです。
> 少なくともSmartyの開発思想には「権限管理」があり、それを実現するだけの「機能」がある。
自分の立場は、あなたのおっしゃるこの部分への反対の立場です。
> 実際に穴をふさぐのは相当難しいと思うよ?
DBアクセスさせたくなかったらモジュールをロードしなければいいんだし、
safe_modeという機能があるのもご存じでしょう。肥大化は一切しませんよね。
本質は「ガチガチに設定すれば安全にだってできるんだ!」じゃなくて、
「そもそもが安全であるかどうか」でしょ。
「生PHPは絶対に危険で、Smartyは絶対に安全なんだ」って主張は誤ってると思いますよ。
だから、その理由をもって生PHPのテンプレートを持つフレームワークを忌避しているなら、
考え方を柔軟にして、Smarty以外のものも触ってみたらいかがですか、というお話です。
自分は34ですが32ではないです。
最新どうこうは31と32が言い出した事に過ぎないので、個人的には興味ありません。
「Smarty2はモダンではない」という意識が合っていればそれ以上の主張は無いです。
> 少なくともSmartyの開発思想には「権限管理」があり、それを実現するだけの「機能」がある。
自分の立場は、あなたのおっしゃるこの部分への反対の立場です。
> 実際に穴をふさぐのは相当難しいと思うよ?
DBアクセスさせたくなかったらモジュールをロードしなければいいんだし、
safe_modeという機能があるのもご存じでしょう。肥大化は一切しませんよね。
本質は「ガチガチに設定すれば安全にだってできるんだ!」じゃなくて、
「そもそもが安全であるかどうか」でしょ。
「生PHPは絶対に危険で、Smartyは絶対に安全なんだ」って主張は誤ってると思いますよ。
だから、その理由をもって生PHPのテンプレートを持つフレームワークを忌避しているなら、
考え方を柔軟にして、Smarty以外のものも触ってみたらいかがですか、というお話です。
>DBアクセスさせたくなかったらモジュールをロードしなければいいんだし、
>safe_modeという機能があるのもご存じでしょう。肥大化は一切しませんよね。
View側はそれでいいのかもしれませんが、実際にそのような設定でシステムを稼働させた事はありますか?
Controller側でDBアクセスが必要、View側では不要、という場面は多々あると思います。
>「生PHPは絶対に危険で、Smartyは絶対に安全なんだ」って主張は誤ってると思いますよ。
はい。そうは思いません。
ただView側に権限分離の安全策を施したい場合、Smartyに限らずテンプレートエンジンは有意義だと考えています。
ちなみにFW自体は積極的に導入していますよ。
View部分のみSmartyを採用する事で、それぞれのViewスクリプトの方言を統一する役割も担っています。
Twig等のモダンどころもテスト導入してみましたが、乗り換えるコストに対するメリットが少々薄いという印象ですね。
内部的にはSmartyより遙かに洗練されているとは思いますが。
>safe_modeという機能があるのもご存じでしょう。肥大化は一切しませんよね。
View側はそれでいいのかもしれませんが、実際にそのような設定でシステムを稼働させた事はありますか?
Controller側でDBアクセスが必要、View側では不要、という場面は多々あると思います。
>「生PHPは絶対に危険で、Smartyは絶対に安全なんだ」って主張は誤ってると思いますよ。
はい。そうは思いません。
ただView側に権限分離の安全策を施したい場合、Smartyに限らずテンプレートエンジンは有意義だと考えています。
ちなみにFW自体は積極的に導入していますよ。
View部分のみSmartyを採用する事で、それぞれのViewスクリプトの方言を統一する役割も担っています。
Twig等のモダンどころもテスト導入してみましたが、乗り換えるコストに対するメリットが少々薄いという印象ですね。
内部的にはSmartyより遙かに洗練されているとは思いますが。
なんかわからんけどいなくならないのよね。
Smartyが必要な案件に参加できなかったとか具体的な恨みがあるんだろうけど
Smartyが必要な案件に参加できなかったとか具体的な恨みがあるんだろうけど
>Smartyが必要な案件に参加できなかったとか具体的な恨みがあるんだろうけど
そんなプロジェクトには参画したくありませんから~
Smartyはいらない子だって分かって!
そんなプロジェクトには参画したくありませんから~
Smartyはいらない子だって分かって!
そうだね。
あなたと同じくらい、世間様からは必要とされていないのかもしれないね。
ごめんね・・・ごめんね・・・
カーチャンの教育が間違っていたね・・・ごめんね・・・J( 'ー`)し
スレの皆さんも本当に申し訳ありません。
うちの子も本当は仲間に入れて欲しいだけなんです。
素直になれなくて・・・ただ、それだけなんです。
ごめんね・・・ごめんね・・・
あなたと同じくらい、世間様からは必要とされていないのかもしれないね。
ごめんね・・・ごめんね・・・
カーチャンの教育が間違っていたね・・・ごめんね・・・J( 'ー`)し
スレの皆さんも本当に申し訳ありません。
うちの子も本当は仲間に入れて欲しいだけなんです。
素直になれなくて・・・ただ、それだけなんです。
ごめんね・・・ごめんね・・・
結局このスレで有意義な話題が出るわけじゃなく、
必死のSmarty擁護と煽りが交互に繰り返されるだけという所が、
Smartyの質の悪さを如実に現しているような気がする。
必死のSmarty擁護と煽りが交互に繰り返されるだけという所が、
Smartyの質の悪さを如実に現しているような気がする。
テンプレをHTMLとjavascriptが辛うじて出来ますくらいの奴にいじらせなきゃいけない時に有効。
それ以外じゃPHPにテンプレエンジンはいらん。
それ以外じゃPHPにテンプレエンジンはいらん。
あのさ、もしかしたら↓の日記に洗脳された人がこのスレで荒らしてるんじゃないのかな
http://d.hatena.ne.jp/noopable/20090529/1243571310
Smartyが嫌いなら見にこなけりゃいいのにねw
何でわざわざ書き込みにくるんだろう
Smartyを使った仕事もないから需要というのを知らないのかな
Smartyを完全否定してる人は仕事に関わってなくて、趣味程度な人なんだろうね
http://d.hatena.ne.jp/noopable/20090529/1243571310
Smartyが嫌いなら見にこなけりゃいいのにねw
何でわざわざ書き込みにくるんだろう
Smartyを使った仕事もないから需要というのを知らないのかな
Smartyを完全否定してる人は仕事に関わってなくて、趣味程度な人なんだろうね
頭悪くてSmartyのメリットを理解出来ない否定派がキーキー喚いてるだけだろ・・・
本当に不要だと思うなら、こんなスレ来ないだろうし。
本当に不要だと思うなら、こんなスレ来ないだろうし。
質問してもいいでしょうか
HTMLにSmartyタグを使って
<a href="test{$hoge}test">
こんなのがあった時に、
<a href={"test{$hoge}test"|urlchange}>
こんな感じのことをしたいのですが、Smartyがエラーを吐いてしまいます。
もちろん
<a href={"test"|cat:$hoge|cat:"test"|urlchange}>
ここまで書き換えればうまくいくいのですが…。
うまい解決方法はないでしょうか?
HTMLにSmartyタグを使って
<a href="test{$hoge}test">
こんなのがあった時に、
<a href={"test{$hoge}test"|urlchange}>
こんな感じのことをしたいのですが、Smartyがエラーを吐いてしまいます。
もちろん
<a href={"test"|cat:$hoge|cat:"test"|urlchange}>
ここまで書き換えればうまくいくいのですが…。
うまい解決方法はないでしょうか?
SmartyはVer3系になって
あまりの迷走っぷりに皆に愛想つかされて消えて欲しいな☆
あまりの迷走っぷりに皆に愛想つかされて消えて欲しいな☆
文法間違えればそりゃエラーになるだろw
>>69-70
文字列内で変数を展開する場合は、バッククォートで囲う必要があります。
<a href={"test`$hoge`test"|urlchange}>
詳しくは基本構文を参照してください
http://www.smarty.net/manual/ja/language.syntax.quotes.php
>>69-70
文字列内で変数を展開する場合は、バッククォートで囲う必要があります。
<a href={"test`$hoge`test"|urlchange}>
詳しくは基本構文を参照してください
http://www.smarty.net/manual/ja/language.syntax.quotes.php
>>74
> HTMLにSmartyタグを使って
> <a href="test{$hoge}test">
> こんなのがあった時に、
詳しくを参照する前に、質問者のレスを読みましょう
必ずこうなってるなら話はべつだがな
<a href={"test`$hoge`test"}>
それに関数使ってた場合は絶対無理だし
<a href={"test"|komekome}>
<a href={{"test"|komekome}|urlchange}>
> HTMLにSmartyタグを使って
> <a href="test{$hoge}test">
> こんなのがあった時に、
詳しくを参照する前に、質問者のレスを読みましょう
必ずこうなってるなら話はべつだがな
<a href={"test`$hoge`test"}>
それに関数使ってた場合は絶対無理だし
<a href={"test"|komekome}>
<a href={{"test"|komekome}|urlchange}>
SmartyテンプレートをDreamweaverで編集している人いる?
Smartyタグを不可視エレメント表示できないかな
Smartyタグを不可視エレメント表示できないかな
いや、設計は間違ってないだろ
手動でSmartyタグを書いたあとに、一括して全ての特定の何かを置換したい
そういったことはママあることだ
あと、実装するならprefilterだろう
postfilterで何する気だ
手動でSmartyタグを書いたあとに、一括して全ての特定の何かを置換したい
そういったことはママあることだ
あと、実装するならprefilterだろう
postfilterで何する気だ
追記
憶測だけども、>>69は全てのリンク先に特定の処理を施したいって事だろうから、
簡単なoutputfilterで文字列置換してやるだけで実現出来ると思うよ。
無理矢理Smartyタグに置換し直す必要性があるのか?って事ね。
憶測だけども、>>69は全てのリンク先に特定の処理を施したいって事だろうから、
簡単なoutputfilterで文字列置換してやるだけで実現出来ると思うよ。
無理矢理Smartyタグに置換し直す必要性があるのか?って事ね。
思想としてはありだから、できないのか質問に来たわけだろ?
結果は「できない」
自身の定義タグを再帰的に処理できないとか、Smartyのしょぼさがうかがえるわ
結果は「できない」
自身の定義タグを再帰的に処理できないとか、Smartyのしょぼさがうかがえるわ
>>79
> postfilterもしくはoutputfilter内で必要部分をSmatyタグに置換して、再帰的にSmartyテンプレートとして実行すればいいんじゃないのかね。
これの意味がわからね
どういう動作させる気なの?
> postfilterもしくはoutputfilter内で必要部分をSmatyタグに置換して、再帰的にSmartyテンプレートとして実行すればいいんじゃないのかね。
これの意味がわからね
どういう動作させる気なの?
>>結果は「できない」
お前がそう思うんならそうなんだろうな・・・お前の中では。
再帰的に処理したいならフィルタ書くなり、再帰的にfetchする実装を行えばいいだけでさほど難しくないよ。
逆に再起処理は自前で実装して再起回数を制御しないと無限ループしてしまうと思うんだけど。
Smartyがしょぼいんじゃなくて、使いこなせてないだけだろw
お前がそう思うんならそうなんだろうな・・・お前の中では。
再帰的に処理したいならフィルタ書くなり、再帰的にfetchする実装を行えばいいだけでさほど難しくないよ。
逆に再起処理は自前で実装して再起回数を制御しないと無限ループしてしまうと思うんだけど。
Smartyがしょぼいんじゃなくて、使いこなせてないだけだろw
>>82
<a href="test{$hoge}test">を実行する。
<a href="testHOGE_VALUEtest">という出力になる。
outputfilterで<a href="{"testHOGE_VALUEtest"|urlchange}">という風に置換して、再度実行する。
別にoutputfilterでなくてもいいけど、好きなタイミングで再起処理すればいいんじゃないかね。
どうしても自前で構文解析して、一度の実行で処理したいなら{capture}タグあたりへの置換を駆使すればいいと思うよ。
<a href="test{$hoge}test">を実行する。
<a href="testHOGE_VALUEtest">という出力になる。
outputfilterで<a href="{"testHOGE_VALUEtest"|urlchange}">という風に置換して、再度実行する。
別にoutputfilterでなくてもいいけど、好きなタイミングで再起処理すればいいんじゃないかね。
どうしても自前で構文解析して、一度の実行で処理したいなら{capture}タグあたりへの置換を駆使すればいいと思うよ。
いくらなんでも、
Smartyの出力処理 → HTML構文解析処理 → Smartyタグを新たに自動挿入 → Smartyの出力処理
と、毎回のアクセスでやるのは動作が重すぎるので…
>逆に再起処理は自前で実装して再起回数を制御しないと無限ループしてしまうと思うんだけど。
それこそ無限ループさせる人間がしょぼいと思うんですが…
while文は無限ループする可能性があるので実装しない。みたいなもんで、本末転倒かと
Smartyの出力処理 → HTML構文解析処理 → Smartyタグを新たに自動挿入 → Smartyの出力処理
と、毎回のアクセスでやるのは動作が重すぎるので…
>逆に再起処理は自前で実装して再起回数を制御しないと無限ループしてしまうと思うんだけど。
それこそ無限ループさせる人間がしょぼいと思うんですが…
while文は無限ループする可能性があるので実装しない。みたいなもんで、本末転倒かと
{capture}を使うことで、狙った通りの挙動が可能なのを確認しました。
今件はこれで終わりにしたいと思います。
色々ありがとうございました。
今件はこれで終わりにしたいと思います。
色々ありがとうございました。
まったく役に立ってないけどな
再起処理は自前で実装して再起回数を制御しないと無限ループしてしまう(キリッ
再起処理は自前で実装して再起回数を制御しないと無限ループしてしまう(キリッ
capture関数を見ていたところ、素直にオリジナルのブロック関数を作ればよいということがわかりました。
報告しておきます。
報告しておきます。
器の小さい話だけど1人でサイト作る時は、smarty便利じゃない?
またはデザインが先に出来てて、仕組みを後から作るときとかも。
会員サイト作る時はセッションセキュ考えるのめんどくさいからFWつかっちゃうけど、
joinの嵐サイト作る時は、smartyのみ使う。
2つのキャッシュ機能使いわけが便利ですし。
と俺のお婆ちゃんが言ってた。
またはデザインが先に出来てて、仕組みを後から作るときとかも。
会員サイト作る時はセッションセキュ考えるのめんどくさいからFWつかっちゃうけど、
joinの嵐サイト作る時は、smartyのみ使う。
2つのキャッシュ機能使いわけが便利ですし。
と俺のお婆ちゃんが言ってた。
>>85
>>逆に再起処理は自前で実装して再起回数を制御しないと無限ループしてしまうと思うんだけど。
>それこそ無限ループさせる人間がしょぼいと思うんですが…
>while文は無限ループする可能性があるので実装しない。みたいなもんで、本末転倒かと
Smarty自身が再帰機能を持っていた場合、ループ条件はどうやって決めるのって話だが、
自前でループ条件実装しなきゃ駄目だろ?どこに実装しないなんて書いてあるの?w
>Smartyの出力処理 → HTML構文解析処理 → Smartyタグを新たに自動挿入 → Smartyの出力処理
という流れを再帰処理って言うんだけど大丈夫?
再帰処理ってわかってる?w
>>逆に再起処理は自前で実装して再起回数を制御しないと無限ループしてしまうと思うんだけど。
>それこそ無限ループさせる人間がしょぼいと思うんですが…
>while文は無限ループする可能性があるので実装しない。みたいなもんで、本末転倒かと
Smarty自身が再帰機能を持っていた場合、ループ条件はどうやって決めるのって話だが、
自前でループ条件実装しなきゃ駄目だろ?どこに実装しないなんて書いてあるの?w
>Smartyの出力処理 → HTML構文解析処理 → Smartyタグを新たに自動挿入 → Smartyの出力処理
という流れを再帰処理って言うんだけど大丈夫?
再帰処理ってわかってる?w
>>87
なんだ、お前役に立ってないって自覚してたのか、案外偉いな。
結果は「できない」(キリッ
Smartyのしょぼさがうかがえる(キリッ
とか言ってる時点で気づいて欲しかったが・・・
「できない」wとか言った人が何反論してもむなしいぜ?
なんだ、お前役に立ってないって自覚してたのか、案外偉いな。
結果は「できない」(キリッ
Smartyのしょぼさがうかがえる(キリッ
とか言ってる時点で気づいて欲しかったが・・・
「できない」wとか言った人が何反論してもむなしいぜ?
俺Smartyの仕様なんてしらねーもんw
少なくともここの連中的な結論は「できない」だっただろw
もしくは再帰的にSmartyを動かせ(キリッ
おいおいw
パフォーマンスガン無視ですかw
で、真実はSmartyにちゃんと対応できる機能がありました
あれあれ?Smartyを馬鹿にするやつは使いこなせてないからだ(キリッ とか言ってた人達、使いこなしてないですねー?w
少なくともここの連中的な結論は「できない」だっただろw
もしくは再帰的にSmartyを動かせ(キリッ
おいおいw
パフォーマンスガン無視ですかw
で、真実はSmartyにちゃんと対応できる機能がありました
あれあれ?Smartyを馬鹿にするやつは使いこなせてないからだ(キリッ とか言ってた人達、使いこなしてないですねー?w
>>90
え・・・smartyタグが全て無くなったら抜けるが分岐条件だろJK
え・・・smartyタグが全て無くなったら抜けるが分岐条件だろJK
>>93は俺じゃねーよw
対応できる機能「あった」じゃん。独自拡張機能っていう機能が
でもそれを質問者に教えてあげることができなかったんでちゅよねーw
使いこなせば便利なSmarty(キリッ
Smartyに不満があるのは使いこなせてないから(キリッ
対応できる機能「あった」じゃん。独自拡張機能っていう機能が
でもそれを質問者に教えてあげることができなかったんでちゅよねーw
使いこなせば便利なSmarty(キリッ
Smartyに不満があるのは使いこなせてないから(キリッ
71 名前:nobodyさん[sage] 投稿日:2010/04/21(水) 19:37:30 ID:???
それこそアンチが言うようにPHP側で処理すればいい
74 名前:nobodyさん[sage] 投稿日:2010/04/22(木) 15:25:41 ID:???
文法間違えればそりゃエラーになるだろw
77 名前:nobodyさん[sage] 投稿日:2010/04/22(木) 19:12:29 ID:???
>>69-70
関数まで考慮するならpostfilter、outputfilterで実装出来るけども
やろうとしてる事自体の設計が間違ってると思う。
80 名前:nobodyさん[sage] 投稿日:2010/04/22(木) 23:48:30 ID:???
追記
憶測だけども、>>69は全てのリンク先に特定の処理を施したいって事だろうから、
簡単なoutputfilterで文字列置換してやるだけで実現出来ると思うよ。
captureなんてどこにもないが?
それこそアンチが言うようにPHP側で処理すればいい
74 名前:nobodyさん[sage] 投稿日:2010/04/22(木) 15:25:41 ID:???
文法間違えればそりゃエラーになるだろw
77 名前:nobodyさん[sage] 投稿日:2010/04/22(木) 19:12:29 ID:???
>>69-70
関数まで考慮するならpostfilter、outputfilterで実装出来るけども
やろうとしてる事自体の設計が間違ってると思う。
80 名前:nobodyさん[sage] 投稿日:2010/04/22(木) 23:48:30 ID:???
追記
憶測だけども、>>69は全てのリンク先に特定の処理を施したいって事だろうから、
簡単なoutputfilterで文字列置換してやるだけで実現出来ると思うよ。
captureなんてどこにもないが?
もういじめてやるなよ
アドバイスできるほど理解のある人間が、たまたまその時間帯いなかっただけだろ
アドバイスできるほど理解のある人間が、たまたまその時間帯いなかっただけだろ
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- 【PHP】 Smarty 隔離スレ 【テンプレート】 (1001) - [48%] - 2010/3/28 11:16 ○
- 【PHP】Laravel【フレームワーク】 Part.11 (870) - [43%] - 2022/8/28 15:45
- 【PHP】Laravel【フレームワーク】 Part.2 (917) - [43%] - 2019/9/10 9:15
- 【PHP】Laravel【フレームワーク】 Part.3 (983) - [43%] - 2021/2/12 4:00
- 【PHP】Laravel【フレームワーク】 Part.12 (314) - [43%] - 2023/1/30 18:45
- 【PHP】Laravel【フレームワーク】 Part.4 (460) - [43%] - 2021/4/4 4:00
トップメニューへ / →のくす牧場書庫について