トップページ⇒php
985コメント270KB

【PHP】フレームワークについて語るスレ13【総合】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/03/24(火) 01:21:08ID:???
PHPのフレームワークに関する話題用のスレッド

●国外産●
symfony
 ttp://www.symfony-project.com/
code igniter
 ttp://codeigniter.com/
Zend Framework
 ttp://framework.zend.com/manual/ja/index.html
CakePHP
 ttp://www.cakephp.org/
Yii Framework ←New!! (Dec 03, 2008)
 ttp://www.yiiframework.com/

●国産
ちいたん
 ttp://php.cheetan.net/
Ethna
 ttp://ethna.jp/
guesswork
 ttp://classic.guesswork.jp/
maple
 ttp://kunit.jp/maple/

●前スレ
【PHP】フレームワークについて語るスレ12【総合】
http://pc11.2ch.net/test/read.cgi/php/1229960175/
0075nobodyさん2009/05/05(火) 15:57:12ID:???
>>71
例えば、

<? ?> #=> <?php ?>
<?= ?> #=> <?php echo ?>

に加えて、

<?== ?> #=> <?php echo エスケープ処理(); ?> (処理内容はPHP_INI_ALLで設定可能)

みたいなタグを追加する、とか?
こんな感じで実装されれば、ショートタグ全盛時代がくるだろうな。
0076nobodyさん2009/05/05(火) 17:54:07ID:???
そこまでして数文字節約できて本当に嬉しいの
0077nobodyさん2009/05/05(火) 18:15:20ID:???
>>76

<input type="text" class="hoge page" style="text-align: right;" name="hoge" value="<?php echo htmlspecialchars($hoge, ENT_QUOTES, 'UTF-8');?>"/>

<input type="text" class="hoge page" style="text-align: right;" name="hoge" value="<?== $hoge ?>"/>

うん。下の方が嬉しいな。

「文字数を節約する」のは特にメリットはないけど、
読みやすくする、その場所で大事でないことはあんまり目に入らないようにするっていうのは
とてもメリットがある。
0078nobodyさん2009/05/05(火) 18:52:25ID:???
テンプレートエンジン使えよ
0079nobodyさん2009/05/05(火) 18:59:28ID:???
>>75
どうせphp本体に手を入れるのなら、「出力は全て自動エスケープされる」モードを作った方がよくね。

俺は今、テンプレートに変数を割り当てた時点(FW側)で全てエスケープされるようにして、
変数にHTMLタグを割り当てた場合、テンプレート側でデコードするようにしている。
但し、>>74の言うようにオブジェクトは除いて別扱いせざるを得ない。
<?php echo や <?= なら自動エスケープ。<?== ならそのままってなほうがいい。
0080nobodyさん2009/05/05(火) 19:13:28ID:???
>>79
理屈はわかるけど、あくまでも、特殊処理をする方を特殊な書き方にした方がいいと思うな。
magic_quotesの悪い前例もあることだし。
それにそうしないと、例えばファイルに書き出すときにはモードをオフに、とかしなきゃいけなくなる。

まあおれの場合は実装の絡まない妄想だが。
0081nobodyさん2009/05/05(火) 19:46:40ID:???
htmlのレンダリングにおいてはescapeしないほうが特殊な処理だし、
安全性を考えたらdefaultでescapeのほうがいいと思うけどね。
0082792009/05/05(火) 20:32:40ID:???
>>80
ちょっと書き方が悪かった。
あくまでFWのview出力において全て自動エスケープ。

たとえば $view->display()としたときにdisplayメソッド内で自動エスケープをONにして
テンプレートスクリプト(生PHP)を処理していく感じ。
0083nobodyさん2009/05/06(水) 03:44:19ID:???
defaultでescapeとかまともに考えたらありえない。
magic_quotes以上のゆとり思考だろ・・・

<?== ?> タグ程度なら、自前で実装出来そうだし、
用意された機能で実装すりゃいいんじゃねーの?

