【PHP】 Smarty 隔離スレ 【テンプレート】 at PHP
[2ch|▼Menu]
1:nobodyさん
08/02/02 00:21:09 6cKcKeTp
まぬあるURLリンク(www.smarty.net)

2:nobodyさん
08/02/02 00:31:36
smartyのことを聞きたいやつはとりあえずここに書き込め

3:nobodyさん
08/02/02 01:01:34
なんで隔離なの?

4:nobodyさん
08/02/03 10:44:03
ソースと別って意味か?

5:nobodyさん
08/02/09 22:07:45 c9Rr2KUa
HTMLの中にコードが書けるのがPHPの特徴だったのに、なんでテンプレートエンジンなんか使うの?
テンプレート使うくらいならPHPなんか使わずにPerlを使った方が効率が上がるのに。

6:nobodyさん
08/02/12 12:01:15
別にSmartyなんて質問することなくね?

7:nobodyさん
08/02/20 11:19:49 q0lktVll
カスタム関数のdefaultを空白('')にして、かつ、もし値があればstring_format(%0.1fなど)して表示するにはどうすればいいですか?(できればif文を使わずに)
現状では、値が無い場合に0.0という表示が必ず出てしまいます。
defaultを先にしても後にしても同様です。
どなたかお願いします。

8:nobodyさん
08/03/03 05:14:04
ちょっと調べてみたところ
HTMLとPHPが混在した形とSmartとで表示速度が5倍以上違う(当然前者の方が速い)らしいのだけども
なんか他に高速なテンプレートエンジンってないの?
処理速度さえ高速なら機能は最低限でいいんだけど


9:nobodyさん
08/03/03 05:30:31
10msが50msになったところで大して変わらなくね?

10:nobodyさん
08/03/03 15:19:04 FhmTLeYh
>>9
5倍も違うんだと、アクセス多いと如実に効いて来るよ。

11:nobodyさん
08/03/10 20:24:56 la5GJf3w
compile_dir配下にできるファイルの
パーミッションを0600にしたいのですが
smartyの設定でありますか?


12:nobodyさん
08/03/11 08:47:15 GwdF10l+
smartyと関係ないだろ
umaskとかしとけばいいんじゃね?

13:11
08/03/11 11:14:01
>>12
ごめんなさい
smartyの設定ではできないんですね
umaskでやることにします


14:nobodyさん
08/03/11 15:02:25
質問したいんですけどいいですか?


15:nobodyさん
08/03/11 17:15:12
↓どうぞ

16:nobodyさん
08/03/11 21:41:50
それにしても、アンチスレは別だとして
「できない」ってことを言えない人がいるよね。


17:nobodyさん
08/03/12 10:42:36 gvIujdzc
キャッシュを600にする意味って何あるん?



18:nobodyさん
08/03/13 19:13:48
>>17
他人にみられたくないからだろ?

19:nobodyさん
08/03/14 21:01:04
Smartyというのは、既にフォームがPHPで書かれてて、それを自分でカスタマイズするって感じですか?

20:nobodyさん
08/03/14 21:10:40
そんなわけねーだろw

21:nobodyさん
08/03/14 21:30:53
じゃあ初心者には難しいですね

22:nobodyさん
08/03/15 02:54:21
>>21
初心者向けだよ

23:nobodyさん
08/03/15 04:31:17
初心者向けだが、素人向けではない。

24:nobodyさん
08/03/15 18:59:02
どうもお世話になってます。

SmartyはApacheで確認できないんですね

25:nobodyさん
08/03/15 19:03:04
動きました。 ありがとうございます

26:nobodyさん
08/03/18 12:21:04 YNr5gB9L
html_select_dateを使用してデフォルト値を決めた場合、javascriptを使って、変更後の値をデフォルト値に戻すことは可能でしょうか?
例えば開始と終了日付がありリセットボタンが押された際にjavascrptが、動いて片方だけデフォルト値に戻る等

27:nobodyさん
08/04/06 21:01:07
これってけっこうひどいねw
作ったやつらってあまり賢くないよなw

28:nobodyさん
08/04/07 16:47:08
>>27
誰がどう見ても、おまえよりは数倍賢いと思うぞw

29:nobodyさん
08/04/11 13:33:17 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さん
08/04/14 01:03:25 iLkauD+A
assign_by_ref('test', 1)
みたいな事やるとなにがしかのエラーが出たと記憶していたのですが、
今試してみたらエラーが出ません。
どこかのバージョンから変更になったのでしょうか?
それとも元からが勘違いだったのでしょうか?

31:nobodyさん
08/04/14 05:42:53 /O4ED1WG
DQN男の家族消えろ DQN男の親消えろ DQN男の友達消えろ DQN男の親戚消えろ
DQN男の家族消えろ DQN男の親消えろ DQN男の友達消えろ DQN男の親戚消えろ
DQN男の家族消えろ DQN男の親消えろ DQN男の友達消えろ DQN男の親戚消えろ
DQN男の家族消えろ DQN男の親消えろ DQN男の友達消えろ DQN男の親戚消えろ

32:nobodyさん
08/04/18 06:04:17 uLMECrIl
escapeを何度も通過して実体参照を実体参照にしてしまう問題を解決したいです。

<textarea name="hoge">{$hoge|escape}</textarea>
というテンプレートで入力フォームを作りました。

入力フォームに値を入れて画面遷移するとデータベースに入力内容を入れて完了画面がでます。
同じ入力フォームでデータの更新をするページを作ると問題が発生しました。

タグ文字列は通過させながらもHTMLが壊されないようにしないといけないのですが、いい方法ないでしょうか。


33:nobodyさん
08/04/18 06:41:29
入力フォームやらデータの更新とやらの話は関係なくね?

34:nobodyさん
08/04/18 07:33:12
入力文字列をphp側で受け取ったときにunescapeすればいいのでは?


35:nobodyさん
08/04/18 08:13:30 Kck9JNI8
ページの出力時に任意のヘッダを挿入したいとき、
どのようにすればよいでしょうか。

display()する前に、phpのheader()を書くことで、
追加できてはいるのですがコードの流れ的に不自然というか・・
あと、例えばContent-lengthヘッダを追加したいとかなると、
ますますテンプレートと行き来することになり、ますます変な気がします。
Smartyでヘッダ追加の関数はあるんでしょうか。

36:nobodyさん
08/04/19 23:32:19
Smartyつかうとすげー楽になるっていう実例おしえてくだしあ!!

37:nobodyさん
08/04/19 23:35:20
マニュアル見れば書いてあるよ

38:nobodyさん
08/04/20 00:29:00 ui/WcxXd
>>36
キャッシュとかカスタムプラグインとかいろいろ


