【PHP】 Smarty 隔離スレ 【テンプレート】
- 1 :nobodyさん:2008/02/02(土) 00:21:09 ID:6cKcKeTp
- まぬあるhttp://www.smarty.net/manual/ja/
- 2 :nobodyさん:2008/02/02(土) 00:31:36 ID:???
- smartyのことを聞きたいやつはとりあえずここに書き込め
- 3 :nobodyさん:2008/02/02(土) 01:01:34 ID:???
- なんで隔離なの?
- 4 :nobodyさん:2008/02/03(日) 10:44:03 ID:???
- ソースと別って意味か?
- 5 :nobodyさん:2008/02/09(土) 22:07:45 ID:c9Rr2KUa
- HTMLの中にコードが書けるのがPHPの特徴だったのに、なんでテンプレートエンジンなんか使うの?
テンプレート使うくらいならPHPなんか使わずにPerlを使った方が効率が上がるのに。
- 6 :nobodyさん:2008/02/12(火) 12:01:15 ID:???
- 別にSmartyなんて質問することなくね?
- 7 :nobodyさん:2008/02/20(水) 11:19:49 ID:q0lktVll
- カスタム関数のdefaultを空白('')にして、かつ、もし値があればstring_format(%0.1fなど)して表示するにはどうすればいいですか?(できればif文を使わずに)
現状では、値が無い場合に0.0という表示が必ず出てしまいます。
defaultを先にしても後にしても同様です。
どなたかお願いします。
- 8 :nobodyさん:2008/03/03(月) 05:14:04 ID:???
- ちょっと調べてみたところ
HTMLとPHPが混在した形とSmartとで表示速度が5倍以上違う(当然前者の方が速い)らしいのだけども
なんか他に高速なテンプレートエンジンってないの?
処理速度さえ高速なら機能は最低限でいいんだけど
- 9 :nobodyさん:2008/03/03(月) 05:30:31 ID:???
- 10msが50msになったところで大して変わらなくね?
- 10 :nobodyさん:2008/03/03(月) 15:19:04 ID:FhmTLeYh
- >>9
5倍も違うんだと、アクセス多いと如実に効いて来るよ。
- 11 :nobodyさん:2008/03/10(月) 20:24:56 ID:la5GJf3w
- compile_dir配下にできるファイルの
パーミッションを0600にしたいのですが
smartyの設定でありますか?
- 12 :nobodyさん:2008/03/11(火) 08:47:15 ID:GwdF10l+
- smartyと関係ないだろ
umaskとかしとけばいいんじゃね?
- 13 :11:2008/03/11(火) 11:14:01 ID:???
- >>12
ごめんなさい
smartyの設定ではできないんですね
umaskでやることにします
- 14 :nobodyさん:2008/03/11(火) 15:02:25 ID:???
- 質問したいんですけどいいですか?
↓
- 15 :nobodyさん:2008/03/11(火) 17:15:12 ID:???
- ↓どうぞ
- 16 :nobodyさん:2008/03/11(火) 21:41:50 ID:???
- それにしても、アンチスレは別だとして
「できない」ってことを言えない人がいるよね。
- 17 :nobodyさん:2008/03/12(水) 10:42:36 ID:gvIujdzc
- キャッシュを600にする意味って何あるん?
- 18 :nobodyさん:2008/03/13(木) 19:13:48 ID:???
- >>17
他人にみられたくないからだろ?
- 19 :nobodyさん:2008/03/14(金) 21:01:04 ID:???
- Smartyというのは、既にフォームがPHPで書かれてて、それを自分でカスタマイズするって感じですか?
- 20 :nobodyさん:2008/03/14(金) 21:10:40 ID:???
- そんなわけねーだろw
- 21 :nobodyさん:2008/03/14(金) 21:30:53 ID:???
- じゃあ初心者には難しいですね
- 22 :nobodyさん:2008/03/15(土) 02:54:21 ID:???
- >>21
初心者向けだよ
- 23 :nobodyさん:2008/03/15(土) 04:31:17 ID:???
- 初心者向けだが、素人向けではない。
- 24 :nobodyさん:2008/03/15(土) 18:59:02 ID:???
- どうもお世話になってます。
SmartyはApacheで確認できないんですね
- 25 :nobodyさん:2008/03/15(土) 19:03:04 ID:???
- 動きました。 ありがとうございます
- 26 :nobodyさん:2008/03/18(火) 12:21:04 ID:YNr5gB9L
- html_select_dateを使用してデフォルト値を決めた場合、javascriptを使って、変更後の値をデフォルト値に戻すことは可能でしょうか?
例えば開始と終了日付がありリセットボタンが押された際にjavascrptが、動いて片方だけデフォルト値に戻る等
- 27 :nobodyさん:2008/04/06(日) 21:01:07 ID:???
- これってけっこうひどいねw
作ったやつらってあまり賢くないよなw
- 28 :nobodyさん:2008/04/07(月) 16:47:08 ID:???
- >>27
誰がどう見ても、おまえよりは数倍賢いと思うぞw
- 29 :nobodyさん:2008/04/11(金) 13:33:17 ID:lTuTwlT7
- Config_File.class.phpの130行目でOnly variable references should be returned by referenceのNoticeエラーが出る
ソースみたらリファレンスで返さなくちゃいけないのに
function &get($file_name, $section_name = NULL, $var_name = NULL)
リファレンスで返してない
return (array)$this->_config_data[$file_name]["vars"];
- 30 :nobodyさん:2008/04/14(月) 01:03:25 ID:iLkauD+A
- assign_by_ref('test', 1)
みたいな事やるとなにがしかのエラーが出たと記憶していたのですが、
今試してみたらエラーが出ません。
どこかのバージョンから変更になったのでしょうか?
それとも元からが勘違いだったのでしょうか?
- 31 :nobodyさん:2008/04/14(月) 05:42:53 ID:/O4ED1WG
- DQN男の家族消えろ DQN男の親消えろ DQN男の友達消えろ DQN男の親戚消えろ
DQN男の家族消えろ DQN男の親消えろ DQN男の友達消えろ DQN男の親戚消えろ
DQN男の家族消えろ DQN男の親消えろ DQN男の友達消えろ DQN男の親戚消えろ
DQN男の家族消えろ DQN男の親消えろ DQN男の友達消えろ DQN男の親戚消えろ
- 32 :nobodyさん:2008/04/18(金) 06:04:17 ID:uLMECrIl
- escapeを何度も通過して実体参照を実体参照にしてしまう問題を解決したいです。
<textarea name="hoge">{$hoge|escape}</textarea>
というテンプレートで入力フォームを作りました。
入力フォームに値を入れて画面遷移するとデータベースに入力内容を入れて完了画面がでます。
同じ入力フォームでデータの更新をするページを作ると問題が発生しました。
タグ文字列は通過させながらもHTMLが壊されないようにしないといけないのですが、いい方法ないでしょうか。
- 33 :nobodyさん:2008/04/18(金) 06:41:29 ID:???
- 入力フォームやらデータの更新とやらの話は関係なくね?
- 34 :nobodyさん:2008/04/18(金) 07:33:12 ID:???
- 入力文字列をphp側で受け取ったときにunescapeすればいいのでは?
- 35 :nobodyさん:2008/04/18(金) 08:13:30 ID:Kck9JNI8
- ページの出力時に任意のヘッダを挿入したいとき、
どのようにすればよいでしょうか。
display()する前に、phpのheader()を書くことで、
追加できてはいるのですがコードの流れ的に不自然というか・・
あと、例えばContent-lengthヘッダを追加したいとかなると、
ますますテンプレートと行き来することになり、ますます変な気がします。
Smartyでヘッダ追加の関数はあるんでしょうか。
- 36 :nobodyさん:2008/04/19(土) 23:32:19 ID:???
- Smartyつかうとすげー楽になるっていう実例おしえてくだしあ!!
- 37 :nobodyさん:2008/04/19(土) 23:35:20 ID:???
- マニュアル見れば書いてあるよ
- 38 :nobodyさん:2008/04/20(日) 00:29:00 ID:ui/WcxXd
- >>36
キャッシュとかカスタムプラグインとかいろいろ
- 39 :nobodyさん:2008/04/20(日) 00:33:38 ID:???
- しかしキャッシュONにするとテンプレート変更しても反映されないのは何とかならないものか
- 40 :nobodyさん:2008/04/20(日) 04:24:32 ID:???
- それマジでダルいよな。
変更判定をしっかりやって欲しい
- 41 :nobodyさん:2008/04/22(火) 19:44:38 ID:???
- >>36
複数のサーバで同じシステム使っているのだが
phpファイルの変更にはツール使って一発で全サーバ更新できるので便利。
デザインやリンク先の違いも全部吸収できる。
まあテンプレートエンジンならなんでもいいんだけど
速度よりメンテ性重視にするとSmartyになった。
- 42 :nobodyさん:2008/04/22(火) 21:38:51 ID:???
- >>41
何それどういうツール?
- 43 :nobodyさん:2008/04/23(水) 00:52:29 ID:???
- 思うんだけど、Smarty使って{}のコードをhtmlに埋めるのと
PHPの<?php ?>でhtmlファイルをPHP化して埋めるのと、
あまり大差無いと思うんだが。
デザインとプログラムの分離としてしばらく勉強してきたけど、
Smarty専用のコードを覚える=プログラムを覚えることと同義な気がする。
- 44 :nobodyさん:2008/04/23(水) 01:22:37 ID:???
- Smatyの機能は{$var}で変数が表示できることだけですよね。わかります。
- 45 :nobodyさん:2008/04/23(水) 04:20:00 ID:???
- でも、デザイナがなんとなく書いたPHPコード付きhtmlなんて怖くて使えないだろ?w
誰かSmartyリファクタリングしてくんねーかなぁ、
default_modifiersバグや、キャッシュの反映チェックがぬるい等
便利機能がいまいち使いこなせないのが辛い。
- 46 :nobodyさん:2008/04/23(水) 11:20:20 ID:???
- >でも、デザイナがなんとなく書いたPHPコード付きhtmlなんて怖くて使えないだろ?w
それもあるんだよなw
一度デザイナーからhtmlを受け取ってシステム化した後、
修正が入る場合、画像作成とか以外では、PG側がしなきゃいけないもんな。
でも、それもデザイナーがSmartyのソースいじる可能性もあるし、
やっぱり同じ事のような気がする。だから厳密なデザインとプログラムの分離
とは行かないんだよな。
- 47 :nobodyさん:2008/04/23(水) 15:25:42 ID:pSFXKy0F
- >>42
ボタン1つで複数のサーバにsshアップロードする機能があるFSW。というか自作だけど。
以前はテンプレートエンジンなしでこのツール作ってたが1サイトだけマーキー入れてほしいとかいう要望に対しては
手作業で対応するしかなかった。
もちろんサイト間の差分なんか把握できるわけない・・・
>>46
>>44みたいな使い方もできるし、デザイナにもっと権限を与えることもできる、でいいんじゃないかなあ。
- 48 :nobodyさん:2008/04/23(水) 16:01:50 ID:???
- ロジックの分離というより、権限管理的な意味合いが濃いんじゃないかな。
故意にPHPコードを書かない限りは、Smarty内で簡潔するので、安全っちゃ安全。
- 49 :nobodyさん:2008/04/23(水) 19:51:43 ID:rNbxu3m+
- 質問です。
yum install php-Smarty
がインストールできないのですが、なんで?
その前にインスコしておくものはありますか?
CENT OSなんですが....
- 50 :nobodyさん:2008/04/23(水) 20:00:10 ID:???
- そんなんで知るかボケ
- 51 :49です。:2008/04/23(水) 21:36:12 ID:rNbxu3m+
- どこで質問すればいいの?
- 52 :nobodyさん:2008/04/23(水) 23:04:45 ID:???
- osスレ
- 53 :nobodyさん:2008/04/24(木) 15:44:39 ID:???
- 中身はただのphpファイルなんだからtgzファイル落として解凍するだけでいいんじゃね?
こういうのってパッケージ管理使う意味あるのかな。
- 54 :nobodyさん:2008/04/24(木) 15:50:43 ID:???
- 楽
- 55 :nobodyさん:2008/04/24(木) 21:52:29 ID:???
- pearifiedをpearのチャンネルに追加してそっからSmartyをとってくると楽。
- 56 :nobodyさん:2008/04/26(土) 23:54:58 ID:???
- ちょっと使ってみた。
sqlserverでカラム名が和名。
select 住所1 from 得意先マスタ
その和名のまま連想配列にしてテンプレートに渡すとエラーになる。
select 住所1 as zyuusyo1 from 得意先マスタ
これで渡すとzyuusyo1でちゃんと取得できる。
まあ、和名テーブルやらカラムを作るなって話だが、今あるからしかたない。
まだまだ、和名には弱いのかなぁ?実はパッチがあったりしますか?
あと、テンプレート側で、都道府県名と言う文字列を含めるとエラーになる。
県名にかえたらエラーでず。
んーーーー。不便。
- 57 :nobodyさん:2008/04/27(日) 00:37:38 ID:???
- 住所1て
- 58 :nobodyさん:2008/04/27(日) 08:48:29 ID:???
- 文句を垂れる前に、日本語文字コードについて学べ。
- 59 :nobodyさん:2008/04/27(日) 12:24:18 ID:???
- ところで、皆Smartyの拡張クラスの名前何にしてる?
MySmartyだと、何かダサイ気がしてならない
- 60 :nobodyさん:2008/04/27(日) 14:53:43 ID:???
- EternalForceSmarty
相手は死ぬ
- 61 :nobodyさん:2008/04/28(月) 10:19:07 ID:???
- >>59
変な名前付けてあとでわからなくなるより
MySmarty
かっこいいのがいいなら
SuperSmarty
- 62 :nobodyさん:2008/04/28(月) 11:48:26 ID:???
- MySmartyだと用途がはっきりしないので、
SmartyMobile
SmartyWeb
SmartySitename
SmartyView
的な命名の方がよくね?
- 63 :nobodyさん:2008/04/28(月) 12:11:28 ID:???
- あれ? 今回なんて名前にしたっけ?
って考えるのが面倒くさいから、いつもMySmarty
- 64 :nobodyさん:2008/04/28(月) 18:00:24 ID:???
- 俺はいつもYouSmarty
- 65 :nobodyさん:2008/04/28(月) 18:33:55 ID:???
- PHPだからできる $smarty
- 66 :ムームー:2008/05/02(金) 02:13:12 ID:xWzxYhLM
- $template_dir に関するマニュアルに、
「このディレクトリをwebサーバのドキュメントルート下に置く事を推奨しません。」
と書いてあるんだけど、根拠がわかる人いる?
- 67 :nobodyさん:2008/05/02(金) 02:14:59 ID:???
- 逆になぜ置く必要があるのか
- 68 :nobodyさん:2008/05/02(金) 02:26:22 ID:???
- httpdの設定ミスってテンプレートだだ漏れ
おまけに内部のデータ構造も推測できちゃう作りでしたとかやる奴がいるからだろう
- 69 :ムームー:2008/05/02(金) 03:55:53 ID:xWzxYhLM
- >>64
> 逆になぜ置く必要があるのか
テンプレートを別ディレクトリに配置すると、保守性が悪いから。
>>68
> httpdの設定ミスってテンプレートだだ漏れ
> おまけに内部のデータ構造も推測できちゃう作りでした
テンプレートが見られても、あんまり危険性がないと思うんだけどな。
escape し忘れて XSS される、ぐらいかな。
でも、そんなのはテンプレート見るまでもなく、
実際に入力してみれば escape していないことはすぐ分かるしさ。
- 70 :nobodyさん:2008/05/02(金) 08:18:26 ID:???
- 逆に考えるんだ,公開する必要があるディレクトリをドキュメントルート以下に置くと考えるんだ
もしくはせめてaccessでも使え
- 71 :nobodyさん:2008/05/02(金) 12:35:17 ID:???
- >>69
テンプレの構造を解析されて、直接変数へバッファオーバーフローを起こす様な汚染データを打ち込まれる
- 72 :nobodyさん:2008/05/02(金) 13:35:15 ID:???
- つーかさ、そこまで承知の上ならドキュメントルート以下に置けばいいと思うよ
推奨であってドキュメントルート下だと動作しない訳じゃないんだし
俺はレンタルサーバとかでドキュメントルートにしか置けない場合を除いて別ディレクトリに置くけどな
- 73 :nobodyさん:2008/05/02(金) 14:11:27 ID:???
- 俺はローカル側で管理しづらいという理由でドキュメントルート下に置いて.htaccessで全Deny
- 74 :nobodyさん:2008/05/02(金) 14:25:29 ID:???
- そしてAllow Overwrite Off
- 75 :nobodyさん:2008/05/02(金) 14:31:06 ID:???
- テンプレートをドキュメントルート下に置かないと保守性が悪いとか
ローカルで管理しづらいって、さっぱりわからんなあ
例えばドキュメントルートの一つ上の階層にテンプレートを置くとして
そこを基点に管理するだけの話だと思うんだが
- 76 :nobodyさん:2008/05/02(金) 17:21:49 ID:???
- ぶっちゃけフォルダ移動まんどくせ
- 77 :nobodyさん:2008/05/02(金) 18:53:27 ID:???
- ドキュメントルート外に置くと、相対的に読み込んでいる画像とかCSSとの、パスが切れるって事だろ?
HTMLコーディングしてる最中にプレビュー出来ないってのが面倒だって事だろ?
- 78 :nobodyさん:2008/05/02(金) 19:40:12 ID:???
- >>77
は?お前は何を言ってるんだ
- 79 :nobodyさん:2008/05/03(土) 19:44:56 ID:???
- >>78
templates/index.html
htdocs/image.jpg
というファイル構成だと、
ローカルファイル上で画像チェックをする術が無いって事だよ。
これは、コーダー観点で見ると致命的に面倒。
htdocs以下をテンプレートディレクトリにする事で解消されるから、利便上htdocsに置く人達がいるわけだ。
templatesディレクトリに画像とか置いちゃう方法でもいいんだけど。
- 80 :nobodyさん:2008/05/03(土) 20:00:42 ID:???
- ローカル上のシステムにアクセスして確認すればいいじゃん
- 81 :nobodyさん:2008/05/03(土) 21:44:08 ID:K4MBJC9r
- templates_cの方がやばいだろ。
- 82 :jtb:2008/05/03(土) 21:57:29 ID:???
- 自宅鯖を、レンタル鯖にするところまではできるんですが、ユーザーと、ftpパスワードの保存先ディレクトリどこにしようか迷ってるのですが、普通はどこに保存してますか?
- 83 :nobodyさん:2008/05/03(土) 22:08:53 ID:???
- public_html/secure/ftppass.txt
- 84 :nobodyさん:2008/05/03(土) 23:29:36 ID:???
- >>80
ローカル上のシステムって意味がわからんが。
ローカル鯖でも立てない限り、確認は無理。
コーダーに鯖立て強要(例えXAMPPでも)も厳しい。
OK?
- 85 :nobodyさん:2008/05/03(土) 23:33:32 ID:???
- 開発中はbaseパス設定するなり置換するなり好きなようにすればいいじゃん
- 86 :nobodyさん:2008/05/03(土) 23:36:53 ID:???
- 開発中はtemplateをhtdocs以下に置いてもいいじゃん
- 87 :nobodyさん:2008/05/04(日) 00:40:42 ID:???
- ローカルにサーバー立てられないやつは
この業界から消えていいよ。
- 88 :nobodyさん:2008/05/04(日) 01:46:37 ID:???
- XAMPPのサーバも立てられないコーダなんて糞過ぎ。まぁ、だからコーダなんだろうけど。いやしかし。
まぁ、俺なら*.tpl(*.htmlを含んでもいい)をtemplateディレクトリに、残りをhtdocsに置くスクリプトを用意するけどね。
- 89 :nobodyさん:2008/05/04(日) 02:21:16 ID:???
- XAMPPは地雷だろ・・・
- 90 :nobodyさん:2008/05/05(月) 19:52:01 ID:???
- ローカル環境作ってない奴ってバージョン管理やデプロイ手作業でやってる訳かな?
高校生バイトじゃあるまいし
- 91 :nobodyさん:2008/05/06(火) 12:34:25 ID:???
- デプロイを手作業でやらないって
何を使ってるの?
- 92 :nobodyさん:2008/05/06(火) 15:53:08 ID:???
- テスト環境ならsvn管理下に置いてsvn updateだけど
本番環境は手作業だなあ
- 93 :nobodyさん:2008/05/06(火) 22:40:24 ID:???
- 分散ものに関わるとシェルなりでスクリプト走らすけど、ねえ
- 94 :nobodyさん:2008/05/07(水) 14:15:57 ID:???
- >>93
それもやるけど、しかしコンソールに生のHTML、しかもオーサリングソフトで作ったような多重テーブルとスクリプトが含まれる
テキストはもはや人間の読むものではない。
- 95 :nobodyさん:2008/05/09(金) 04:28:25 ID:???
- デプロイって標準的なやり方ってないのかな。
- 96 :nobodyさん:2008/05/09(金) 06:33:29 ID:???
- >>95
つFFFTP
- 97 :nobodyさん:2008/05/09(金) 12:07:52 ID:???
- >>59
自分はいつも
SetupSmarty
ってつけてる。
- 98 :モモ子:2008/05/09(金) 13:33:34 ID:6V2WpTSb
- テンプレートでいつも {$var|escape} みたいに escape つけるの
面倒だよねー?何かいい方法はないかなー?
- 99 :nobodyさん:2008/05/09(金) 14:51:49 ID:???
- ? ? ?
- 100 :nobodyさん:2008/05/09(金) 16:58:56 ID:???
- >>98
・escape済の変数をassignする
・もしくはdefault_modifiersにescapeをいれとく
お好きなほうでどうぞ。
後者は特定の条件で不具合が発生するので、自力で修正する自信ないならお勧めしない。
34 KB
[ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]
取りに行ったけどなかった。次は一時間後に取りに行くです。新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.0.7.3 2008/07/26
FOX ★ DSO(Dynamic Shared Object)