それをテンプレートエンジンと呼ぶかどうかは別にして
0084nobodyさん2009/05/06(水) 03:50:45ID:???
何か問題でも?
0085nobodyさん2009/05/06(水) 07:05:34ID:???
>>83
なんでdefaultでescapeがありえないの?
いや純粋に・・・ゆとりですまそ。
0086nobodyさん2009/05/06(水) 11:41:38ID:???
>>83
前段二行は、まあPHPとはそういう言語(?)だと。
他にもmb_stringの自動変換とかsafe_modeとか、もろもろの余計なお世話で
成り立ってるんだし、他の機能と比べればHTMLエスケープの標準オプション化くらい
なんてことはない。

ただ、エスケープの為だけにタグを"スクリプトでの"実装はあり得ないなw
後半はそういう意図に読めるが、それだけのテンプレートエンジンなんて筋が悪すぎる。
PHP拡張としてパーサレベルで実装してあれば便利かな、ってものだと思う。
0087nobodyさん2009/05/06(水) 12:10:05ID:???
だからsmarty使えばいいじゃん
{$var}で解決よ
0088nobodyさん2009/05/06(水) 12:22:12ID:???
>>87
>>68,71 (とそのちょっと前から)の流れだってば。
そりゃ現実的にはみんないろいろやってるだろうけど、
仮定の話はそんなに面白くないかな?
0089nobodyさん2009/05/06(水) 12:54:21ID:???
じゃSmarty使わない理由をまとめてくれ
0090nobodyさん2009/05/06(水) 13:24:40ID:???
>>89
すごく消極的だが、前提ライブラリは少なければ少ない方がいい、とか。
Smarty以外にもテンプレートエンジンはあるし、どれも標準にはなり得ない。
最近のFWでもテンプレートエンジンを必須の前提にしていないものが大半だが、
その理由と同じってのでどうだろう。

俺は使えればSmarty使う派だから想像だけど。
0091nobodyさん2009/05/06(水) 17:24:24ID:???
数年仕事で使っているが、magic_quotesも、mb_stringの自動変換も、ショートタグも、大半の環境ではオフにされているんだが・・・
実装出来る手段が用意されていて、特別困るものでも無いのに標準機能として盛り込んでしまうと、
裏側の処理を理解していないゆとりPGが泥沼にはまるのが目に見えるわ・・・

そもそもPHPはHTMLを出力するためだけのモノでも無いし、
HTML出力に関しても100%エスケープが必要なものでもない。
0092nobodyさん2009/05/06(水) 19:26:56ID:???
>>91
> 大半の環境ではオフにされているんだが・・・

これらがデフォルトになったのはごく最近の話って認識なんだが。
register_globalsだけが少し早かったと。
実際今までだってここら辺に嵌るのがある意味通過儀礼のようなもんだっただろw

んで、逆にそういう知識が常識として定着した現状なら、いろんな機能がついてても
それほど問題にもなるまいという風に考えてしまうな
0093nobodyさん2009/05/07(木) 13:41:10ID:???
デフォルトでエスケープするのは、いろんなテンプレートエンジンでもそういう機能がある。PHP自体にあってもいいと思う。<?=を別のマクロにすればいいんだろ。エスケープし損なうぐらいなら、余計なエスケープしてしまった方が安全だから。
0094nobodyさん2009/05/08(金) 22:46:49ID:???
つうか、まだ懲りずにSmartyを使っているやつがいるんだね。あおりぬきで驚かされる。
0095nobodyさん2009/05/08(金) 23:30:04ID:???
php5.3RC2がでたようだけど、5.3になってから
これからのフレームワークは具体的にどう変化するの?
0096nobodyさん2009/05/08(金) 23:34:42ID:???
namespaceを使うものが出てくるくらいか?
それだけではそんなに変わりそうな気もしない
何より、フレームワークはあんまりすぐには新バージョンに追随しないと思う
0097nobodyさん2009/05/08(金) 23:54:56ID:???
late static bindingsの導入で静的メソッド主体のユーティリティクラスを
継承して拡張するのは楽になりそう。
0098nobodyさん2009/05/09(土) 00:09:06ID:???
>>97
これか
ttp://jp2.php.net/lsb