39:nobodyさん
08/04/20 00:33:38
しかしキャッシュONにするとテンプレート変更しても反映されないのは何とかならないものか

40:nobodyさん
08/04/20 04:24:32
それマジでダルいよな。
変更判定をしっかりやって欲しい

41:nobodyさん
08/04/22 19:44:38
>>36
複数のサーバで同じシステム使っているのだが
phpファイルの変更にはツール使って一発で全サーバ更新できるので便利。
デザインやリンク先の違いも全部吸収できる。

まあテンプレートエンジンならなんでもいいんだけど
速度よりメンテ性重視にするとSmartyになった。

42:nobodyさん
08/04/22 21:38:51
>>41
何それどういうツール?

43:nobodyさん
08/04/23 00:52:29
思うんだけど、Smarty使って{}のコードをhtmlに埋めるのと
PHPの<?php ?>でhtmlファイルをPHP化して埋めるのと、
あまり大差無いと思うんだが。

デザインとプログラムの分離としてしばらく勉強してきたけど、
Smarty専用のコードを覚える=プログラムを覚えることと同義な気がする。

44:nobodyさん
08/04/23 01:22:37
Smatyの機能は{$var}で変数が表示できることだけですよね。わかります。

45:nobodyさん
08/04/23 04:20:00
でも、デザイナがなんとなく書いたPHPコード付きhtmlなんて怖くて使えないだろ?w


誰かSmartyリファクタリングしてくんねーかなぁ、
default_modifiersバグや、キャッシュの反映チェックがぬるい等
便利機能がいまいち使いこなせないのが辛い。

46:nobodyさん
08/04/23 11:20:20
>でも、デザイナがなんとなく書いたPHPコード付きhtmlなんて怖くて使えないだろ?w

それもあるんだよなw
一度デザイナーからhtmlを受け取ってシステム化した後、
修正が入る場合、画像作成とか以外では、PG側がしなきゃいけないもんな。

でも、それもデザイナーがSmartyのソースいじる可能性もあるし、
やっぱり同じ事のような気がする。だから厳密なデザインとプログラムの分離
とは行かないんだよな。

47:nobodyさん
08/04/23 15:25:42 pSFXKy0F
>>42
ボタン1つで複数のサーバにsshアップロードする機能があるFSW。というか自作だけど。

以前はテンプレートエンジンなしでこのツール作ってたが1サイトだけマーキー入れてほしいとかいう要望に対しては
手作業で対応するしかなかった。
もちろんサイト間の差分なんか把握できるわけない・・・

>>46
>>44みたいな使い方もできるし、デザイナにもっと権限を与えることもできる、でいいんじゃないかなあ。


48:nobodyさん
08/04/23 16:01:50
ロジックの分離というより、権限管理的な意味合いが濃いんじゃないかな。

故意にPHPコードを書かない限りは、Smarty内で簡潔するので、安全っちゃ安全。

49:nobodyさん
08/04/23 19:51:43 rNbxu3m+
質問です。
yum install php-Smarty
がインストールできないのですが、なんで?
その前にインスコしておくものはありますか?
CENT OSなんですが....



50:nobodyさん
08/04/23 20:00:10
そんなんで知るかボケ

51:49です。
08/04/23 21:36:12 rNbxu3m+
どこで質問すればいいの?


52:nobodyさん
08/04/23 23:04:45
osスレ

53:nobodyさん
08/04/24 15:44:39
中身はただのphpファイルなんだからtgzファイル落として解凍するだけでいいんじゃね?
こういうのってパッケージ管理使う意味あるのかな。

54:nobodyさん
08/04/24 15:50:43


55:nobodyさん
08/04/24 21:52:29
pearifiedをpearのチャンネルに追加してそっからSmartyをとってくると楽。

56:nobodyさん
08/04/26 23:54:58
ちょっと使ってみた。
sqlserverでカラム名が和名。
select 住所1 from 得意先マスタ
その和名のまま連想配列にしてテンプレートに渡すとエラーになる。
select 住所1 as zyuusyo1 from 得意先マスタ
これで渡すとzyuusyo1でちゃんと取得できる。

まあ、和名テーブルやらカラムを作るなって話だが、今あるからしかたない。
まだまだ、和名には弱いのかなぁ?実はパッチがあったりしますか?

あと、テンプレート側で、都道府県名と言う文字列を含めるとエラーになる。
県名にかえたらエラーでず。
んーーーー。不便。

57:nobodyさん
08/04/27 00:37:38
住所1て

58:nobodyさん
08/04/27 08:48:29
文句を垂れる前に、日本語文字コードについて学べ。

59:nobodyさん
08/04/27 12:24:18
ところで、皆Smartyの拡張クラスの名前何にしてる?
MySmartyだと、何かダサイ気がしてならない

60:nobodyさん
08/04/27 14:53:43
EternalForceSmarty

相手は死ぬ

61:nobodyさん
08/04/28 10:19:07
>>59
変な名前付けてあとでわからなくなるより
MySmarty

かっこいいのがいいなら
SuperSmarty

62:nobodyさん
08/04/28 11:48:26
MySmartyだと用途がはっきりしないので、

SmartyMobile
SmartyWeb
SmartySitename
SmartyView

的な命名の方がよくね?

63:nobodyさん
08/04/28 12:11:28
あれ? 今回なんて名前にしたっけ?
って考えるのが面倒くさいから、いつもMySmarty

64:nobodyさん
08/04/28 18:00:24
俺はいつもYouSmarty

65:nobodyさん
08/04/28 18:33:55
PHPだからできる $smarty


66:ムームー
08/05/02 02:13:12 xWzxYhLM
$template_dir に関するマニュアルに、
「このディレクトリをwebサーバのドキュメントルート下に置く事を推奨しません。」
と書いてあるんだけど、根拠がわかる人いる?


67:nobodyさん
08/05/02 02:14:59
逆になぜ置く必要があるのか

68:nobodyさん
08/05/02 02:26:22
httpdの設定ミスってテンプレートだだ漏れ
おまけに内部のデータ構造も推測できちゃう作りでしたとかやる奴がいるからだろう

69:ムームー
08/05/02 03:55:53 xWzxYhLM
>>64
> 逆になぜ置く必要があるのか
テンプレートを別ディレクトリに配置すると、保守性が悪いから。

>>68
> httpdの設定ミスってテンプレートだだ漏れ
> おまけに内部のデータ構造も推測できちゃう作りでした
テンプレートが見られても、あんまり危険性がないと思うんだけどな。
escape し忘れて XSS される、ぐらいかな。
でも、そんなのはテンプレート見るまでもなく、
実際に入力してみれば escape していないことはすぐ分かるしさ。

70:nobodyさん
08/05/02 08:18:26
逆に考えるんだ,公開する必要があるディレクトリをドキュメントルート以下に置くと考えるんだ

もしくはせめてaccessでも使え

71:nobodyさん
08/05/02 12:35:17
>>69

テンプレの構造を解析されて、直接変数へバッファオーバーフローを起こす様な汚染データを打ち込まれる

72:nobodyさん
08/05/02 13:35:15
つーかさ、そこまで承知の上ならドキュメントルート以下に置けばいいと思うよ
推奨であってドキュメントルート下だと動作しない訳じゃないんだし

俺はレンタルサーバとかでドキュメントルートにしか置けない場合を除いて別ディレクトリに置くけどな

73:nobodyさん
08/05/02 14:11:27
俺はローカル側で管理しづらいという理由でドキュメントルート下に置いて.htaccessで全Deny


74:nobodyさん
08/05/02 14:25:29
そしてAllow Overwrite Off

75:nobodyさん
08/05/02 14:31:06
テンプレートをドキュメントルート下に置かないと保守性が悪いとか
ローカルで管理しづらいって、さっぱりわからんなあ
例えばドキュメントルートの一つ上の階層にテンプレートを置くとして
そこを基点に管理するだけの話だと思うんだが

76:nobodyさん
08/05/02 17:21:49
ぶっちゃけフォルダ移動まんどくせ

77:nobodyさん
08/05/02 18:53:27
ドキュメントルート外に置くと、相対的に読み込んでいる画像とかCSSとの、パスが切れるって事だろ?
HTMLコーディングしてる最中にプレビュー出来ないってのが面倒だって事だろ?

78:nobodyさん
08/05/02 19:40:12
>>77
は?お前は何を言ってるんだ

79:nobodyさん
08/05/03 19:44:56
>>78
templates/index.html
htdocs/image.jpg

というファイル構成だと、
ローカルファイル上で画像チェックをする術が無いって事だよ。
これは、コーダー観点で見ると致命的に面倒。

htdocs以下をテンプレートディレクトリにする事で解消されるから、利便上htdocsに置く人達がいるわけだ。

templatesディレクトリに画像とか置いちゃう方法でもいいんだけど。

80:nobodyさん
08/05/03 20:00:42
ローカル上のシステムにアクセスして確認すればいいじゃん

81:nobodyさん
08/05/03 21:44:08 K4MBJC9r
templates_cの方がやばいだろ。

82:jtb
08/05/03 21:57:29
自宅鯖を、レンタル鯖にするところまではできるんですが、ユーザーと、ftpパスワードの保存先ディレクトリどこにしようか迷ってるのですが、普通はどこに保存してますか?

83:nobodyさん
08/05/03 22:08:53
public_html/secure/ftppass.txt

84:nobodyさん
08/05/03 23:29:36
>>80
ローカル上のシステムって意味がわからんが。

ローカル鯖でも立てない限り、確認は無理。
コーダーに鯖立て強要(例えXAMPPでも)も厳しい。

OK?

85:nobodyさん
08/05/03 23:33:32
開発中はbaseパス設定するなり置換するなり好きなようにすればいいじゃん

86:nobodyさん
08/05/03 23:36:53
開発中はtemplateをhtdocs以下に置いてもいいじゃん

87:nobodyさん
08/05/04 00:40:42
ローカルにサーバー立てられないやつは
この業界から消えていいよ。

88:nobodyさん
08/05/04 01:46:37
XAMPPのサーバも立てられないコーダなんて糞過ぎ。まぁ、だからコーダなんだろうけど。いやしかし。

まぁ、俺なら*.tpl(*.htmlを含んでもいい)をtemplateディレクトリに、残りをhtdocsに置くスクリプトを用意するけどね。

89:nobodyさん
08/05/04 02:21:16
XAMPPは地雷だろ・・・

90:nobodyさん
08/05/05 19:52:01
ローカル環境作ってない奴ってバージョン管理やデプロイ手作業でやってる訳かな?
高校生バイトじゃあるまいし

91:nobodyさん
08/05/06 12:34:25
デプロイを手作業でやらないって
何を使ってるの?

92:nobodyさん
08/05/06 15:53:08
テスト環境ならsvn管理下に置いてsvn updateだけど
本番環境は手作業だなあ

93:nobodyさん
08/05/06 22:40:24
分散ものに関わるとシェルなりでスクリプト走らすけど、ねえ

94:nobodyさん
08/05/07 14:15:57
>>93
それもやるけど、しかしコンソールに生のHTML、しかもオーサリングソフトで作ったような多重テーブルとスクリプトが含まれる
テキストはもはや人間の読むものではない。

95:nobodyさん
08/05/09 04:28:25
デプロイって標準的なやり方ってないのかな。

96:nobodyさん
08/05/09 06:33:29
>>95
つFFFTP

97:nobodyさん
08/05/09 12:07:52
>>59
自分はいつも
SetupSmarty
ってつけてる。

98:モモ子
08/05/09 13:33:34 6V2WpTSb
テンプレートでいつも {$var|escape} みたいに escape つけるの
面倒だよねー?何かいい方法はないかなー?

99:nobodyさん
08/05/09 14:51:49
? ? ?

100:nobodyさん
08/05/09 16:58:56
>>98
・escape済の変数をassignする
・もしくはdefault_modifiersにescapeをいれとく

お好きなほうでどうぞ。
後者は特定の条件で不具合が発生するので、自力で修正する自信ないならお勧めしない。

101:nobodyさん
08/05/10 08:34:44
なんで肝心な不具合とかが修正されないんだろ。
日本とは感覚が違ってて必要とされてないのかな。

102:nobodyさん
08/05/10 09:46:22
Smarty3でも出ない限りは、このままなんじゃね?

103:nobodyさん
08/05/15 19:11:15 ss9CEhce
JSmartyでもry

104:nobodyさん
08/05/19 00:22:26
Smartyの残骸に悩むPHP土方の皆さんごきげんようw

105:nobodyさん
08/05/21 08:04:10
普通に、外部モジュール化したHTMLテンプレートを読み込んで、
正規表現で独自タグを変数に置換して出力。
っていう古式ゆかしきCGI技じゃいかんの?
Smartyの3〜4倍は速いぞ。

106:nobodyさん
08/05/21 08:06:14
まだこういう馬鹿いるのかw

107:nobodyさん
08/05/21 08:12:24
なんでバカなんだ?
ちゃんとロジックとデザイン分離できてるじゃん。

そもそもPerlとか他の言語のテンプレートエンジン全般に言えるけど、
こういうシンプルな目的だったのに、
万人の要望に応えるうちに無駄に富豪化して、
ムーアの法則頼りで突っ走ってるのが、今のテンプレートエンジンだろ。