self::、parent:: に static:: が加わるってことでいいのかな。
しかしこれを読んだだけでは、parent::のstatic::バージョンも欲しくなりそう。
無いって事は、普通はいらないってことなのだろうか。
0099nobodyさん2009/05/12(火) 06:50:24ID:V/2qAUy/
singletonオブジェクトの初期化パラメータってどう渡す?
・最初のgetInstance時に初期化パラメータを渡す
・staticなsetXXメソッドを実装して初期値を渡す
選択肢としてはこんくらい?
0100nobodyさん2009/05/12(火) 08:28:25ID:???
インスタンス取ってからすべきでは?
0101nobodyさん2009/05/12(火) 08:45:51ID:???
なるほど
コンストラクタでの初期化にこだわってたけど
その方がキレイかも・・ありがとう
0102nobodyさん2009/05/12(火) 13:04:35ID:WVFMmzYl
そろそろ、yiiの日本語書籍とか出ても言い頃じゃないの?
0103nobodyさん2009/05/12(火) 21:23:25ID:???
公式とyiidocで間に合ってる気はする
0104nobodyさん2009/05/13(水) 08:32:44ID:???
>>94
なんに懲りるの
0105nobodyさん2009/05/15(金) 20:00:09ID:wv3qSkZj
フレームワーク本出ますよ。ご丁寧にCodeIgniterまで。
http://www.shuwasystem.co.jp/products/7980html/2277.html
0106nobodyさん2009/05/15(金) 21:55:29ID:???
掌田津耶乃ってまだ生きてたんだな
0107nobodyさん2009/05/16(土) 02:33:23ID:???
PHPを一通り使えるようになった人向けのPHPフレームワークの入門書です。
フレームワークは、Webアプリケーションの全体構造の仕組みを提供し、
プログラマが書くべきコード量を減らしてくれます。
特に複雑で大規模なアプリケーションになるほど効果は大きくなります。

本書では、注目のPHPフレームワーク4種
(CakePHP/Zend Framework/symfony/Codelgniter)の基本を解説。
MVC(モデル、ビュー、コントローラー)アーキテクチャの基礎のほか、
データベース接続やバリデーションの方法や各フレームワークの特徴がわかりますので、
自分の開発するWebアプリケーションに必要なフレームワークを比較・選択することができます。

各フレームワークを収録したCD-ROM付き。

---
注目…?
0108nobodyさん2009/05/16(土) 02:47:04ID:???
>>99
setXXとあんまかわんないけどfactoryメソッド作って、コンストラクタ叩いてstaticなsingleton変数に突っ込めば?
0109nobodyさん2009/05/16(土) 22:53:53ID:???
PHPではグローバル変数を使え。PHPにシングルトンなんて全く実利が無い。IISやJavaなら実利がある。使いたければPHP止めろ。
0110nobodyさん2009/05/17(日) 00:54:10ID:???
>>109
PHP5でコンストラクタもプライベートに出来るようになったし、
staticなメンバ変数も保持できるようになったわけだし、
実利がまったくないってことないんじゃない?

ライブラリ作った場合にライブラリ側で
そのオブジェクトは常に一つしか作成されないのかどうかを出来るっていうのも
ポイントだとおもうけど。
0111nobodyさん2009/05/17(日) 01:56:03ID:???
リクエストをまたいでメモリ上に存在しないオブジェクトに
Singletonは必要ないというのも了見が狭いなあ。
>>110みたいにコーディング上の利点は十分にあるのに。
0112nobodyさん2009/05/17(日) 08:42:30ID:???
>IISやJavaなら実利がある
>PHPではグローバル変数を使え。