108:nobodyさん
08/05/21 09:50:33
テンプレートエンジンを使いこなせてない人の発言だなぁ・・・。

デザインとロジックの分離レベルにもよるけど、
ビューで処理すべきロジックもあるって事だ。


if
foreach
include
|escape

あたりは最低限必須だろ。

109:nobodyさん
08/05/21 10:14:55
>107がそう思ってるならその自分のやり方を貫けばいい
>108がそう思ってるならその自分のやり方を貫けばいい

自分の考えを押し付けるのが一番うざい。

110:nobodyさん
08/05/21 12:49:26
そう、自分がやりやすい方式で作ればよろしい
もっとも>>108の挙げてる機能くらいは無いと確かに困るというか
ロジック側でHTMLを吐く必要性が出てくるので嫌

111:nobodyさん
08/05/21 12:49:45
そういう問題ではない。

実装の統一化は今後の開発効率を左右する重要な課題。
ただ、Smartyに何かが足りないのは確か。
結局どこかで独自に使い方を工夫しないといけない場合が出る。

特にescape。

112:nobodyさん
08/05/21 13:06:06
おまいは全世界を統一したい野望でもあるのか?
統一すれば効率はいいだろうが、そんなツマラン世界は御免こうむる

113:nobodyさん
08/05/21 13:44:07
>>109
おまいは、現場でコーディング規約とかに文句言うタイプだろ。

114:nobodyさん
08/05/22 01:18:43
文句言うべきときは言うべきだと思う

//使うなって言われる噴飯モノの現場もあるしな
しかも理由が「/**/と入れ子にできちゃうから」という意味不明具合

115:nobodyさん
08/05/22 01:48:09
>>112
趣味と仕事を兼ねるからツマランのじゃね?
仕事と割り切って出世する事を考えていこうよ。

116:nobodyさん
08/05/22 02:33:05
出世考えるならプログラマー辞めて「プログラムも判る企画/営業」に異動促す努力したほうがええで
いくらコード練っても、中/印/ベトナム経由の「安いだけの人材」がケツ噛み続ける時代
会社としてのポストがなくなる

「MFC超得意だからMSなくなるまでは困らん」と言ってた先輩が潰れて実家の本屋継いだぜ
「PHP? 新し物好きは迷惑だね。perlで一生食っていけるよ」と豪語してた
馬鹿女は、アルコールで精神病院を経て休職後、そのまま元彼と寿退社してリタイアだ。
一番頼れる仲間は某MTAのドキュメントにも名前を連ねる我が社の誇りだった人
今はビル屋上緑化を主とする企業のヒラ営業に転職しちまったぜ。

毎日PHPに限らずコード書かされてて思うが、
なんかそういうドロップアウトした筈の彼らがみんな幸せそうに見えるんだ
なんでなんだろう

なんの話だっけ

117:nobodyさん
08/05/22 12:54:15
オレは給料泥棒 まで読んだ

118:nobodyさん
08/06/01 12:02:10 hyBgIur5
Smartyはプロの世界でもよく使われるんですか?

119:nobodyさん
08/06/01 17:37:18
SmartyのないPHPなんてレモンのないコーヒーですよ。

120:nobodyさん
08/06/01 18:54:42
なぬ?

121:nobodyさん
08/06/02 03:03:23
Smartyを始めたら背が5cm伸びて、彼女が出来ました。

122:nobodyさん
08/06/02 03:08:23
OpenPNEが一日も早くSmarty外ししてくれることを願うよ。つうか俺がコミットすりゃいいのかな。

123:nobodyさん
08/06/02 04:38:00
>>122
そんなことしたら背が縮んで、彼女が離れていくじゃないか。

124:nobodyさん
08/06/02 05:30:17
嫁と分かれたいケースに最適ですかね

125:nobodyさん
08/06/02 05:53:12
>>124
リンクしてコンパイル済みなら分離できません

126:nobodyさん
08/06/02 06:36:26
ライブラリと生活モデル、および資産の依存性を分離して
再コンパイルするしかない訳ですね。
わかります。

127:nobodyさん
08/06/02 18:15:50
再婚パイルをお考えですか。

128:nobodyさん
08/06/03 04:20:49
GirlFriend Pluginがファイル破損しちゃいました。
どこで再配布してますか?

129:nobodyさん
08/06/03 08:16:30
新しいPluginは古いものと互換性がないので、
関連ファイルは全部削除しないとダメだよ

130:nobodyさん
08/06/03 14:28:35
まさかこのスレでふっきれるとはおもわなんだ。
貴様らありがとう。

131:nobodyさん
08/06/04 22:39:07
ウチ、すごいぞw
俺が来るまで何年もプログラミング初心者が入ってきては辞めての繰り返しだったみたいで、
機能つけたしが全てSmarty設置で実現されてるwww
サイトのいたるところにvarだのbinだのがあるwwww
勘弁してくれwwww

132:nobodyさん
08/06/04 22:53:01
日本語でおk

133:nobodyさん
08/06/05 12:25:23
業務でSmartyを使っているのか...

134:nobodyさん
08/06/05 13:57:52
>>134
そりゃ背が伸びて彼女ができるなら使うだろう。

135:nobodyさん
08/06/05 14:50:40
業務だからこそ使うんじゃないの?
逆に趣味とかじゃ使いたくない。

136:nobodyさん
08/06/05 21:38:50
趣味でPHPはないわ。
俺は半年ほど休んでた時期に趣味で遊んだのはSchemeだけだった。
実務(共同作業)がSchemeでも進められるなら、迷わずこれを選ぶ。
しかし近年の現実はどいつもこいつもPerlすら宇宙語だからな。PHP一択にならざるをえない。

137:nobodyさん
08/06/06 13:01:48
PHP + Smarty を使って、お客専用のCMSモドキより、
MovableType4.1 + αカスタマイズのCMSモドキの方が、お客には受けが良かった上に見積もりも良かった!

業務でSmartyを使うなら、隠れて使いたい

138:nobodyさん
08/06/06 21:00:18
そりゃデザインのおかげじゃねーの

139:nobodyさん
08/06/06 22:14:37
見た目以外に判断材料があるやつなんて、最低でもPHPを書けるレベル以上のやつに限られる。

140:nobodyさん
08/06/06 23:39:38
>>139
いや、判断材料としては操作感も重要だけど、使う側と作る側のロジックが違うから
どう考えても不条理な操作が要求されたりするんだよなあ。

もちろん使う人のために作るんだからお客様優先なわけだが、
将来コケるのが目に見えてるから困る。



141:nobodyさん
08/06/06 23:48:35 astBuURj
現在のバージョンは、
・セールスレターテンプレート集(68通)
・売れるセールスレターの書き方
・ダイレクトメールワークシート
・穴埋め式Eメールテンプレート(14通)
・究極のセールスレターツールBOX
など、合計で500ページ近いパッケージとCDROMが
セットになっています。


ただ、この無料お試しはだいぶコストがかかるらしいので
500個の限定だそうです。



興味があればこちらをクリックしてください。
URLリンク(www.123marketing.jp)



142:nobodyさん
08/06/06 23:49:48
>>140
それはあなたが低スキルだからでしょうね。コケて逃亡するのはあなたではないでしょうか。

143:nobodyさん
08/07/10 05:42:24 NxX5vAdg
Smartyで、テンプレート内で送られてきた変数の簡単な計算できませんか?

{$value + 3}など。
試してみたのですが、{$value}の値がそのまま出力されます

144:nobodyさん
08/07/10 09:09:32
つマニュアル

145:nobodyさん
08/07/10 21:23:41
折角公式に日本語のマニュアルがあるというのに全く。

146:nobodyさん
08/07/21 01:40:20 8uak49aQ
■ MySmarty.class.php
<?php
require_once("Smarty/Smarty.class.php");

classMySmartyextendsSmarty {

publicfunction__construct() {
$this->Smarty();
$this->template_dir="./data/templates";
$this->compile_dir="./data/templates_c";
}

}
?>

■ test.php(MySmarty.class.php と同じディレクトリ) → 正常に動作
<?php
require_once( './MySmarty.class.php' );
$o_smarty = new MySmarty();
$o_smarty->display( "main.tpl" );
?>

■ dir.php(MySmarty.class.php の直下のフォルダ) → エラー
Warning: Smarty error: unable to read resource: "main.tpl" in C:\hoge\Smarty\Smarty.class.php on line 1092

<?php
require_once( '../MySmarty.class.php' );
$o_smarty = new MySmarty();
$o_smarty->display( "main.tpl" );
?>

これは仕様なの?

147:146
08/07/21 01:41:40 8uak49aQ
MySmarty.class.phpで半角空白がなくなっていますが、
2chにコピペするときの変換ミスで、実際は正常に動いています。

148:nobodyさん
08/07/21 01:47:07
仕様

149:146
08/07/21 01:52:13
>>148
ええ!? マジすか……。
それじゃ、ディレクトリが多数ある場合は、
全てのディレクトリにMySmarty.class.phpが必要ってこと?
プラグイン自作してどうにかなる話じゃないですよ?w

150:nobodyさん
08/07/21 02:24:44
お前は何を言ってるんだ

151:nobodyさん
08/07/21 03:18:45
>>150
いや、文字通り、Smarty.class.phpを継承した設定済みのMySmarty.class.phpを
直下以外のディレクトリに置くとtemplatesディレクトリの認識がしなくなるのが仕様だったら、
多数のディレクトリ分けしてると超大変だよね、って言ってるんだけど。

>>146が仕様で間違いないのなら、俺は何か間違ったこと言っているか?


152:nobodyさん
08/07/21 09:54:38
さて問題です。

dir.phpからみて
$this->template_dir="./data/templates";
$this->compile_dir="./data/templates_c";
このディレクトリはどこでしょう?


153:nobodyさん
08/07/21 12:55:50
>>152
dir.phpは、MySmarty.class.phpを呼び出しているだけで、
dataディレクトリは、MySmarty.class.phpから見た相対パスだから、
dir.phpから見たdataディレクトリの場所は、関係ないと思うけど。

そもそも、なぜか絶対パスを受け付けてくれんのよね。エラーになる。

154:nobodyさん
08/07/22 08:41:57
>そもそも、なぜか絶対パスを受け付けてくれんのよね。

こっちのほうが深刻というか根幹な問題をかかえてる気がするのだが・・・

155:nobodyさん
08/07/24 14:01:26
PHPは実行されてるファイルの位置がカレントディレクトリになるから……

156:nobodyさん
08/07/24 21:30:17
$template_dir
これは、デフォルトのテンプレートディレクトリの名前です。 ファイルのインクルード時にリソースの種類を指定しなかった場合は、
このディレクトリから探します。デフォルトは ./templates で、 これは、実行しているスクリプトと
同じ場所にある templates/ ディレクトリを探すということです。

という文章からすると「実行しているスクリプト」が基準になるということみたいだな。

157:nobodyさん
08/08/01 21:13:05
Smarty廃れましたなぁ。
そんなことより、PHPもJSPのように
カスタムタグが使えたらいいのにね。

158:nobodyさん
08/08/02 02:29:09
廃れてないけど

159:nobodyさん
08/08/02 19:51:20
スレ立て半年でこの程度の伸びだったら、十分廃れてるだろw
ぶっちゃけ、必要な機能だけ絞り込んで自分で作った方がいい。

160:nobodyさん
08/08/02 19:56:13
いいというのはどういう点で?

161:nobodyさん
08/08/03 10:51:13 4+uLL3BX
でも、テンプレートって言えば、もうSmartyでしょ。

162:nobodyさん
08/08/03 11:32:25
テンプレート機能だけ使いたいならSmartyを使うか、生phpで済ませる
各種FW使うなら同梱されてるテンプレートエンジンを使う

163:nobodyさん
08/08/04 11:49:55
「index.php#xxx」

smartyで↑の「xxx」を取得する方法ってありますか?


164:nobodyさん
08/08/04 22:09:03
>>163
例で示されたxxxの部分は通常サーバ側には送信されることはない。
なのでサーバサイドで動いているsmartyから取得することは不可能。

165:nobodyさん
08/08/05 16:01:03
>>164
ぎょぎょ!
確かにその通りでした。


166:nobodyさん
08/08/06 21:40:18
仮に送信されるにしても、smartyじゃなくPHPから取ると思うんだけどなあ。

167:nobodyさん
08/08/07 20:08:18
テンプレ内で{}使う方法ド忘れした誰かHELP

168:nobodyさん
08/08/07 20:16:02
URLリンク(www.smarty.net)

169:nobodyさん
08/09/04 10:40:28
{include}
で出力された結果が複数行にわたる場合、全ての行に対してインデントさせるにはどうすればいいですか?
{"\t"}{include}
とかしても先頭の行だけしかインデントされなくて

170:nobodyさん
08/09/04 11:33:28
全部divで囲んでCSSで

171:169
08/09/04 12:15:47
ああ、すみません、出力されたソースでの話です・・・

172:nobodyさん
08/09/04 12:25:57
変数に格納してindentかけるとか?