の二言で全て台無し。

コンストラクタをプライベートにするもよし、
コンストラクタ内でstaticインスタンスの存在をチェックして、例外を投げるとかで実装上さほど問題無い。
(マジックメソッド系も実装必要ね)
0113nobodyさん2009/05/17(日) 15:17:13ID:???
ま、あんまり意味ないのは確か。
0114nobodyさん2009/05/17(日) 16:11:16ID:???
PHP歴4年。
グローバル変数ほとんど使った事無い
0115nobodyさん2009/05/17(日) 17:37:11ID:???
クラスのプロパティ使ってアクセスするより、
グローバル変数使ってアクセスしたほうが速かったような気がするんだが、どうなんだっけ。
0116名無し募集中。。。2009/05/17(日) 17:50:22ID:wjR/zk6c
仮にそうだとしてもバグの修正は10倍遅くなるぜ
0117nobodyさん2009/05/17(日) 18:47:40ID:???
よく言われてるのはグローバル変数じゃなくてローカル変数ね。
プロパティよりローカル変数にアクセスするほうが速いのは確かなんだけど
マイクロベンチマークで「こんなに違うんですよ」と言えるだけで
実際のアプリケーションの動作からすると誤差の範囲でしかない。
0118nobodyさん2009/05/17(日) 22:42:55ID:???
$_SESSIONや$_REQUEST、みんな使ってるだろ。オブジェクトにすると面倒だけど、ハッシュならprint_rで一発で目視出来る。
0119nobodyさん2009/05/18(月) 00:28:50ID:???
objectにキャストすればおk
0120名無し募集中。。。2009/05/18(月) 01:30:21ID:wP2DRNT9
>>118
みんなが言ってるグローバル変数ってそのことじゃないと思うぞ
0121nobodyさん2009/05/18(月) 02:42:31ID:???
わらたw

つか、グローバル変数云々の問題って
複数人がかかわるようなもの作ったり、いろんなものを組み合わせて使ったり
そういうときに名前(変数名)がぶつかって不具合でる可能性がないようにするため
クラスぷろぱてーやらローカル変数やら使おうって話でしょ

すべてを一人で把握するような規模でかつ独立してるもんを想定してるんなら
グローバルだろうが問題ないとはおもうよ。わしはやらんが

だいたいそんなしょっぱい規模のものだったらフレームワークとは無縁w
0122nobodyさん2009/05/18(月) 02:52:59ID:???
そんなことみんな分かってるんじゃないかな?かな?
0123nobodyさん2009/05/18(月) 08:56:15ID:???
先頭が_ですべて大文字で記述するってルールにすればぶつかるわけがない。PHP自体がそういうグローバル変数を初めから持ってるんだから。
0124nobodyさん2009/05/18(月) 09:25:31ID:???
意味が分からない
「ぶつかるわけがない」と思ってる奴が他にもいたらぶつかるだろ
0125nobodyさん2009/05/18(月) 11:03:40ID:???
グローバルとスーパーグローバルは分けて語ろうな
0126nobodyさん2009/05/18(月) 11:08:25ID:???
問題は$GLOBALSというスーパーグローバル変数があってだな。
でも、むしろこっち使ってもらう方が何かといいかw
0127nobodyさん2009/05/18(月) 13:45:20ID:???
グローバル変数だらけのソースを
保守する人のことも考えて。
0128nobodyさん2009/05/18(月) 15:51:21ID:???
関数やメソッド内で毎回global 宣言するんすかw
0129nobodyさん2009/05/18(月) 21:30:16ID:???
h
0130nobodyさん2009/05/19(火) 00:43:21ID:???
それなりの規模でグローバル変数を多様しないといけないものを作ってしまう時点で
技量不足知識不足と宣言してるも同義
まともなPGなら意図的にそんなことやる意味ないことくらい理解してる
0131nobodyさん2009/05/19(火) 04:39:13ID:???
グローバル変数をなくしたら、今度は大量の引数を要求する関数がうじゃうじゃと(ry
0132nobodyさん2009/05/19(火) 04:43:36ID:???
それは密結合すぎ
0133nobodyさん2009/05/19(火) 08:24:34ID:???
>>131
配列、オブジェクト、クラスを引数として渡せば解決ですね。
0134nobodyさん2009/05/19(火) 09:05:36ID:???
メンバ変数が大量にあるデブクラス
0135nobodyさん2009/05/19(火) 10:35:21ID:???
引数の多い関数/メソッドに関しては

 クラス引数≧配列引数≧普通の引数>>>グローバル変数

で書くべきだな。
グローバル変数を引数として扱うメリットって何なの?
デフォルト値とか型チェックとか面倒な事しか思い浮かばないんだが・・・
0136nobodyさん2009/05/19(火) 12:26:18ID:???
横断的な変数やオブジェクトの格納じゃないか

ログとか全体的な設定とか
0137nobodyさん2009/05/19(火) 12:40:47ID:???
どうしてもグローバル変数を使いたかったら、$GLOBALSを使えばいいのに。
それなら却って、クラス変数やシングルトンなんかでごにょごにょするよりは
PHPのうまみがあるかも。

すくなくともglobal 変数名よりは反感も少ないだろうし、使ってるうちに少しは
多用に疑問も感じるはず。
0138nobodyさん2009/05/19(火) 13:12:52ID:???
>>135
ムシャクシャしてグローバル変数を使った。
動けば何でも良かった。
0139nobodyさん2009/05/19(火) 13:50:36ID:???
$_なんちゃらのスーパーグローバルなやつらみたいにホイホイ使えるからいいんだよw
というか、グローバル禁止ならそいつらもオブジェクトにでも詰め込んでそれを引数にして関数を呼べよと。
0140nobodyさん2009/05/19(火) 14:33:19ID:???
で、グローバル変数を使ってる or 推奨しているフレームワークってあるの?

グローバル定数の代替え手段を理解していない素人が喚いているだけ?
0141nobodyさん2009/05/19(火) 15:09:14ID:???
>>140
フレームワークの話題でなければスレ違い、って意図だと解釈しておく。
配布されているような汎用フレームワークでは、さすがにグローバル変数は使えないだろう。

ただ、そこら辺で実稼働してるような俺流フレームワークなどの規模や必要性なら、
ガチで原理主義なOOPコーディング(っぽいもの)なんかより、読みやすく
手入れしやすいグローバル変数の使い方もできるだろうし、されてるかもね。
要は使い方だって。
0142nobodyさん2009/05/19(火) 17:05:54ID:???
>ガチで原理主義なOOPコーディング(っぽいもの)なんかより、読みやすく
>手入れしやすいグローバル変数の使い方もできるだろうし、されてるかもね。

全く想像つかんw

複数人で開発した際に変数名の競合を防げなかったり、
引数としての型チェックやデフォルト値が設定出来ないわけだが…

コーディング規約を徹底管理すれば何とかなるが、
後者はテストを含め、実装には無駄な手間がかかるだろう。

ロジックや変数の局所化はOOP以前の話だと思う。
0143nobodyさん2009/05/19(火) 17:45:17ID:???
>>142
だから、$_POSTやら$_GETやら$_COOKIEにどこからでも代入出来る時点で、
変数の局所化なんて崩れてるって。
# こいつらを最初にいちいちコピーして空っぽにするのが最近は普通なのかな?

なんで「グローバル変数を使う」 = 「無制限に読み書きする」に直結するんだろう。
読むだけなら何の問題もないって。

規約って言ったって、(決まってる初期処理以外で)$GLOBALSに代入する奴は死刑、
ってだけでいいじゃないか。あくまで、$GLOBALSのみ使うっていう前提だけど。

俺はまあまず使わんけど、便利そうな使い方は想像できなくもないよ。
01441432009/05/19(火) 17:59:28ID:???
って書いて、なんかわかってきた。
自分がそう思うのは、関数(メソッド)の外でスクリプトを書くって事がないからか。
もう全部、下敷きのディスパッチャがある環境でしかスクリプト書かないし、
トップレベルのスコープで書かれた部分って数枚で、増えない。

もしトップレベルでいろいろ書く必要があるなら、グローバル変数に
代入しないわけにはいかないか。
そうなると、さすがにいきなりグローバル変数の参照は怖くてできんわな。

まあどっちにしろ、局所化できるかどうかの話だけだとは思う。
0145nobodyさん2009/05/19(火) 18:04:18ID:???
>だから、$_POSTやら$_GETやら$_COOKIEにどこからでも代入出来る時点で、
>変数の局所化なんて崩れてるって。

言語レベルで周知されている値と、ユーザーグローバル変数を同列には語れないかと。
(素人でも $_POST を上書きしちゃマズイって事くらいは理解しているだろう)
一部の局所化が既に崩れているから、さらに崩して良いという考えかい?


>なんで「グローバル変数を使う」 = 「無制限に読み書きする」に直結するんだろう。

制限事項を規約で作るくらいなら、定数化なりクラス化するのが普通じゃないかね。
言語レベルで制限御出来る機構が提供されているのに、それを使わない理由がわからない。
0146nobodyさん2009/05/19(火) 20:12:14ID:???
全然関係ないけど、CodeIgniterは$_GETを空にするよね。
全然関係ないけどね。
0147nobodyさん2009/05/19(火) 21:13:04ID:???
結局自分がやってるお仕事のせまい範囲でかたってる人がいただけだったというオチ
しかもフレームワークそんな関係ない
0148nobodyさん2009/05/19(火) 21:39:39ID:???
いや、フレームワーク使ってるからこそ、グローバル変数容認論が出るんじゃないかと
そういう意味では関係ある、ような無いような
0149nobodyさん2009/05/19(火) 21:54:40ID:???
PEARは使ってるな
0150nobodyさん2009/05/20(水) 00:06:53ID:???
まぁ、使いまわしをする前提で作成したライブラリにグローバル変数使うのは避けたいかな。
0151nobodyさん2009/05/20(水) 02:14:41ID:???
変なオブジェクト(ビューから呼べないとか)使わされるより、$_REQUESTや$_SESSION使った方がいい。
0152名無し募集中。。。2009/05/20(水) 02:19:49ID:by98XaTN
なんで渡されるのが変なオブジェクト前提なのか解らんが
0153nobodyさん2009/05/20(水) 02:35:48ID:???
Viewからrequestやsessionなんて呼ばないだろ。
0154nobodyさん2009/05/20(水) 07:21:54ID:???
>>151
もう一度MVCを勉強した方がよくね?
0155nobodyさん2009/05/20(水) 13:20:19ID:???
数年使った事ないと書いたモノだが...

サービスロケーターを実現するために、他のクラスに依存しないということにおいてグローバル変数は有用だと思う。
PEARが使ってるのもそういう理由じゃないかな。
スコープがグローバルなのはクラス名も同じ。名前衝突解決法も同じで良いと思うしPEARもそうしてる。
0156nobodyさん2009/05/20(水) 13:50:50ID:???
クラスだと名前衝突が起きた場合にPHP側が警告してくれる。
グローバル変数だと知らぬ内に値が書き換えられる可能性がある。

この差は大きいと思うので、極力クラス化している。
0157nobodyさん2009/05/20(水) 16:36:09ID:???
クラスだと関連する定数持たせたりできるしな
グローバル変数なんて石ころみたいなもん
0158nobodyさん2009/05/20(水) 20:18:38ID:???
PHP標準のセッション管理やクエリーパラメーター管理は、連想配列のグローバル変数。皆これを使ってる。それで十分だから。
0159nobodyさん2009/05/20(水) 20:24:27ID:???
もしPHPのデベロッパーがセッション管理をオブジェクトにすることが有意と思ってるなら、組み込みクラスを実装してるだろう。
が、そんなことしてもメリットは薄いし、初心者に優しいPHPの良さを消すことになる。ので、PHPのセッション管理は連想配列のまま。
0160nobodyさん2009/05/20(水) 23:22:06ID:???
だからこそフレームワークがあるわけだが。
0161nobodyさん2009/05/20(水) 23:37:13ID:???
>>159
クラスオブジェクト作るときってただ単純にセッションを管理したいってだけで作るわけじゃないだろ。
ある一定の目的が定義されてて、その定義にあわせて管理することを考えたときに
一つの意味の集合であるクラスを作るのであって。
PHPのデベロッパーはセッション管理をすることの意味なんて凄く広義的に考えて設定してるから、
グローバルな連想配列になってんじゃないのか。
0162nobodyさん2009/05/20(水) 23:39:50ID:???
そもそも、PHPのスーパーグローバルを否定してる奴はいなくね?
ユーザが勝手に作るグローバル変数をスーパーグローバル変数と同列で語るのがおかしいわけで…
0163nobodyさん2009/05/21(木) 00:01:09ID:???
「ユーザが勝手に作るグローバル変数」が問題になるのは、
結局、仕様書だの会社で規定されてる命名規則だの何だのとかきちんとしてないのに
>>109のようなことをつぶやいて>>127のような人を量産する場合なんだろ。

結局オープンソースだとか使いまわし前提のライブラリだのでそんなの使ってると後で使う人が困ったことになるってだけで。
0164nobodyさん2009/05/21(木) 00:26:39ID:???
スーパーグローバル変数をグローバル変数と勘違いしている輩に振り回されるだけじゃない?
0165nobodyさん2009/05/21(木) 01:01:42ID:???
グローバル変数主張してる人はメリットばかりでデメリットをあげないからなぁ、
単なる素人発言にしか見えないんだわ。

実際になんらかのフレームワークを使った上で、
グローバル変数のメリットデメリットを比較してみてくれよ。
0166nobodyさん2009/05/21(木) 02:12:20ID:???
定数はどうなの?
定数もグローバル(define)じゃなくてクラス定数にしてんの?
0167nobodyさん2009/05/21(木) 02:26:54ID:???
defineは使わん
0168nobodyさん2009/05/21(木) 09:09:50ID:???
定数と変数じゃ用途が大分用途が違うしなぁ
使ったとしても最低限のフラグ程度にしか使わないし
DEBUG_MODE とか、そんな感じのやつ。接頭子もつけてる。

クラスに関する定数は、当然クラス定数にしているよ。
0169nobodyさん2009/05/21(木) 09:46:04ID:???
作りすぎなければ良いだけのこと。まあ、たくさん作ったとしても、どうせリクエストの度に消滅するんだから、それほど気にすることもないが。
0170nobodyさん2009/05/21(木) 10:17:04ID:???
リクエスト内で競合する可能性が問題視されてるのでは?
0171nobodyさん2009/05/21(木) 10:34:56ID:HWozpBcz
>>109に釣られ過ぎだろ
いや、それ以下か。シングルトンいらんって話が、引数を渡すのにとか名前がぶつかるからって話にダウングレードしてるし
0172nobodyさん2009/05/21(木) 13:53:57ID:???
定数を多重定義したらエラーが表示される。
0173nobodyさん2009/05/21(木) 14:55:07ID:P779ZgB3
最近、はてな界隈ではCakePHPとSymfonyの話ばっかりだよ。
あいつら、ZendFrameworkやCodeIgniterの事なんて気にもしてないよ。
0174nobodyさん2009/05/21(木) 15:00:58ID:???
>>173
たんなる感だけど、日本で流行らないのは名前の文字数のせいだと思ってるw
■ このスレッドは過去ログ倉庫に格納されています