173:169
08/09/04 21:08:05
すみません、変数の宣言はphpファイル側でするものですか?もしそうなら、
配布されているウェブアプリがsmartyを使っているのですが
配布ファイルのバージョンアップの際に面倒なことにならないかな・・・と
というかphpはわからなくて
smartyも触るのは初めてでマニュアルを見ながら触っているのですが・・・

インデントするのも難しいですね
レスしてくれた方々、ありがとうございますm(_ _)m

174:nobodyさん
08/09/04 21:11:12
Smartyの前にやるべきことが・・・

175:nobodyさん
08/09/04 21:31:16
デザイナにはロジックを触らせないコンセプトのSmarty

176:169
08/09/05 00:54:49
すみません、includeのassignでできました
レスしてくれた方々、ありがとうございますm(_ _)m

177:nobodyさん
08/09/24 00:32:25 KMdxurbq
JSPのカスタムタグがPHPにもあればいいのにな。
タグとクラスが一対一になってるのが素晴らしい。

178:nobodyさん
08/09/25 00:09:46 lXgzxRnB
すみません、教えてください。

<p>名前:{$name}</p>

テンプレートに上記のような記述をしたのですが、
「名前:」の部分が化けてしまいます。
テンプレートファイルはEUCで保存してあります。
原因としてはどのような事が考えられますか?

179:nobodyさん
08/09/25 01:02:44
>>178
テンプレートをコンパイルしたあとのPHPファイルを見てみれば?

180:178
08/09/25 02:06:16
>>179
見ましたが、既に化けてます・・・
SmartyがEUC以外の文字コードで
テンプレートを処理しているということでしょうか?

181:nobodyさん
08/09/25 02:17:37
phpの文字コードがあってないんじゃない?

182:178
08/09/25 02:47:42
>>181
あ、Smarty.class.phpがカスタマイズされていました。
SJIS→EUC→SJISみたいな変換してる。
お騒がせしました。すみません。
既存のものとは別にSmartyを入れます。

183:nobodyさん
08/09/26 16:36:37 NKaAViJV
template_cの中身を全部削除しても、template_cの中身を見に行こうとして、
そんなファイルないよっていうエラーが出るんですが、なぜでしょうか?
ためしに、force_compileをtrueにしてみましたが、やっぱり見に行ってしまうようです。

184:183
08/09/26 17:02:20 NKaAViJV
ちなみに、全く同じものを1つ下の階層にコピーすると動きました。
これはいったい・・・。

185:nobodyさん
08/09/26 17:16:56
パスがおかしい

186:nobodyさん
08/09/26 17:23:10 NKaAViJV
>>185
すいません、重要な点を忘れていました。
その別ディレクトリでコンパイルされたテンプレートを、
動かない方のtemplate_cにコピーしてやると、動くのです。
なのでパスが違ってはいないです。
全く謎・・・

187:nobodyさん
08/09/26 17:49:10
そんな断片的な情報では何も判断できないけど謎だね

188:nobodyさん
08/09/26 23:07:17
smartyってsjisだとエラー起きませんでしたっけ?
さっきひさぶりにやってみたらsjisでも問題なく動いた(?_?)

189:nobodyさん
08/09/27 01:11:46
>>188
自己解決しました

190:nobodyさん
08/09/30 23:16:57
>>189
自己解決の詳細を報告しる!

191:nobodyさん
08/10/01 16:25:04
>>190
気合で解決!

192:nobodyさん
08/10/02 16:19:26
preFilterでテンプレートの文字コードを内部文字コードに合わせる。
postFilterで元に戻す。

これは基本だろう。

193:nobodyさん
08/10/03 12:27:37
みんななんでSmartyなんて使ってるんだ。意味がわからん。

194:nobodyさん
08/10/03 19:01:42
名前:<?php echo $name ?>
よりも
名前:{$name}
のほうが書きやすくて可読性も高いから。


195:nobodyさん
08/10/03 19:14:40
それだけじゃなかんべw それだけしか使ってないならもったいないw

196:nobodyさん
08/10/03 19:36:59
<?=$name?>

197:nobodyさん
08/10/03 20:29:13
short_tagwwww

198:nobodyさん
08/10/04 01:57:42
Smarty(というかテンプレートエンジン)の便利さを解らない奴は、
素人or中級者未満だと自覚した方が良いよ。


199:nobodyさん
08/10/04 13:26:02
>>198
PHPそれ自体がテンプレートじゃん
わざわざSmartyを使う意味がわからん

200:nobodyさん
08/10/05 01:31:28
>>199
意味がわからんというのは、君のやってる事のレベルが低いからだと思うよ。

PHP単体でキャッシュ処理や、ループ処理、エスケープ処理、携帯、PC両対応を想定したテンプレートを書いてごらん。
PHPはテンプレートっぽく使えるだけで、実務的にテンプレート管理を行おうとしたらかなりの量のコーディングが必要になってくる。
結局はテンプレートエンジンを作る必要はあるんだよ。


201:nobodyさん
08/10/05 01:40:36
・PHP
<?php echo strlen($var) ? preg_replace("/[\r\n]/", "<br />", htmlspecialchars($var)) : "hoge";?>

・Smarty
{$var|escape|nl2br|default:"hoge"}


202:nobodyさん
08/10/05 06:55:52
なぜphpのほうでnl2br使わんの

203:nobodyさん
08/10/05 11:15:11
modelとviewを分けたいからじゃないの

204:nobodyさん
08/10/05 18:38:44
>>203
どういうこと?

205:nobodyさん
08/10/06 03:08:54
PHP単体で使う人は、 >>201なりPHPで書いたコードを想定してみれば良い。

「そんなコードを書く状況は100%ねぇよw」って言うなら、Smarty使う意味無いけど。

206:nobodyさん
08/10/06 08:52:51
>>202
>なぜphpのほうでnl2br使わんの
知らなかっただけだろ。
あと preg_replace("/[¥r¥n]/", "<br />") だと "¥r¥n" があったときに <br /><br /> になっちゃうから
ここは preg_replace("/¥r?¥n/", "<br />") だよな。旧Macは無視したとして。

nl2br知らないわ、正規表現間違うわじゃ、底がしれる

207:nobodyさん
08/10/06 08:55:31
>>200
>PHP単体でキャッシュ処理や、ループ処理、エスケープ処理、携帯、PC両対応を想定したテンプレートを書いてごらん。

キャッシュは専用ライブラリを使う
ループ処理はPHPのforeachやwhileをそのまま使う
エスケープ処理はhtmlspecialchars()を使うか、短い名前で定義する
携帯、PC両対応はSmartyに備わってる機能ではない




208:nobodyさん
08/10/06 14:44:20
>>207
全部Smartyで出来るじゃんw
使わない理由と、他のライブラリを使う理由を述べよ。

209:nobodyさん
08/10/06 14:59:38
>>204
改行が必ずしも<br />とは限らないからだろ。
ViewがHTMLとは限らない。

210:nobodyさん
08/10/06 15:10:02
>>209
上段はHTML以外も想定してるけど
下段はHTMLのみ想定しているってこと?

211:nobodyさん
08/10/06 17:03:58
>>210
Smartyのnl2brは拡張&動作の置換が可能。

212:196
08/10/06 19:40:07
全部関数書けばいいじゃん

<?=h(e(n($name)))?>

213:nobodyさん
08/10/06 20:27:56
グローバル関数っすかwww

そんなの結局は劣化車輪の再発明でしかないし、Smartyを使わない理由を述べよ。

214:nobodyさん
08/10/07 12:25:11
> 車輪の再発明...
実用レベルでは、してはいけない「車輪の再発明」だが、
言語の学習段階ではレベルアップのために、あえて「車輪の再発明」は必要...

論点ずれた。スマゾ

215:nobodyさん
08/10/07 14:30:17
そんな段階では「発明」でも何でもないし、する必要も無い。
物理習うときにニュートン方程式の再発明から始めるのか?

216:nobodyさん
08/10/07 15:03:12
物理では再発明というか、再発見をおのおのの学生がするものじゃないの?
ぶつりほうそくとは発見ではなく自然の理解であるからして。

同様に、対象を理解するために先人の真似をするのは無駄じゃない。
物理の授業でニュートンがやった実験やるのはべつに遊びってわけじゃない。


217:nobodyさん
08/10/07 15:10:28
初心者の学習段階でよくやるアレは「車輪の再発明」の域にも達してないってことさ。
学習するためにやるものじゃない。

218:nobodyさん
08/10/07 18:26:45
論点ズレすぎ。

車輪の再発明自体は否定も肯定もしないけど、
>>212 とか、再発明の域にすら達してないだろ。

単にSmartyを勉強するのが面倒だから、批判してるだけに見えてしまうんよ。
実際そうなんだろうけどw

219:nobodyさん
08/10/07 21:01:42
patTemplate ってはやってるの?

220:nobodyさん
08/10/08 08:35:32
>>208
>全部Smartyで出来るじゃんw
>使わない理由と、他のライブラリを使う理由を述べよ。

逆だよ。PHPでできるのに、なんでSmartyを使う必要があるのってこと。

221:nobodyさん
08/10/08 08:44:32
>携帯、PC両対応はSmartyに備わってる機能ではない

だからなんなん?
テンプレートエンジンを利用すれば簡潔に記述できるのは事実だろ


222:nobodyさん
08/10/08 14:08:02
>>220
PHPで関数集なり、テンプレートエンジンもどきを作るくらいなら
なんで既存の枯れはてたSmartyを使わないのって事。


まぁ >>212みたいなのを見ても尚、PHPで同じ事が出来る。
と感じているのであれば、何説明しても無駄だろうけどさ。
テンプレート関数毎回作って、毎回デザイナに説明して、毎回デバッグしてるんだろうねw

223:nobodyさん
08/10/08 16:35:41
ああ、、、
だから毎回デスマーチになるのかw

224:nobodyさん
08/10/09 09:57:36
smartyとかテンプレートエンジンのいいとこは
デザイナに渡すときも
あとはよろしくねーって言えること。
マニュアルもちゃんとしてるし。

225:nobodyさん
08/10/09 11:10:47
うちの場合ページが先に出来上がってくるから、それを元にtplを作ってるな。
それでもPHPベタ書きよりはよほど楽だしあとで修正しやすい。



226:nobodyさん
08/10/09 16:09:53
デザイナに include と 変数 の使い方覚えて貰うだけでかなり楽になるよね。


227:196
08/10/09 23:38:15
>>222
> PHPで同じ事が出来る。

逆だよ。Smartyが前提なのではない。
素のPHPに対してSmartyをわざわざ追加する必要が無い、ということ。

しかしほんと、化石みたいなスレだな。
Smarty信者はまだPHP4とか使ってるのかね。


228:nobodyさん
08/10/10 00:21:33
smartyってもうはやってないの?

229:nobodyさん
08/10/10 01:12:51
>>227
必死すぎwww
196のコードなんでPHP4とか以前にPGとしてウンコのレベルだろww

君が無知なのはわかったから
PHP単体じゃテンプレートエンジンとして機能しないのに、
「何故、Smartyは必要ないのか」を具体的に答えてくれよな?

もしSmarty云々じゃなくてテンプレートエンジンがいらねーって事なら論外だ。
初心者スレから出直してこい。


>>228
普通に使われているし、需要も多いよ。
先月にも解説新刊が出た。

230:196
08/10/10 09:49:15
>>229
答えは196に示してある通りなんだが。

俺もSmartyは仕事で3年くらい使ってたよ。

> 「何故、Smartyは必要ないのか」を具体的に答えてくれよな?
> もしSmarty云々じゃなくてテンプレートエンジンがいらねーって事なら論外だ。

じゃあ俺はお前さんにとって論外らしいので、議論の余地は無いな。

SmartyじゃないとMVCが守れない開発者は現場では使えない。

もしお前さんがデザイナーなら、PHPの基礎くらい勉強しろと言いたくなるな。
うちのWebデザイナーはみんなPHP触れるよ。

> 初心者スレから出直してこい。

ここよりレベルの低いスレがあるのか。それは恐ろしいな。


231:nobodyさん
08/10/10 10:34:43
>>225
それだとあとでデザイン修正があったときとかめんどくさくない?
もらったデザインを前のとdiffかけて
差分をtplに反映とか。

ただプログラマが一元的に管理してたほうが
セキュリティ的にはいいよね。
escape忘れただけで大変なことになることもあるし。


232:nobodyさん
08/10/10 15:47:13
196やら212のコードを記述するぐらいなら俺はSmarty使うよ。

233:nobodyさん
08/10/10 17:37:52
196が答えか、、、終わってるなw
こんな輩が得意げに宣ってるからPHPはウンコだって言われるんだろうな。

234:nobodyさん
08/10/10 17:44:35
少なくとも俺の現場ではショートタグは使えない

235:196
08/10/10 23:28:20
212に不満があるのは理解出来るけど、196は良いと思うんだけどな。
209の要件を満たす方法の一つが212で、それは211と大して変わらない。

だけど196は、MVCさえ理解できれば、209で述べられている要件も、
201よりスマートなコードにする事も、満たすことが出来るんだ。

なんでか知らんけど、Smartyを信じる人は知識があって偉い、
そうじゃない人はみんな素人だ、という反論しか戴けないのは残念だな。

>>234
ストローク数の少なさと可読性は若干損なわれるが、
それでもSmartyよりは<?php echo $name ?>のほうがマシだと思う。


236:nobodyさん
08/10/11 00:30:31
>Smartyを信じる人は知識があって偉い、
>そうじゃない人はみんな素人だ

誰もそんな事言ってないから。
君がSmartyを否定するだけの根拠を持ち出さないから素人扱いされちゃうんだよ。
(まぁ、テンプレートエンジンを否定してる時点で底が知れてるけども。)

196が良いって、グローバル変数かつ、ショートタグかつ、エスケープ無しがView的にOKって事かい?
それなら、早急にWEB系PGを辞めた方が良い。

212の記法に疑問を持たないのであれば、
やはり、早急にPGを辞めた方が良い。

一応聞いとくけど、OOP&MVC的に開発する時、どんな構成で作ってるの?
フレームワークとかライブラリとか教えてよ。
まさかhtdocs以下に.phpファイルを量産してたりしないよね?


237:nobodyさん
08/10/11 06:53:44
>それでもSmartyよりは<?php echo $name ?>のほうがマシだと思う。
ほらほらこんな書き方すると単にSmartyを叩いてるようにしかみえないよ

196が同じ人なら、その内容からとてもSmartyを理解してる人には思えないんだよね

>196は良いと思うんだけどな。
PHP(web)初心者だよね(笑)


238:nobodyさん
08/10/11 12:06:19
いやだから、PHPで同じことができるのにわざわざSmartyを使う理由ってなに?
今まででたのは、<?php echo $var; ?> が短く書けることぐらい?

SymphonyとCodeIgniterを使って開発したけど、どっちもSmarty使わなかったし、それで何の問題もなかった。

>>229
>「何故、Smartyは必要ないのか」を具体的に答えてくれよな?
・SmartyでやろうとしていることはPHPでできる
・Smartyは学習コストがかかる
・Smartyは遅い
・Smartyのテンプレートでエラーがあった場合、その行番号がずれている

で、Smarty使う理由って何?
>>229は他人を無知よばわりしてるから、おれの知らないSmartyの利点ってやつを教えてくれ。

239:nobodyさん
08/10/11 12:07:00
まちがえた、Symfonyね。


240:nobodyさん
08/10/11 22:10:00
・SmartyでやろうとしていることはPHPでできる
→ PHP単体では出来ない。別個にエンジンを作る必要がある。
  キャッシュ、フィルタ、プラグイン、コンフィグをPHP単体でどうやって書くんですか?
  
・Smartyは学習コストがかかる
→ 少なくとも独自エンジンやPHPを覚えさせるより、簡単で学習環境も整っている。

・Smartyは遅い
→ 同様の機能(キャッシュ、構文、プラグイン等)を実際に実装して比較してみたかい?
  スレ頭のピュアコードより5倍遅いとかいうのを真に受けてるだけだろw
ビジネスロジック層と比べれば軽い処理なので、システム的には対した差はでねーよw
 
・Smartyのテンプレートでエラーがあった場合、その行番号がずれている
→ ずれてないよww エラー英文すら読めないレベルかwwww
  そもそもPHPのテンプレートエラーはシステムに障害をきたすし、論外だ。

→PHP単体でなく、Smartyを使う理由?
・テンプレートエンジンとして必要な機能を備えている
・拡張がし易い
・デザイナのコードがシステムに混入しない
・PHPテンプレートエンジンとしてはメジャーで扱える人が多い


>SymphonyとCodeIgniterを使って開発したけど、どっちもSmarty使わなかったし、それで何の問題もなかった。
良かったね。
僕らは楽して堅牢なシステムを作るためにSmartyを使ってるんだ。
SymphonyとCodeIgniterの利点を教えて欲しいな(^o^

241:nobodyさん
08/10/13 03:31:41
cakeを上げないあたりにひねくれものな感じがプンプンするぜ

242:nobodyさん
08/10/13 10:28:16
Smartyがデフォルトのテンプレートエンジンになっているフレームワークってありますか。

243:nobodyさん
08/10/13 11:11:34
>>240
>・デザイナのコードがシステムに混入しない

いくらなんでもこれは冗談でしょ。

244:nobodyさん
08/10/13 11:17:06
>>242
普通は自分で選ぶ

245:nobodyさん
08/10/13 11:31:25
>>240
>→ PHP単体では出来ない。別個にエンジンを作る必要がある。
>  キャッシュ、フィルタ、プラグイン、コンフィグをPHP単体でどうやって書くんですか?
PEARにいくらでもライブラリあるけど。プラグインは普通に関数でいいだろ。コンフィグも普通にPHPファイル。

>→ 少なくとも独自エンジンやPHPを覚えさせるより、簡単で学習環境も整っている。
んなわけない。なんでPHPよりSmartyのほうが簡単で学習環境も整っているといえるんだよ。

>→ 同様の機能(キャッシュ、構文、プラグイン等)を実際に実装して比較してみたかい?
>  スレ頭のピュアコードより5倍遅いとかいうのを真に受けてるだけだろw
>ビジネスロジック層と比べれば軽い処理なので、システム的には対した差はでねーよw
おまえこそほんとに測定したのかよ。明らかにSmarty遅いじゃねーか。



246:nobodyさん
08/10/13 11:38:35
>・Smartyのテンプレートでエラーがあった場合、その行番号がずれている
>→ ずれてないよww エラー英文すら読めないレベルかwwww
>  そもそもPHPのテンプレートエラーはシステムに障害をきたすし、論外だ。

「<p>{$var}</p>」と1行だけ書いたテンプレートを用意し、$smarty->assign('var', new MyClass()); してから表示させるとこんなエラー。

PHP Catchable fatal error: Object of class MyClass could not be converted to string in /tmp/templates_c/%%C3^C35^C35E7879%%sample1.tpl.php on line 5

1行目なのに、コンパイルされたファイルの5行目でエラーとなっている。
これでどこがずれてないというの?おまえほんとにSmarty使ってるの?
> エラー英文すら読めないレベルかwwww
とかいうまえに、行番号ぐらい読めるようになろうぜwwww 数字の読み書きなら教えてやるぞwwww

>→PHP単体でなく、Smartyを使う理由?
>・テンプレートエンジンとして必要な機能を備えている
必要な機能はPHP自体がもっている。

>・拡張がし易い
>・デザイナのコードがシステムに混入しない
これはダウト

>・PHPテンプレートエンジンとしてはメジャーで扱える人が多い
PHPそれ自体はSmartyよりはるかにメジャー。PHPなら素人デザイナーでも基本は知っている。
わざわざSmartyを学習させる意味がわかんない。



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4969日前に更新/245 KB
担当:undef