【PHP】フレームワークについて語るスレ10【総合】at PHP
【PHP】フレームワークについて語るスレ10【総合】 - 暇つぶし2ch464:nobodyさん
08/05/08 09:39:12
> 別の言語のMVCフレームワークでも良いという結論になってしまうんじゃないか。
そのとおりだよ。

ただ、フレームワークも込みで、どこのレンタルサーバーで動くようなものはPHPしかない。

Rubyは言語辞退は一定な買ったりバージョンが古いし、
Perlはフレームワークや、必要なライブラリをインストールするのに
Shellやある程度の権限がいる。

PHPとPHP製フレームワーク・ライブラリは、ほとんどが
ファイル配置ですむからね。

あぁ、これがPHPを使っている意味かw

465:nobodyさん
08/05/08 09:40:21
Rubyは言語自体入ってなかったりバージョンが古いし、

466:463
08/05/08 10:10:38
>>464
そうなんだよ、現実を考えるとPHPを使いたいというよりは
PHPを使わざるを得ない、という感じなんだよ。
そして使わざるを得ないPHPでPHPの特徴を消すようなフレームワークを使う。
このジレンマというかもやもやしたものが俺の中に常にある。

>Rubyは言語辞退は一定な買ったりバージョンが古いし、
>Perlはフレームワークや、必要なライブラリをインストールするのに
>Shellやある程度の権限がいる
これはレンタルサーバ屋によるというか、PHPも最新バージョンを使いたい
(特にセキュリティホール絡みで)時は、結局自分で最新版をコンパイルすることになって
権限やShellが必要になるので、ほんと、レンタルサーバ屋によるとしか言えないな。


467:nobodyさん
08/05/08 11:24:56
ベタ書き=PHP+XREA
MVC=Python+Google App Engine
がいいかな?

468:nobodyさん
08/05/08 11:33:59
悪くないんじゃね。適材適所?
GoogleAppEngineは本サービスの内容次第だけど

469:nobodyさん
08/05/08 12:49:25
FWと独立したORMがもっとでてこねーかな
好きなFWに好きなORMを組み合わせるみたいな使い方が一般的になればいいのに

470:nobodyさん
08/05/08 12:54:43
直SQLで十分。

471:nobodyさん
08/05/08 13:01:46
ティンポニーの新しいヘルパって
クラスメソッドになったんだっけ?
<?php echo HogeHelper::url_for('default/poge')?>
みたいな風に書くの?長くね?

472:nobodyさん
08/05/08 13:20:40
>>466
本末転倒になってね?

PHPの(いけてない)特徴を消すのが何が悪いの?

473:nobodyさん
08/05/08 14:41:46
いけてないPHP?
綺麗事抜きでドラスティックに行きましょうや

ベタ書き+直SQL = PHP+XREA
MVC+ORM = Python+Google App Engine

簡単にできることを複雑にやる必要はない
Python、Java等と使い分けて適材適所で

474:nobodyさん
08/05/08 14:52:22
開発言語なんて自由に選べるものでもないし、
サーバーサイドで複数の言語が混在したシステムなんて考えたくもない。
ただ、PHPの言語仕様がさほど特徴的とも思わない。

自分は標準ライブラリが整備されてて、メジャーだからPHP使ってる。

475:nobodyさん
08/05/08 15:13:05
>>473
まず、君は何の為にデザインとロジックの分離という
考え方が存在するのか、なぜORMというものが存在するのか、
その理由を知ったほうがいい。

話はそれからだ。

(そのあとで、なぜPHPにはそれが当てはまらないというんだ?と聞く予定)

ついでに、なぜテンプレートを使えば、
RubyやPythonでも、PHPと同じようにHTMLの中にロジックを
書くことが出来るわけだが、なぜその方法を使わないのか。
君はこっちのほうが簡単だ。といいたいんだろう?

476:nobodyさん
08/05/08 21:45:25
>>475
で、どれがデザインとロジックの分離できてるわけ?
Rails? JSF? Django? どれもできてないじゃん。
実際できるのがあったとして、それはメジャーなん? 使い物になるだけの速さでるの?
できてもない『デザインとロジックの分離』という幻想を抱いて死んでくれ。

おれは断然>>454支持するぜ。

477:nobodyさん
08/05/08 22:39:24
まあ極端にならんと。
どっちの利点も判らんでもないけど、中庸ってのも考えなきゃ
妥協点ともいうか

たとえ幻想でも雑魚をまとめる旗印にはなるしw

478:nobodyさん
08/05/09 00:59:50
自分が楽な作り方を選べばいいじゃん。
一人でちっさなツール作るなら、べたに書けばいいんじゃね?

中規模以上のものを作るにはMVCが作りやすいがね。

479:nobodyさん
08/05/09 02:21:08
プログラムとは一言でいえば「データ+処理」
それ以上でもなければ、それ以外でもない

WEBアプリ=DBラッパー

DOA→ベタ書き+直SQLで充分
OOA→MVC+ORMで楽できる

フレームワークは他人の知恵を借用して楽できるツール=使わなきゃ損
普段フレームワークを使っていれば、逆にフレームワークを使うまでもない状況かどうか判断できるはずだよね?

お問合せメールフォーム1ページ作るのにsymfony使ってますとかは漫才www

480:nobodyさん
08/05/09 03:21:13
インプットチェックで異常があったらフォームを再表示みたく、処理結果によって表示するページが
異なったり、複数の処理結果に対して同じページを表示したいことがあるのは普通だから、
ビューを分離するのは良いんだけど、DBアクセスは、同じ処理をしたいことは多くないし、
無理にまとめるとパフォーマンスが劣化するから、モデルとしてまとめることに利点があるのかは疑問。

コントロールも、自分の場合トランザクション前の処理、トランザクション中の処理、トランザクション後の処理、
次のページ取得を呼び出すクラス作って継承する程度で十分間にあってる。

ビューについては、そもそもがベタ書きみたいなもんだし。

フレームワークは、特定のフレームワークが業界内において支配的な立場になり、
その上で動作する使い勝手が良いパーツが流通しなければ、大してメリットなんかないと思ってる。

ソースコードの可読性は考慮すべきだけど、フレームワークを導入しただけで可読性がよくなる
わけじゃないし、フレームワークを導入しただけで大きなメリットがあるわけでもないなら、
フレームワーク使うべきって論はどうかなぁって思う。

481:nobodyさん
08/05/09 13:09:55
フレームワーク使うべきかどうかってそういう次元の話じゃなくて、
単にフレームワークを使ったほうが楽だから使うだけだよ。

> DBアクセスは、同じ処理をしたいことは多くないし、
同じ処理あるよ。検索処理や、検索結果を扱いやすいように
構造化されたハッシュ・配列に入れる処理。
JOINしたときとか、二次元の表よりも階層化された
配列に入ってくれたほうが楽だよね。

> その上で動作する使い勝手が良いパーツが流通しなければ、大してメリットなんかないと思ってる。
意味がわからん。PEARライブラリとか普通に使えるだろ。
フレームワーク専用のパーツなら、普通に使い勝手が良いパーツが組み込まれている。

だからこそ便利であり、使うんだが。

> フレームワークを導入しただけで可読性がよくなるわけじゃないし
良くある言い方だね。銀の弾丸じゃないならメリットがないとする極端な考え方。

銀の弾丸なんて存在しない。だけど普通の弾丸なら存在する。
弾丸が効かない敵がいたって、効く敵もいるんだから弾丸はあったほうがいいだろ。

フレームワークを導入すると、可読性が良くなる場合もあるし
少しでもメリットがあるのなら、あったほうがいいだろ。

482:nobodyさん
08/05/09 21:42:19
>>475
>まず、君は何の為にデザインとロジックの分離という
>考え方が存在するのか、なぜORMというものが存在するのか、
>その理由を知ったほうがいい。
>
>話はそれからだ。

なにこのえらそうなバカ。おまえはデザインとロジックの分離ができてるの?
こんだけえらそうに語ってるんだから、きっと完全な分離ができるんだろう。
で、どれを使ったらできるの? Symfony? Cake?
教えて、コーマンチキな475さん

483:nobodyさん
08/05/09 22:56:26
「話はそれからだ」ってのは「理由は聞かないで下さいっ >_<」って意味なんだから、そっとしといてやれよ。

484:nobodyさん
08/05/09 23:11:23 a3XtheQg
>>482
>>475じゃないけどsymfony+smarty使ったことあるかい?


しかしMVCは良いとしてもO/Rマッパはなんとかならんもんかね

485:nobodyさん
08/05/10 01:24:53
>>484
あんな糞なもん使ったって何の自慢にもならねーよw

まあ、sfSmartyPlugin(だっけか)の品質の問題はともかく、
デザインにもロジックはあるのだよ。

ORMはおかしいよな。テーブルとモデルが一対一になってる。
おかしいのはPropelだけなのかもしんないけど。
そんなの変だよ、当たり前じゃないか、みたいなレスを貰ったのでほっとした。

486:484
08/05/10 03:06:24
>>485

>>デザインにもロジックはあるのだよ。
それ言ったらjspも(ry

>>ORMはおかしいよな。テーブルとモデルが一対一になってる。
いや別に。
漏れがどうにかしてほしいと思っているのはpropelの使い方だけ。
doctrineもpropelもSQL文直打ちしていた人からしたら使いづらいと思うんだよね。
executeQuery()使えばいいんだけど、それだとO/Rマッパーの意味ないしな。

>>そんなの変だよ、当たり前じゃないか、みたいなレスを貰ったのでほっとした。
フレームワーク反対派に賛同したつもりはないんだが・・・・・。
ある程度規模でかくなればクラス分割してlib配下に設置してあげるだけでオートロードしてくれたりするから再利用も行いやすい。
フレームワークは結構便利だと思う。
でもそこまででかくならないんだったら別にいらないよなーって感じじゃね。
symfonyぐらいのフレームワーク使うんだったらメリットでかいと思うけどCakePHPやPiece Frameworkレベルだと別になくても良い様な希ガス。


487:nobodyさん
08/05/10 10:23:21
小さいのを作るにはフレームワークを使わなくても出来るけど、
大きいのを作るにはフレームワークを使ったほうが便利。

便利な方法と、不便な方法。どちらを選ぶかは
考えるまでも無い。


488:nobodyさん
08/05/10 10:26:41
>>485
> デザインにもロジックはあるのだよ。

そうだね。でどうしろと?

どうせデザインにロジックがあるのだから、
各自勝手に作れといわんだろ?

あんた極端なんだよ。完璧じゃなければ必要ないとか考えてるだろ。

もう少しバランス感覚養ったほうがいいんじゃないのか?
1か0じゃなくて、どちらのほうが優れているかで話をしろ。

489:nobodyさん
08/05/10 11:47:06
JavaのApache Wicketというフレームワークは
テンプレートにHTMLを使う。
JSPみたいな独自タグや{hoge}みたいな独自識別子を使わない。
現状のWicketが完璧とは言わないけど(メジャーとは言い難いし)、
その方向性はいいなと思える。

ViewはHTMLのテンプレートを使って
ロジックはどの言語でもいい、みたいなもの(Viewテンプレートとロジックのブリッジみたいなもの?)ができれば
言語やフレームワークごとにViewの独自タグや独自識別子を使い分けなくてよくなると思うんだけどな。


490:nobodyさん
08/05/10 12:08:18
即席で作るだけなら生書きの方が速いことも多いが
保守を考えるとフレームワーク使わないときついだろ

491:nobodyさん
08/05/10 22:09:04
>>485

> ORMはおかしいよな。テーブルとモデルが一対一になってる。
おかしい理由は?

DAOとしての面ではあるテーブルに対する操作が一つのクラスに集約されるから見通しが良くなるが。

492:nobodyさん
08/05/10 22:28:21
SQLって単体のテーブルごとにアクセスするものではないからだと思う。
パフォーマンスを考慮したSQLとの相性は悪いんじゃなかろうか。

493:nobodyさん
08/05/10 23:26:26
>>492
結合する処理をモデルに実装するから、そうでもないよ。
例えばユーザを結合したコメント一覧を取得するアクセスロジックをコメントモデルに持たせるとか。
ORMがアソシエーション機能を提供してたりもするし(あまり好きではないけど)。

Someモデルはsomeテーブル以外を知ってはならないということはないと思う。特にActiveRecordでは。

494:nobodyさん
08/05/11 00:27:11
runkitでaopみたいなことしたかったけど
セッションハンドラに登録したメソッド書き換えたら
segmantation fault出るようになった
やっぱまだ不安定なんだな・・・面白い拡張なんだが

495:nobodyさん
08/05/11 00:39:19
俺485。おまいらレスありがとう。
でも書いてもらった日本語がよくわからない。
俺もいいかげんな発言してたので、真面目に書き直しておく。

>>486
お前は本当にsfSmartyViewPluginを使ったのか?
sfSmartyViewPluginを使わないでsymfonyで開発した事があるか?

sfSmartyViewPluginがビューとロジックの分離における有効策と考えてるなら、
それはあまりにもロジックを排除する事に対して神経質になりすぎだと思う。

symfonyは標準ではPHPの構文をテンプレートファイルに記述する。
確かにこの書き方だとHTML内にロジックが書けてしまうので束縛が無い事が嫌かも知れないが、
ビューにはビューを成立させるためのロジックがあっても良いと俺は考える。


496:nobodyさん
08/05/11 00:43:17
俺は485なんだけど441でもある。
>>485の後半に書いた事は>>484に言ったというより、過去のレスへの返答だった。

>>442
前者です。

>>443-444
自明だよな。その書き込みを見てほっとしたぜ。

ってことだった。


497:nobodyさん
08/05/11 00:50:47
つーか休まないと日本語処理能力が低下しまくっていかんな。

>>488
sfSmartyViewPluginよりもsymfony標準のテンプレート書式の方が優れている。
というか、sfSmartyViewPluginは完璧に使い物にならないと心底思う。
sfSmartyViewPluginは足かせにこそなれ、利便性は何も齎してくれない。

反論はあるだろうけど、ビューに制約を課す事とMVCを考慮する事は全く別だと思う。

>>491
結合とはある単一のテーブルが行う処理ではないから。

498:nobodyさん
08/05/11 01:04:31
一対一でマッピングされてるからって
そのテーブルに対して「のみ」のモデルじゃない

499:nobodyさん
08/05/11 03:58:08
いまだにsmartyとか言ってる意味がわからん
検討にすら値しないだろ

500:nobodyさん
08/05/11 04:09:26
結局viewヘルパってどれがいいんだろうな?
・関数
・クラスメソッド
・$this(viewクラスあるいはcontrollerクラスのインスタンス)のメソッド
・$this以外の、view空間にassignされたオブジェクトのメソッド
個人的には最後のものに可能性を感じるが・・・
状態を持ちやすい、動的に変化させやすいという意味で。
複数のクラスのメソッドを集めるmixin的な機能が要りそう。
そこがキレイにできれば・・

501:484
08/05/11 05:00:31
>>495

>>お前は本当にsfSmartyViewPluginを使ったのか?
>>sfSmartyViewPluginを使わないでsymfonyで開発した事があるか?
当たり前

>>それはあまりにもロジックを排除する事に対して神経質になりすぎだと思う。
おまい日曜プログラマ?プロジェクト内にテンプレート側にがちごりでロジック書くウンコいたらどうすんの?
デザイン変更したい~なんてお客さんから要望あったらデザイナーにテンプレート渡すだろ?
テンプレート側にロジックかかれたら・・・・・後はわかるよな。
使わなくていいんだったら漏れもつかわねーよ。プラグイン入れるのマンドクセ


502:nobodyさん
08/05/11 08:41:33
>>484
>symfony+smarty使ったことあるかい?
smartyで「デザインとロジックの分離」が実現できるとでも思ってるの? バカ?

>>485
> デザインにもロジックはあるのだよ。
そのとーり。WicketやMayaaやTapestryでは確かに「デザインとロジックの分離」ができるけど、smartyなんかじゃ全然できない。

>>488
> そうだね。でどうしろと?
おまえはなにもするな。smartyごときで「デザインとロジックの分離」とか偉そうに語るな。

> あんた極端なんだよ。完璧じゃなければ必要ないとか考えてるだろ。
完璧にほど遠いものをさも完璧なように語るおまえがバカなだけ。
PHPにはWicketもMayaaもないんだから、デザインの分離なんか考えるだけ無駄。

> もう少しバランス感覚養ったほうがいいんじゃないのか?
> 1か0じゃなくて、どちらのほうが優れているかで話をしろ。
他人の言葉をうのみにしているおまえこそ、もっと現実をみたほうがいい。
実現できてもないことに、1も0もないだろ。バッカじゃない?




503:nobodyさん
08/05/11 08:51:20
>>498
そういう解釈をいれないといけないあたり、相性が悪いんじゃないかと。
出来ないって話はしてないつもり。

そもそもモデリングってのは本質的ではないものを隠蔽したり相殺したりして
扱いやすくするものだと理解してるんだが、パフォーマンス的なことを考えると
SQLはそれ自体が本質的で、隠蔽されるべき対象ではないと思う。

機能的なことだけ考えれば良いのなら、SQLを隠蔽するのは正しいだろうけど、
それは贅沢だなぁって思う。

504:nobodyさん
08/05/11 09:50:03
モデリングの時点でオブジェクト間の関連は定義されるんだから相性が悪いということはないと思うけどな。
設計(仕様)上、記事テーブルがユーザテーブルに依存するなら、記事モデルがユーザモデル(テーブル)を知っていていいし、依存してもいい。

ただ、今までORMレイヤをリリースしてきた人達が「SQLを書かなくていいよ!楽チンだよ!」ってところを押しすぎたのは良くない。
複雑なフェッチが必要な場合はSQLを発行して結果を返すメソッドをモデルに持たせればいいのに、
「(極端に言えば)SQLを書いちゃいけない」という固定観念のもと、SQL以上に複雑な手続きによるフェッチだったり、
複数回SQLが発行されることを厭わない実装がある。

バランスとれればいいんじゃないかな。多くの部分ではSQL書かずに楽するし、SQLが必要なら(モデル内に)SQLを書く。

SQL書いたらORMが謳う「簡単なデータベースの切り替え」ができなくなるって?
大丈夫。開発中にデータベースが変更になることはまずないし、「ついで」程度の機能でしかない。


505:nobodyさん
08/05/11 13:40:27
オープンソースのフレームワーク開発ってどういうビジネスモデルなんだろ?
symfonyとかciは企業が作ってるけど
どこで利益あげてるのかな?
知名度を上げて受注を増やす形?

506:nobodyさん
08/05/11 14:20:23
ひょっとしてそれはギャグで(ry

507:nobodyさん
08/05/11 14:24:05
いやギャグじゃないよ
どこからか金が環流しないと時間と労力投入できないじゃん

508:nobodyさん
08/05/11 14:44:30
>>502
お前の言うデザインとロジックの分離っていうものはいったいどれぐらいのレベルを言ってるんだ




それにしてもヒステリックなやつだな
もうちょっと落ち着けよ
お前みたいな趣味でやっているやつにはMVCはいらないと思うけど現場では実際に必要とされてるんだよ

509:nobodyさん
08/05/11 14:49:35
デザインとロジックの無意味な議論うぜぇ

510:nobodyさん
08/05/11 15:03:35
>>508
>>502じゃないが、デザインとロジックの分離のレベルは
WicketやMayaaレベルを言ってるんだろう。
俺も分離するならそのレベルが妥当だと思う。

逆にそのレベルで分離できないなら、
開発者には必要とされてもデザイナには使いにくいことに変わりないと思う。

511:nobodyさん
08/05/11 15:25:06
>>510
んなこたーない。ロジックが書かれたphpファイルより全然いいだろ。
.htmlファイルを直接テンプレートとして使えるし部分的にロジックが入るようであればそこはプログラマが修正してあげればいい。
そもそも一番のメリットは上に書いたがテンプレートにロジック書くようなウンコ野郎を排除するところだし。


512:nobodyさん
08/05/11 15:54:25
>>511
>んなこたーない。ロジックが書かれたphpファイルより全然いいだろ。
>.htmlファイルを直接テンプレートとして使えるし部分的にロジックが入るようであればそこはプログラマが修正してあげればいい。
すまんが主語は何だ。smartyが、か?
WicketやMayaaはテンプレートがHTMLなので(独自タグや{if}等が無い)、
HTMLしかしらないデザイナも扱いやすいし、
HTML編集ソフトでテンプレートを読み込んで修正しやすいのがメリットなんだが、
そんなメリットは必要ないってことか?


513:nobodyさん
08/05/11 15:55:42
RDB使ってる時点でSQL便利は自明
SQLイヤならOODB使うしかない

514:nobodyさん
08/05/11 16:05:35
Javaのテンプレートには、PHPのSmartyよりも優れたものがあるんですね。
参考になります。
ついでにPHPにも移植してください。

Wicket
URLリンク(www.wicket-ja.org)

Mayaa
URLリンク(mayaa.seasar.org)

515:nobodyさん
08/05/11 16:19:02
>>513
そう、SQLってかなり完成度高いんだよね。

SQLで拾った値でインスタンス作っても作らなくてもいいんだけど、
拾うためにインスタンス作るのに何のメリットがあるのか。

SQLをラップするのって、正規表現が分からない人向けに正規表現エンジンをラップして
簡単なテキスト検索エンジンを作ってるような気持ち悪さを感じる。で、正規表現をつかう
抜け道も用意してありますみたいな。

516:nobodyさん
08/05/11 17:42:48 tIr1XyIc
>>512
先生、WicketやMayaaをsymfonyと連携させる方法を教えてください><
smarty使わないので教えてください><


517:nobodyさん
08/05/11 17:43:09
sage忘れちゃったよ
ごめんね

518:nobodyさん
08/05/11 17:49:27
SMTPのプロトコルが分からない人向けにその部分をラップして
簡単にメールを送信するmail()関数がある。で、プロトコルしゃべる
抜け道も用意してある。

SQLラップするのも正規表現ラップするのも同じ。ライブラリとはそういうもの。


519:nobodyさん
08/05/11 17:52:41
SMTPはプロトコルとしての完成度高く無いじゃん。ただの規格。

520:nobodyさん
08/05/11 17:58:59
>>519
ん?完成度が高いものはラップする必要なく、低いものはラップして当たり前ということ?

521:nobodyさん
08/05/11 18:49:51
ラップの必要性の比較で言えばいうまでもなくそうだろ

522:nobodyさん
08/05/11 19:01:31
まぁ抜け道が前提のラッパーを見て、何も感じないなら、それはそれで才能だと思う。
PG/SIerとしては、そっちのほうが幸せかもしれん。

523:nobodyさん
08/05/11 19:19:10
>>521
で、その完成度の高い低い、ラップすべきしないべきは誰が決めんの?
結局自分の趣味趣向で言ってるだけなんだよなぁ。

524:nobodyさん
08/05/11 21:01:26
>>501
> プロジェクト内にテンプレート側にがちごりでロジック書くウンコいたらどうすんの?

クビにするべきだろう。

> デザイン変更したい~なんてお客さんから要望あったらデザイナーにテンプレート渡すだろ?

テンプレートを渡すという事は、責任を渡すという事と同義だよ。

> 使わなくていいんだったら漏れもつかわねーよ。プラグイン入れるのマンドクセ

こう言ってるって事は、理不尽さを感じながら妥協をしていて、それを愚痴ってるんだと思うんだが、
たぶんプログラムに制限を課すより、体制を考えなおしたほうがいいと思うぞ。

たとえば、ウンコ書くプログラマが居る可能性がある時に、
そのプログラマが極力コードを書けないように制限する事は困難だと思う。
制限を課す事に手間を割くくらいなら、生産性のある作業に注力した方が良いんでないかい。


525:nobodyさん
08/05/11 22:06:59
>>524
なんかもう精神論じゃん。
フレームワークを改良するって発想がそんなに嫌かね。

526:nobodyさん
08/05/11 22:15:43
>>524
本当にプログラマ?
すぐクビにするとかテンプレート渡す=責任を渡すとか
到底社会人の発想とは思えないんだが。
サンデープログラマや、開発者とデザイナが分かれてない業務しかやったことないのを否定はしないが、
分業化されてるプロジェクトの場合も想像できないと、この話を進めるのは無理だと思う。

527:nobodyさん
08/05/11 22:19:14
RubyでもWicketの仕組みを実装する動きがあるみたいだな…


528:nobodyさん
08/05/12 00:11:47
SQLが便利ってマンセーしてる人って、文字列およびプログラム内のデータ管理に
自信のある人なんだなーって素直に感心してる俺w

とりあえず、外部からの入力値を元にしたSQLの動的な組み立てを自分でする気には
あんまりならないんだが、モデルってそういう所の面倒をみるってことはそんなに重視
されてないの?
まあ「MVCのモデル」ってレベルではなく、DBIインターフェイスレベルの話ではあるん
だけどw

529:nobodyさん
08/05/12 00:52:56
SQLを一切書かずORMだけでRDB使えてますか?
SQLより速くてインピーダンスミスマッチのないORMがあったら教えて!><

分類 / 基礎となる計算モデル / 例
1. 手続型言語 / チューリングマシン / C, Java
2. 問合せ言語 / 関係モデル / SQL
3. 関数型言語 / ラムダ計算 / Lisp, Haskell
4. 論理型言語 / 一階述語言語 / Prolog
(2~4は、非手続型言語)

↑1~4のどれでも使えるようにしておいた方がいいよ
=RDBを使ってる人はSQLも必須スキル

URLリンク(www.amazon.co.jp)

530:nobodyさん
08/05/12 01:12:44
うーんなんだろ。全然違う部分で話しちゃってるのは自覚してる

「SQL」って言っちゃうと、結局最終的に「文字列」に落とし込まなきゃいけないのが
違和感があるのかも
メソッドの引数とかオブジェクトのプロパティとかなら抵抗ないのに・・・

PerlやRubyで /\A"[^"]+"\z/ みたいなリテラルで書くことの出来る正規表現を、
文字列として "/\\A\"[^\"]\"\\z$/" って書かなきゃいけない歯がゆさみたいなw

だから、変数的な部分をプレースホルダにしたprepare(), execute() インターフェイスが
あれば、それで良いのか。それなら、変数的な部分以外はけっこうソリッドに組み立て
られる、と考えて・・・でも、やっぱりパラメータの数が変わったらプレースホルダの数も
変わるし・・・

いかに簡単にSQLを組み立てるかっていうツールとしてのモデルの効能が、あんまり
問題になっていないから書いてみたっていうだけ。低レベルだとは思うけど

531:nobodyさん
08/05/12 01:35:11
いいだろ文字列で。どうせ大したもん作ってねぇくせにぐだぐだ言うな

532:nobodyさん
08/05/12 02:19:06
ORマッパーが流行った理由は2つあると思う。
1つはJOINを駆使したりサブクエリーを使うような、(比較的)高度なSQLを書ける人が少なかった。(複雑な処理はホスト言語で処理する。)
もう1つはORマッパー=オブジェクト指向を連想させ、オブジェクト指向って言葉だけをやたらもてはやすような風潮に乗っかった。

533:nobodyさん
08/05/12 03:49:51
O/Rマッパーで書けるような簡単な処理は
SQLで書いてもすぐ書ける罠

534:nobodyさん
08/05/12 03:51:14
結局、O/Rマッパーは、SQLに慣れてる人なら
あまり意味ないってことでいい?

535:nobodyさん
08/05/12 03:56:57
なんだかんだ言って、Java的な発想なんだろ?> ORマッパ
ActiveRecordとかはシンプルでいいと思うけど、やりすぎ感っての?あるんじゃね?

APIが全てで、文字列としてのSQLを流し込むっていう感覚があんまり無いって感じで。
(C#とかの.net系でもO/Rマッパって使うのならごめん)

でも、PHPになじむかどうかは別問題なんだろうとは思う

536:nobodyさん
08/05/12 04:10:33
DBとベタベタにしないためにラッパー書くのは無駄じゃないと思うけどね

537:nobodyさん
08/05/12 06:31:54
>>532
私見だけど、メモリ中のオブジェクトをそのまま永続化させて使用するための
手段として RDBへの格納するのが良いのではないかっていう考え方があって、
でも現実には永続化よりもデータベース的な検索のほうが重要なことがはっきりして、
結局ラッパーとしてだけ生き残ったって感じではないかと思う。

まぁ、そうした抜け殻のようなツールとし出来上がった後、現場では >>532みたいなな
流れで流行ったんじゃないかと。

538:nobodyさん
08/05/12 07:26:54
>>528
>とりあえず、外部からの入力値を元にしたSQLの動的な組み立てを自分でする気には
>あんまりならないんだが、モデルってそういう所の面倒をみるってことはそんなに重視
>されてないの?

思うに、「フレームワークのパワーを生かした」開発においては、そういう小難しいことは、
基本的にやらない、もしくは極力避けるんじゃないかね。
フレームワークが力を発揮するのは、単機能な画面が多数あるようなシステムだと思う。

そうした前提においては、動的なSQLを嫌ったとしても、それは普通な判断だと思うし。

539:nobodyさん
08/05/12 23:55:26
PHPTALというのがあってだな。
URLリンク(tracfort.jp)

540:524
08/05/13 02:06:31
>>525
いや、sfSmartyViewPluginは間違いなくsymfonyにとって改悪だと思うわ。

>>526
権限と責任が乖離している時点で、体制を考え直すべきだよ。

仮に、よほど信用出来なくて悪意があってとても偉いデザイナーと仕事をしてるとしても、
MVCやORMという概念や、symfonyやsmartyという実装は、
プログラマーとデザイナーの「責任の所在」を明らかにするための方法論では無いと思う。

>>528
俺はORMには否定的だけど、SQLを抽象化する事には肯定的。


541:nobodyさん
08/05/13 02:11:29
自分がsmarty使うかと言えば使わないが
因習的に使い続けてるところもあるだろ
そういうところのために出来ただけじゃねーの>smartyplugin
いちいち目くじら立てるようなものでもない思うが

542:524
08/05/13 02:23:12
>>541
うん。>>484が偉そうにsymfony+smartyが完璧だと言ってたので、
そりゃねーよ、って反論してるだけだ。
よく考えればスレ違いな主張に相手してる気がするので、smartyに構うのは以後控えるわ。

543:nobodyさん
08/05/13 08:44:20
>>524
>> プロジェクト内にテンプレート側にがちごりでロジック書くウンコいたらどうすんの?
>
>クビにするべきだろう。

大賛成。お金をもらう仕事に、なんでウンコな人間を混ぜなきゃいけないの?

>たぶんプログラムに制限を課すより、体制を考えなおしたほうがいいと思うぞ。

そうそう。それができない環境はプロとして仕事すべきじゃない。

>>526
> 本当にプログラマ?
> すぐクビにするとかテンプレート渡す=責任を渡すとか
> 到底社会人の発想とは思えないんだが。

なんで? 使えない人間は教育し、それでも使えなければクビでいいじゃん。あんたどこの公務員よ?

> サンデープログラマや、開発者とデザイナが分かれてない業務しかやったことないのを否定はしないが、
> 分業化されてるプロジェクトの場合も想像できないと、この話を進めるのは無理だと思う。

分業することと、ウンコを混ぜる話は別だろ。それをいっしょくたにしているおまえがウンコ。


544:nobodyさん
08/05/13 10:54:49
ORマッパーが流行った理由は3つあると思う。
1つはJOINを駆使したりサブクエリーを使うようなSQLから生成されるデータを扱うにはハッシュの配列では使いにくかった。
SQLには方言があり簡単な文でさえダブルクォーテーションとクォーテーションの意味が違うなど複数のDBMSに対応しづらかった。
もう1つはORマッパー=オブジェクト指向であり、ただのデータの出し入れに過ぎないSQLに様々な付加価値をつけることが出来た
(たとえばバリエーションなど)

545:nobodyさん
08/05/13 11:43:53
>>543
厨房乙。

546:524
08/05/13 13:10:19
>>545
あまり恥ずかしい書き込みをするなよ。

>>544
それは全部PDOの利点でもあると思う。
PDO != ORMなので、ORMの利点だとは言えないと思う。

CreoleとPropelの違いを理解した上で、
Propelの機能として好ましいと感じる部分は、
propel-generate-modelとBasePeerのクエリ生成部分かな。
BasePeerははっきり言って複雑なSQLは全く書けないけど、
でもまあ、そのあたりの機能だけ流行れば良かったのに、と思うよ。


547:nobodyさん
08/05/13 15:35:20
さくさく人材切る大量と度量があるのはいいことだが

首にできる権限がある奴に限って現場見てねえんだよなぁ

548:nobodyさん
08/05/13 16:32:21
俺俺form処理クラス書いてるが
フォーム要素が多次元配列になる時のバリデーションが
きれいに書けないよう・・・
値はコンポジットパターンになるのに
errorはchildだけじゃなくて親も持つとか複雑過ぎ

549:nobodyさん
08/05/13 19:27:51
>>546
544はPDOの利点ではない。PDOはフェッチしたデータの加工をしないし、SQLの方言の抽象化もしない。

550:nobodyさん
08/05/13 21:12:36
SQLの結果セットは2次元の表にしかなり得ない。連想配列ですべて解決する。

551:nobodyさん
08/05/15 02:42:52
Rubyは引数が一つの時()を省略できるのに
PHPは省略できないんですかぁ?
ださーい

552:nobodyさん
08/05/15 17:59:00
>>551
VBなら引数がいくつでも()を省略できるぞ!
カッコイイだろ!

ただし戻り値が無い場合ね

553:nobodyさん
08/05/15 18:06:07
Rubyでもできますよーだ
VBなんて中二みたいの名前の言語使いませんよぉ
ださーい

554:nobodyさん
08/05/15 18:06:50
>>550
返ってくるデータが二次元の表だけって面倒だよね。

たとえばアドレス帳があったとして、電話番号を複数登録できるようにしたい。
まあ、普通は正規化する。んで、それを取得すると

ID, 名前, 電話番号ID, 電話番号
1, 山田, 1, 090-0000-0000
1, 山田, 2, 090-0000-0001
1, 山田, 3, 090-0000-0002
2, 佐藤, 4, 090-0001-0000
2, 佐藤, 5, 090-0001-0001
2, 佐藤, 6, 090-0001-0002

こうなる。階層的に取得できたらどんなに使いやすいか。


555:nobodyさん
08/05/15 18:07:41
()が省略できる言語は
ダサいって流れじゃないのか?w
VBやRubyはダサい。

556:nobodyさん
08/05/15 18:13:49
できるかどうかならできた方が当然良い
関数と変数の区別をはっきりつけたいから使おうとは思わないけど

557:nobodyさん
08/05/15 18:30:45
きっちりルール決めて統一してくれたほうがいい、って意見もあると思うぜ

558:nobodyさん
08/05/15 18:36:25
その辺はコーディング規約でやるべきじゃないの?
いろんな人がいるだろうし

559:nobodyさん
08/05/15 18:37:54
>>554
PDO使えばできる

560:nobodyさん
08/05/15 18:52:47
あれは賛否両論だろ。
引数省略に付随する問題も一緒に抱えるのに
手放しで喜ぶ馬鹿は死んだほうがいい

561:nobodyさん
08/05/15 21:30:45
>>559
できねーよ

562:nobodyさん
08/05/15 21:31:41
>>561
できるーよ

563:nobodyさん
08/05/15 23:37:08
>>554
それがリレーショナルDBだから。
オブジェクトで扱いたいなら、ORMじゃなくって、OODBを使えばいいんだよ。誰も使ってないけど。
もっともその例って、単なる配列のデータ構造を表してるだけで、オブジェクトとは関係ないと思うけど。

564:nobodyさん
08/05/15 23:50:37
>>563
そりゃ、元のレスが
> 連想配列ですべて解決する。
だからだろうね。

RDBの結果なら連想配列で全て表すことができるっていうだけの書き込みに対して、
それが便利なのか?っていうつっこみなんだろうと思った。

>>554が例に挙げてる様なデータなら、多次元の配列で処理する人も多いだろうし
O/Rマッパとはまた違う次元の話の様な気もするw

565:nobodyさん
08/05/16 00:41:02
というか、そんな陳腐な工夫を語れるような小さくて整ったデータベースしか扱ってないんだな、おまえら。

566:nobodyさん
08/05/16 00:51:22
PHPですよ?しかも(主に配布されてる)フレームワークのスレ。

そんなに複雑でビジネスロジックとその他もろもろの制約によって
アドホックばりばりのシステムの話なんてするところじゃないじゃ無いか

567:nobodyさん
08/05/16 05:20:25
PHPでビジネスロジックや「そのたもろもろ」の制約を必要とするよーな設計するか?
そういう制約が意味あるのって、DB専門班とぎっちぎちに分業するようなケースだしなあ。
null拒否くらいならデバッグの意味はあると思うけど
PHPみたいな上層で使うモンなら正規形も凝らんでそ
制約意識するくらいなら処理ロジックや自前キャッシュ手法に凝った方が百倍マシ
PHPが生かせるケースじゃない

なんか元コメ辿ると、bindやprepare使えば十分だろ的な思惑も感じるけど

568:nobodyさん
08/05/16 17:52:55
言語で設計が決まるわけじゃない

569:nobodyさん
08/05/16 19:19:07
むずかしいことばのかいせつ

アドホック - Wikipedia
URLリンク(ja.wikipedia.org)
アドホック(ad hoc)は、「特定の目的のための」「限定目的の」などといった意味のラテン語の語句である。
ヨーロッパ諸語では様々な語句と組み合わせて用いられている。

ad hoc quering アドホック・クエリ
情報科学分野の用語。
アドホック・クエリを使えば、カスタマイズされたクエリを簡単に作成することが可能になる。
通常、データベースの原理やSQL 文を深く理解していなくても、GUIを使って行うことができる環境が提供されている。
ただし、このような方式のクエリが多用されるとデータベース システム全体のパフォーマンスにも影響が出かねないため、直接に"生"のデータベースを対象とするのではなく、"生"のデータベースを定期的に複製したものを対象にクエリを作成する、というようなことも行われる。
そのような複製は「データウェアハウス」などと呼ばれることもある。

570:nobodyさん
08/05/16 19:20:35
アドホックとは - はてなダイアリー
URLリンク(d.hatena.ne.jp)
アドホック あどほっく
【ad hoc(羅)】取ってつけたようであるさま。
この意味より,「恒久的でない」とか「反復的でない」ような形容に使われる

571:nobodyさん
08/05/16 22:43:59
>>562
どうやって?サンプルコード示して。

572:nobodyさん
08/05/16 22:47:17
マニュアル読めーよ

573:nobodyさん
08/05/16 22:53:58
ま、そーやって逃げるのは分かってたからいいけど

574:nobodyさん
08/05/16 22:59:30
低脳おーつ

575:nobodyさん
08/05/16 23:36:11
お前、ほんと残念なやつだな

576:nobodyさん
08/05/17 00:30:15
しょーもない煽りあいwww

577:nobodyさん
08/05/17 00:50:50
反応するおまえもだよw

578:nobodyさん
08/05/17 03:55:36
PEAR使う時ってラップしたクラス書く?
そのまま使う?

579:nobodyさん
08/05/17 04:45:21
時と場合によーる

580:nobodyさん
08/05/17 09:38:16
PDOで階層構造表現できるの?まじ?

581:nobodyさん
08/05/17 13:16:01
マジ。ただし、O/Rマッパーが必要

O/Rマッパー最高!!!

という流れですね。わかります。


582:nobodyさん
08/05/17 13:43:24
>>581
それはPDOだけでは不可能で、
PDO無くてもORMがあれば可能という話ではないのか。

583:524
08/05/17 19:36:50
>>549
そうだね。
「ハッシュの配列では扱いにくい」と言ってるってことは、
PDOが連想配列で返すのを不便だと感じているという事だもんね。

俺は>>550と同意見だった。
オブジェクトが返ってくる事自体にまったく利点を感じないのだ。

データベースエンジンの差異を吸収するのはORMの副産物だと思うし、
それをやってくれるORMじゃないライブラリは好きなので、
やっぱり俺は世にあるORMにはあまり意義を感じていないのかも知れない。

バリエーションって何?


584:nobodyさん
08/05/17 21:39:55
>>583
そもそもオブジェクト指向に意義を感じてないんじゃない?


585:nobodyさん
08/05/18 00:27:53
オブジェクト指向で分析→設計→実装するとき、オブジェクト指向プログラミングの形とマッチしますね。
URLリンク(itpro.nikkeibp.co.jp)

モデリングの過程がオブジェクト指向じゃないと、あまり劇的に便利という実感は湧かないかな?

586:nobodyさん
08/05/18 00:44:42
>>583
RailsのARとか使ったことあるの?

587:nobodyさん
08/05/18 02:08:18
公開されたキモゲータウンのフレームワークがPerlで作られててPHP脂肪www

588:nobodyさん
08/05/18 04:15:22
むしろ歓喜しているように見える

589:nobodyさん
08/05/18 08:26:46
ひさびさに脂肪ネタ来たw

590:nobodyさん
08/05/18 18:14:47
CSSもDRYを求められるよな
単にデザインセンスだけでなくプログラマ的な素養が必要
お前らのデザイナはDRYでびゅーちふるなCSSを書けるの?
それともお前らが手直しするの?

591:nobodyさん
08/05/18 22:23:00
なんでそれをこのスレで聞くん?

592:nobodyさん
08/05/18 22:31:44
>>590
因みに俺のところでは手直しも指導も回答も全部俺がやっている。
つうか、エディタを使う作業は、たいがい俺に回ってくる。
一度も書いたことがないASをいきなり書けたら天才呼ばわりされた。
ほとんど使わないエクセルでマクロをいきなり書いたときもそうだった。
冗談じゃない、感心するなら金くれと言いたい。
うぇぶでざいなー(笑)の100倍は貰って当然だろ、本気で。

593:nobodyさん
08/05/19 00:14:19
DBの結果セットをそのままクラスにするなんてJava屋の発想だな。もしくはアカデミックな人の発想だ。実戦的じゃない。
ウェブアプリって、一覧画面なら連想配列の配列、詳細画面なら連想配列でDBから情報を取得して、HTMLという静的な状態に移す、ほとんどはそれで済む話。
複雑なロジックを伴うクラスが必要な場合だけクラスにすればいい。そういうクラスはDBからだけで構成されるわけじゃない。ORMからさらにDAOと2重にラップする必要はない。

594:nobodyさん
08/05/19 22:23:22
まあぶっちゃけJavaには連想配列はないから、どうやったってオブジェクトにはなるんだけどな
それをモデルとして便利にする方向はある意味自然か

595:nobodyさん
08/05/20 17:15:34
Zendが身売り準備開始してPHPリアルに脂肪w

596:nobodyさん
08/05/20 17:39:18
これか、
URLリンク(jp.techcrunch.com)

PHPそのものはともかく、ZendFrameworkとかは影響うけるかもね。

597:nobodyさん
08/05/20 17:46:06
買収先「ZendFrameworkぅ?なんだこの糞FWは!?捨てろ!

ってなるに500ペリカ
ZFなんかを使っていた先見の明ない奴ら涙目www

598:nobodyさん
08/05/21 11:31:16
もしPHPが有料の製品になったらどうする?
俺は捨てるwww

599:nobodyさん
08/05/21 15:22:14
なるわけねえだろ。さすがに。

600:nobodyさん
08/05/21 15:48:10
Microsoftが買収したら、なにやらワケが判らぬフレームワークが前提になって、
そのフレームワークの機能はIISでしか動かないみたいなのはあるかもよ。

あぁ、想像しただけで嫌だ。

601:nobodyさん
08/05/21 22:30:45
MSにはASP.NETという洗練されたフレームワーク、VisualStudioという高機能なIDEがある。ガキのおもちゃのようなPHPと一緒にするな。

602:nobodyさん
08/05/21 23:44:23
ASP.NETってどこで使われてるの?
GoogleとかYahooとかAmazonとか楽天とかMixi見たいな大手で。
もちろんMicrosoftのサイトは除いて。

直感だけど、MSのフレームワークが前提になったらPHPは確実に死ぬと思う。

603:nobodyさん
08/05/22 00:36:44
>ASP.NETってどこで使われてるの?
うちJavaに次いで.net/レガシーASP案件が多いよ
でもASPはイントラ用途での案件ばっかりだな
IISに.netにMSSQLにPowerShellにVSSと、MSモノで固めた場合は
けっこういい環境だと思うんだけどねー。
MSモノだけやる訳じゃないせいか、誰もVisual Studio使ってないけどw

つまり、MSモノで固められるケースが限られるのが問題なんだろう。
レン鯖とかでも(Javaともども)機能制限しにくい故にユーザに提供しにくいしな。
その隙間をPHP需要が埋めているんじゃないかい。

604:nobodyさん
08/05/22 01:06:04
ASP.NET → PHP.NET

まさかのM$大逆転

605:nobodyさん
08/05/22 01:06:57
>>603
結局さ、ASP.NETが良いのってSIerにとってでしかないと思うんよ。
小さく使われる、汎用性がないプログラムとしてと言うか。

そういう前提がなければ PHPなりPythonの方が有用だから、大手のサイトでは
PHPやPythonなんかが使われてるじゃかなろうかと思ってる。

仮にMSに買収されたら、PHPはPHPらしさを残せるかのかなぁ。かなり不安。

606:nobodyさん
08/05/22 01:11:58
VisualBasicの後継はVisualPHPで

607:nobodyさん
08/05/22 01:22:14
どうVisual・・

っていうかDreamWeaverとかじゃねえのそれ

608:nobodyさん
08/05/22 13:40:13
ASP.NETくらい作りこまれたフレームワークはない。コミュニティベースのフレームワークとは出来が違う。VisualStudioもそうだけど。
ただ、イントラ以外の、一般のウェブサイトの場合、結局凝ったデザインを実現するための泥臭い部分に多くの労力を割かれるので、ASP.NETのメリットは薄れる。
後は、LAMPみたいに全部無料ではないので、中小規模の場合、LAMPを選択することが増えるだろうな。

609:nobodyさん
08/05/22 15:06:08
実際、WEBアプリ業界って言ったら、Windowsサーバに抵抗感があるというか触ったことのない
会社・技術者も多いんだけどね。特にCGI等の設置運用あたりからぽこぽこ出来た会社はw

610:nobodyさん
08/05/22 15:43:18
泥臭い部分で真価を発揮できない作りこまれたFWとかw
そういう仕事を片付けるためのFWじゃねーのかよ

コミュニティベースかそうじゃないかで
出来が云々とかいかにもMSのバカ顧客らしい発想だ
その作りこまれたFWとやらで死ぬまで
綺麗で泥のないアプリを作りつづけてろ

611:nobodyさん
08/05/22 16:11:39
>>608
想像だけど、 確実にMS は Yahoo みたいな超大規模なところには、ほとんど無料で使えるような
営業をかけてると思う。仮に Yahooのサイトが ASP.NETで運用されれば、広告効果大きいし。

だから、ASP.NETが PHPとかPythonより大規模なサイト構築に向いていれば、使ってないはずがない。

パフォーマンスの問題か、セキュリティに対する透明性の問題か、生産性の問題化は判らんが、
大規模なサイトにおいては ASP.NETは PHPとかPython以下という評価がされているだけだと思う。

中規模なところには普通にしか販売しないだろうから、ASP.NETはイントラみたいな小規模なところでしか
使われない気がする。SIerとしては、そっちのほうがマーケットが広いだろうから、そんなに悪い話でもないけど。

612:nobodyさん
08/05/22 17:50:15
MS製品はしょっちゅうトロイとか埋め込まれてる印象

613:nobodyさん
08/05/22 23:15:21
いや、大企業ほどIISの比率が高いから。金がかけられるところはJavaやASPが多い。
Apacheが強いのは予算のないところとか、2ちゃんみたいにひたすらウェブサーバの数を増やしたい大規模なサイト。


614:nobodyさん
08/05/22 23:18:13
補足しておくけど、大規模なサイトと予算の大きなサイトは別物だから。


615:nobodyさん
08/05/23 00:01:10
でも結局ネットでビジネスやってるようなシステム運用に詳しくて、大規模なトラフックがあるところは
あんまりASP.NETを使用してないんでしょ?やっぱ本質的な問題があるんじゃないの。

事例見ても、イマイチぱっとしないし。
URLリンク(www.microsoft.com)

616:nobodyさん
08/05/23 00:55:23
実際MSを全面的に信用してる奴は少ないと思うよ。
本質的な問題、とやらがあるのかどうかは判らんけど、
「ソースが公開されてていざとなれば力技が効く」世界とは180度方向性が違うからねえ。

その事例のリード文で処理規模謳ってるのはセガダイレクトくらいか
「.aspx」で終わるURLぐぐるといろいろ出て来るけど、大規模サービスって感じのはないなー。
リネ2のwebとかJR東の運行情報とかパンヤのwebとか地図閲覧サービスとか
まあそれなりに規模あって安定性が望まれるサービスも垣間見れるね。

致命的な弱点があるようには見えないな
オープンソースじゃない事、ってのは一つの理由になると思う。

617:nobodyさん
08/05/23 01:25:55
htmlエスケープどういう方針でしてる?
俺は文字列と、文字列が入った配列を再帰的にエスケープして、
オブジェクトはそのままviewに渡してるけど

618:nobodyさん
08/05/23 06:55:54
>>617
本質的にはhtmlを生成するときにその場でコンテキストにあわせてエスケープするのが適当だよ。
htmlに入れ込むといってもテキスト要素として入れ込む場合と属性値としてクオートの中に入れるばあいなんかに分かれるから。

619:nobodyさん
08/05/23 10:28:17
日本はApacheのシェアが高い。
日本は今でもApacheしか対応してないレンタルサーバ屋が多いけど、アメリカは昔からレンタルサーバ屋がIISとApache両方対応してた。
Fortune1000を対象にしたシェア調査が少し前に話題になったけど、大企業のコーポレートサイトなど、予算のかけられるところはJavaやASPが強い。
PHPで名もないウェブサイトしか作ってないと、そういう実感はないだろうけど。

620:nobodyさん
08/05/23 10:29:53
ApacheやLinuxのカーネルハックできる人材なんて、その辺のウェブ屋にはまずいないから。オープンソースか否かなんて関係ない。

621:nobodyさん
08/05/23 10:52:28
誰もWebServerとしてIISが劣るとは言ってないんだが、何を言ってるんだろ。
それにしても2回に分けて書くのは芸風か。

622:nobodyさん
08/05/23 13:01:37
>PHPで名もないウェブサイトしか作ってないと、そういう実感はないだろうけど。
↑俺のことですねw

Webアプリは、PHPとJavaしか使ってない★
ASP.NETじゃないと実現できない機能は今のところ無し(・∀・)
どうしてもASP.NETじゃないと無理なら手を出しますが、他の実現方法を探すかな?
…というかMS製品しか使っていない客には当たったことないです(ラッキー!?)

623:nobodyさん
08/05/23 13:04:32
大手のSIerではPHPを使う案件はやってないんですか?
大手=PHPを使わない企業という定義でOKですか?
そんなわけねーだろwwwwww

624:nobodyさん
08/05/23 13:14:15
PHP→名もないウェブサイト→人生負組みのツールでもいいじゃん
自分が便利だと思ったら使えばいい

他人の判断、他人の価値観を気にして、他人に認められたいと思う演技を続ける人生は、勝ち組じゃない
奴隷じゃないなら、最後は自分の判断で決めろ

…俺はRuby、Pythonの準備をしときますw

625:nobodyさん
08/05/23 13:28:14
>>623
Javaなんかだと顧客側が動作環境を WebsphereとかWeblogicに限定してるところ
は多いでしょ。SI案件だとフリーの環境は一切使いたくないってのは普通だし、
そういう客のほうがカネ払いもいいだろうし。

ただ、そういうのは技術的な判断じゃないから、これをもって技術的にも良いはずって
言うのは愚かしいと思う。

626:nobodyさん
08/05/23 17:03:53
>>618
よくいるよな、おまえみたいな無知w
属性値はいわばRCDATAなのでHTMLエスケープに関してはPCDATAと全く違いなし。
現在のほぼ100%のUAが、属性値もエスケープされていることを見込んでパースしている。

627:nobodyさん
08/05/23 21:22:09
>>626
618じゃないけど
RCDATA、PCDATAという用語は初めて知った。
参考になったよ、ありがとう

データ形式一覧
URLリンク(bakera.jp)

#PCDATA (構文解析対象文字データ) の解説
URLリンク(bakera.jp)
PCDATA は Parsed Character Data の略で、「構文解析対象文字データ」です。

RCDATA (置換可能文字データ) の解説
URLリンク(bakera.jp)
Replaceable Character Data、「置換可能文字データ」です。

628:nobodyさん
08/05/24 00:03:21
>>626
じゃあ、その上で、
どの時点でどのような処理をしてエスケープすればよいかを具体的に教えて。

629:nobodyさん
08/05/24 22:02:37
>>626
RCDATA言いたかっただけなんですね、
ええ、わかります。

630:nobodyさん
08/05/24 22:37:13
まるごと Ruby! 発売でPHP斜陽の感ありありwww

631:nobodyさん
08/05/25 11:29:57
YahooとMicrosoftの仲人はPHP?

PHP on IIS - MicrosoftがPHPをフルサポート
URLリンク(www.microsoft.com)

【Special Seminar】 PHP on IIS - あなたの可能性を広げる、Windows 環境へ -
URLリンク(msevents.microsoft.com)

632:nobodyさん
08/05/25 13:35:47
P++

633:nobodyさん
08/05/25 16:38:21
>>626
javascriptのエスケープはコンテキストによって、
ブラウザによって必要とされるものは違うでしょ。

「HTMLエスケープ」っていう言葉が悪い気はするけど。

634:nobodyさん
08/05/25 22:06:40
>>633
どう違うの

635:nobodyさん
08/05/26 04:04:46
>>633
遠回しに言ってんじゃねーぞハゲ
HTMLエスケープはHTMLエスケープであって
それ以上でも以下でもない

636:nobodyさん
08/05/26 09:16:56
>>634
>>635
URLリンク(www.google.co.jp)


637:nobodyさん
08/05/26 09:25:06
テンプレートでデフォルトでhtmlspecialcharsされるようにしてる。
ユーザ入力でタグの中に何かを出力する場合(ほとんど無いけど)は、
ホワイトリスト方式。

638:nobodyさん
08/05/27 23:55:46
フレームワークのせいで後々のメンテの度に長時間取られる。
PHPなんて、なーんも考えずに工夫せずにコピペ最強でサクっと済ませられる「フレームワーク」なんだがな。

639:nobodyさん
08/05/28 01:02:34
規模によるって
話を単純化し過ぎ

640:nobodyさん
08/05/28 01:55:54
そうだよなぁ。
規模がでかいと、謎エラーの出所が分かんない場合あるよね。
何回も呼んでるフレームワークの関数で、止まる時とかさ。

大概人的ミスだから、CVSとかで誰がやったか、すぐにばれるんだがな。
そんな時はブーブー文句垂れるおw

641:nobodyさん
08/06/06 02:37:05
FW使うとメモリ喰うから
apacheのプロセス数が増えるとメモリが圧迫されてmemcacheが消えるね
一台の鯖で稼働できるプロセス数かなり減らね?

642:nobodyさん
08/06/06 07:32:19
一番メモリ食わない言語って何?
やっぱPerl?

643:nobodyさん
08/06/06 08:14:24
アセンブラ

644:nobodyさん
08/06/06 08:18:17
今時アセンブラでウェブアプリ書いてる奴いるわけねーだろ
はてなもPerlだし、やっぱPerlなのかな?

645:nobodyさん
08/06/06 08:56:45
軽いと言われるciですら、現在メモリ700KB
1リクエスト毎にドラクエ4の全容量以上のメモリを食うって一体…

646:nobodyさん
08/06/06 08:57:39
perlも良いフレームワークがあればもっと流行るんじゃない?
まぁ、続きは向こうで。

【Perlフレームワーク】Catalystを語る人
スレリンク(php板)


647:nobodyさん
08/06/07 08:06:42
PHPの場合、ウェブフレームワークがすべてのモジュールを内蔵していて、外部に独立してるのはせいぜいSmartyくらいだけど、
Perlの場合、Catalyst含めて、独立したモジュールが集合して構成されるので、PHPのようなウェブフレームワークとは意味が違ってくる。


648:nobodyさん
08/06/07 12:29:05
Perlでライブラリとして提供されてるものが
PHPでは関数やエクステンションで提供されてるだけの話で
本質的にはたいして変わりなくね?

649:nobodyさん
08/06/07 19:46:49
PHPはテンプレートエンジンもORMも、フレームワークごとにバラバラだから。

650:nobodyさん
08/06/07 21:25:56
なんでSmartyもしくはFlexyを敬遠するのかな、とは思ったことがある。
大体だれかが野良クラスで対応するじゃない。
パフォーマンスにしたって、それ以外の部分でがっつり重いFWも結構あるし。

もうViewクラスを作るのはほぼ共通なんだから、Zendがなんか作ってくれ
ないかな。if と foreach と変数展開(オブジェクトのメソッド呼び出し含む)と、
スクリプトでregisterしたヘルパメソッドのみが使えるとかいう感じで。

PDOみたいに組み込みクラスで速ければ、とりあえず俺は多分それを使う

651:nobodyさん
08/06/08 13:31:14 oe9fgjbi
そこでPECLですよ

652:nobodyさん
08/06/08 23:13:03
一番速いテンプレートエンジン - Blitz - Do You PHP はてな
URLリンク(d.hatena.ne.jp)


653:nobodyさん
08/06/09 02:02:29
一番速いテンプレートエンジンはPHPそのものに決まってるだろ。

654:nobodyさん
08/06/09 13:52:03
PHPそのものだと、構文がテンプレートっぽくない。

BlitzはPHP拡張として作られているから、PHPそのものといえる。
SmartyもPHPそのものに変換されるから、PHPそのものといえる。


655:nobodyさん
08/06/09 14:03:38
ところでPieceFrameworkはフロー定義を書き換えるたびにクッキー消さなきゃならんというガッカリな仕様は直ったのかな?

656:nobodyさん
08/06/09 14:28:34
テンプレートエンジン派ってデザイナにテンプレート書かせてるんだよな?
それ以外にテンプレートエンジン使ってる奴がいたとしたら救いようがないうつけ者だな

657:nobodyさん
08/06/09 17:37:34
>SmartyもPHPそのものに変換されるから、PHPそのものといえる。
これは違うだろ。うぇぶでざいなあが作る段階でPHPじゃないのだから。

658:nobodyさん
08/06/10 00:15:51 00QPcxQH
>>656
WEBデザイナー兼WEBプログラマーな私はSmartyを使っておりました。
最近はテンプレートは生PHPで充分ということに気付き、原点回帰しました!

659:nobodyさん
08/06/10 05:28:42
よく知らんのだが、「PHPそのもの」って言ってるやつのFWでも、それはあくまで記法だけで、
スコープを確保するためにファイルを読み込んでeval()してそうな気もするんだが、違うのかな。

それとも、グローバルにオブジェクト(や関数)を置いて、それを参照するのを前提にrequireなの?

660:nobodyさん
08/06/10 09:31:44
requireすると、呼び出し場所のローカルスコープで
実行されるので、別にeval()する必要は無かろう。

っていうか、そんなPHPフレームワークあるの?
RoRはerbでevalしてるが。



661:nobodyさん
08/06/10 11:18:10
ZF勉強していて思った。
MVCはいいけど、そのためにいろんな「専用の」クラスの使い方
を覚えなければいけないし、覚えてもZFのみってことは、
別のFWに変更するときや、ZF自体が消滅(ありえない?)するときには、
その資産がチャラになっちまうんじゃないの?
大規模開発に向いている、プログラミングの標準化ができるってのが
ウリだと思うけど、FW乗り換えなんかを考えるとデメリットも大きいよな。
そんなんだったら、自分のシステムに必要なクラスを自分で作って
充実させていったほうがいいのかな....とも思う。
まあ、その維持管理が大変といえば大変だが、資産が消滅することや
方針変更で別のものに作り変えるときでも、ノウハウが残るから、
長期的なスパンでみるとメリットがあるんじゃないのかなあ。


特にシステム開発環境を選択している人、そういう問題点ってどう考えている?

662:nobodyさん
08/06/10 12:12:38
>>661
俺俺FWは、俺しか使えない。
他人が使うと、学習コストがかかる。
ましてや、俺と仕事するときにしか使えない。

その点、ZF等のFWは既に学んでいる人々がいる。
その人たちと共同で仕事ができる。

独りでできるもんっ♪なら俺俺でFA
既に学習した人たちのTips等を利用したり、
共同で作業したいなら、
既存のFWでいいんじゃね?

663:nobodyさん
08/06/10 12:15:11
ZFが無くなったときの心配は、ZFが無くなってからすればいいんじゃないか?
大体、オープンソースなんだからZF自体が消えてもコード資産はまるまる残るだろう。

まぁノウハウって奴を蓄積したいのならべつにどうぞ


664:nobodyさん
08/06/10 12:27:28
俺俺ラッパー書いてそこからZFなり呼び出すようにしたら
ZFが死んでもなんとかなるじゃん

665:661
08/06/10 13:05:21
>>662
確かに俺俺FWは俺しか使えないけど、共通処理をクラス化したときに、
その内容を整理して文書にすればいいんじゃないのかな。
それ以外は素PHPでいいわけだから、ZFのようにいろいろな制約が
無い分だけPHPを使える人は多いし、知らない人もちょいと学習すれば
使えるようになる。

>>663
ZFが消滅してもオープンソースだから残るだろう。
でもセキュリティホールや新しい技術は一切入ってこないよねえ。

>>664
ラッパーという手はあるが、実際簡単にいく?

666:nobodyさん
08/06/10 13:13:11
>>665
なんかもう>>661の中で結論決まってる予感。


667:nobodyさん
08/06/10 13:17:29
> でもセキュリティホールや新しい技術は一切入ってこないよねえ。
だからさ、その心配はZFが無くなってからすればいいってこと。
そんなもん心配していまから俺フレームワーク作るわっていうのなら、
セキュリホールだのなんだのはどっちみち全部自分で面倒みるんだろう?

668:nobodyさん
08/06/10 14:27:18
> 確かに俺俺FWは俺しか使えないけど、共通処理をクラス化したときに、
> その内容を整理して文書にすればいいんじゃないのかな。

その文章を読まないといけないだろ?
初めて会った人が、あんたが書いたオレオレ文書を
すでに読んでいるなんてことはまずありえない。

その点ZFなら読んでいることはありえる。

> それ以外は素PHPでいいわけだから、ZFのようにいろいろな制約が
オレオレFWの制約を受けるだろう。

何の制約もないフレームワークがあったとしたら、それは
フレームワークじゃなくて、ただのライブラリだ。

> 知らない人もちょいと学習すれば 使えるようになる。
使えるということと、開発の早さ・楽さは別の話。

> でもセキュリティホールや新しい技術は一切入ってこないよねえ。
オレオレFWは、すでにセキュリティホールや新しい技術は一切入ってこないよねえ。


669:nobodyさん
08/06/10 14:50:32
FW乗り換えたら全てチャラっていう前提がおかしな話
WEBアプリのFW全般に対するノウハウってのもあるし
現に今のFWはほとんどMVCベースなわけで
基本的なコンセプトが大きく変わるわけじゃない

個人的なFWを作って使うのも別に悪くはないと思うけど、
オープンソースで開発されているFWが
どれだけレビューされてテストされた上で
リリースされているかよく考えてみるべき

乗り換えたら全部チャラだし俺俺FWの方がいい、
と安易に考える奴は自惚れてるとしか思えない

FWが変わったら覚えた事が全て無駄になる、ってのは
結局表面的な部分でしかFWを扱えてないわけで
FWに「使われている」プログラマでしかないよ

670:nobodyさん
08/06/10 15:11:29
いきなり俺俺は無謀だな
一回メジャーなFW使ってみてから手を出すならともかく

671:nobodyさん
08/06/10 16:42:19
オレオレFWを公開して普及させようと言うならともかく、自分に必要な仕組みだけ
自分で作るのが、そんなに悪い選択とは思わないけど。


672:nobodyさん
08/06/10 17:28:40
単純にZF死んだら困るから自分で作るよ!っていう理由に納得できないだけだろう。


673:661
08/06/10 17:29:20
>>669

FW乗り換えでも、MVCの考え方やノウハウは残るが、
現実的にアプリはすべて書き換え。
数十本ならそうでもないが、1000本単位なら相当な手間。
「FWに使われているプログラマ」はいいけど、現実的に手間を
掛けられないというところをわかってないのは問題。
同じFWに縛られ続けていくのはいいが、消滅しちゃったとき
どうやって資産をメンテしていくのか。
そういう意味でチャラって書いた。

だから >>665 が書いたようにオープンソースであること
を考えると、そういった問題が解決できそうだ。
また多くの人が使ってこなれている面はメリットだよな。


それで、実際どれだけのモンがFWで構築されてんだろ。
cakePHPなんかも有名だが、ZFが出て乗り換えを考える
人もいるだろうし、どうするんだろ。

674:nobodyさん
08/06/10 17:32:43
zfに乗り換える人なんていないでしょ
ショボfwじゃん

675:nobodyさん
08/06/10 17:35:53
どうやって資産をメンテしていくっていうか、
それは普通にソースツリーをフォークしてメンテするだけだろう?

自分でゼロから作るよりは随分と楽だと思うが。


676:nobodyさん
08/06/10 19:10:47
>>673
採用しているFWが変わったからって
既に出来上がってるアプリをそのFWに
全て書き換えるケースなんてそうそう無いだろ
完全な自社コンテンツでアクティブなものか
コンテンツ自体を総リニューアル時に合わせて移行、くらいなもんで
元から運用してるものは普通そのままメンテだろ?
千本単位とかそれこそ非現実的じゃないか?

677:nobodyさん
08/06/10 19:46:40
たとえばsymfony作られたサイト
世界全体でも1000もないだろw

678:nobodyさん
08/06/10 21:11:39
とりあえずDISる

少し釣れる

ツンデレ教えて君

こうするとggrksと言われないんですねわかります

679:nobodyさん
08/06/10 21:26:00
数字おおげさに言い過ぎる

突っ込まれる

雲隠れですねわかります

680:661
08/06/11 09:37:45
>>676
なるほど、すべて書き換えないケースもあるな....
しかし、千本単位が非現実的なら、「大規模開発」って
謳っているのはどのくらいの規模なんだろうか。

>>677が書いたように、事実上PHPのFWはまだまだ
浸透していない、PHPでの開発は結局小規模なもののみ
ってことなんかな。

681:nobodyさん
08/06/11 09:58:12
>>680
大規模開発って、ふつうプロジェクト数のことじゃなくて、
ユーザ数とか、高信頼性を確保するために大きいシステムを組むってことだろう?

そんなものは、当然一件ごとに何年もかかることがままあるから、
大規模なプロジェクトを千なんてオーダーで抱えてるとこなんてありえないよ。


ていうか、自分が抱えてもいない数のプロジェクトの事と、
(まだつぶれていない)ZFが潰れることを心配して
自分で作った方がいいと思ったの???


682:nobodyさん
08/06/11 23:15:02
どれもこれも、今となっては、PHP4で書き続ける理由に説得力が伴っていないわな。
もうとっくに殆どの環境はPHP5に移行している。
lib/php内やフレームワークのコードだけがPHP4。
自分で書く時、例えば、varなんて使う機会が無い。
そのせいで、細かく曖昧さを指摘する目に見えないエラーがリクエスト毎に何10何100と出ている。

683:nobodyさん
08/06/11 23:37:36
>>681

>>661 ではないけど、大規模開発って言ったら、コード量をイメージするなぁ。
大規模サイトだと、ユーザ数が多いって意味なのかなぁって感じもするけど。

外部のフレームワークの適用については、例えばバグとかセキュリティホールが
あるからバージョンアップしてくださいって言われても、影響範囲が読めないと
二の足踏むし、かといってそのままってのも気持ち悪いし、自作しても知れてる
程度の使い方しかしないのなら、使いたくないってのは良く分かる。

684:nobodyさん
08/06/12 00:08:14
S2Container.PHP5 を勉強しようとセットアップのページ読んでるんですが、解りづらくないですか?
一番初めに書いてあるS2Container.version.tgzを落としてきたら拡張子が.tgになってるし、
>S2Container.php と S2ContainerSplAutoLoad.php を require して下さい
って何のファイルに書けばいいのか書いてないし・・・。

685:nobodyさん
08/06/12 00:18:48
>>684
pear installコマンドって、ダウンロードした後、勝手にセットアップまでしてくれんじゃないの?

で、PEARのディレクトリってPHP5を入れた時点でパス通ってて、
ソレを、これから加工と思ってる空のPHPにrequire_onceで例に書いてあるとおりに書けばいいんじゃないの?

違うの?

686:nobodyさん
08/06/12 04:04:39
>>685
個人的に、pearコマンドを使わないインストール方法をきちんと書いてくれないFWは信用できない。
S2Containerは触ったこと無いけど。

最初からPEAR必須ライブラリも把握できるし、必要最低限の設定等がわかっていれば、環境を
変えるときも対処しやすいと思う

687:681
08/06/12 12:13:00
>>683
つまり、アップデートのパッチを調べる労力 > 自分で書く+メンテする労力
ならば自分で書いてもいいってことね。で、コード量が少ないなら
書くのもメンテするのもたいした労力はいらないからそれもあり、と。
まぁそういう理由なら納得できる。

個人的にはFWを導入した時点で自分で書く+メンテしてもいいと思える
コード量を越える気がするけど、そこはまぁヒトそれぞれ。


大規模開発ってやつについては、言うとおりコード量もあると思う。
なんていうか、大規模開発っていうのはプロジェクト一件あたりの
必要な金、期間や人力がデカいっていうことで。



688:nobodyさん
08/06/12 13:50:39 5LtH7vFx
JavaもどきのFW使うなら、素直にJava使えばいいと思う
Seaserは簡易版のTeedaに期待

689:nobodyさん
08/06/12 23:10:10
Webのページ上でボタン押したり、何かした時の処理は、
全部 Ajax 経由でいいと思う。
何かする度に、フォームの全ての値がサーバに送られて
画面全体がリロードされるのって変すぎる。
で、Ajaxと一体になってるフレームワークって何かありませんか?

690:nobodyさん
08/06/12 23:17:19
>>689
極端な意見キター
っていうかそれならもうMS製品で作っちゃえよ・・・
その方向で少し間違えると、キーを押したりマウスを動かしたりするたびにリクエストの発生する
糞サイトになるぞw

で、そんなFWはこれから大流行するだろうから、しばらくのんびり待ってたら?AIRとかもあるしね

691:689
08/06/12 23:58:39
>>690
作ってて違和感あるんだよね。なんだかばかばかしい。
.NETって言われるだろうなと思ったけど、MSに閉じた技術ってのがね。

Ajaxから戻ってきたデータによって、JavaScriptで画面上の
変化部分を更新するとか、ある程度自動でできる仕組みがあると嬉しい。
更新したデータは、セッション変数で保持してればいい。
かと言って、ブラウザにプラグインが必要になるような技術もいやだな。
今のWebと親和性をなるべく保ちながら、より自然な開発がしたい。
もうちょっと真剣に探してみるかな。

692:nobodyさん
08/06/13 00:15:02
>>690
>AIRとかもあるしね
あれは勧めちゃいかんわさ。MSの.net以上の勘違い製品。

どうしてもその手の処理が必要な時は
「ユーザに断ってから」Applet立ち上げれば今時でさえ通じるもんだ
他不要

693:nobodyさん
08/06/13 00:25:04
>>691が感じている違和感がどの辺にあるのかよくわからないけど
サーバサイドはPHPで、クライアントはJavaScriptなりFlash(ActionScript)なりっていうのが
面倒ってこと?

>>691で書いているくらいやりたいことが決まっていれば、例えばW3CとECMAScript標準に
完全準拠の理想フレームワークなら、作ろうと思えば作れるかもね

どのみちデザインのためにHTMLで小細工しなくちゃいけないなら、それがやりにくい様なフォー
ムデータの扱いを強要するFWは結局流行らないだろうと思う
Ajaxを含むJavaScriptやFlashの技術は、まさにクライアント依存の妥協案というか手法というか、
っていう部分なんだから、それをサーバ側の組み方と違うと言って敬遠していては現状何も作れ
ない、とみんなそう思ってるんじゃないかなあ

だから、俺は今日もしこしこ正しいかどうか解らないJavaScriptを書きますよ、と。

694:691
08/06/13 01:22:41
>>693
違和感ってのは、>>689に書いた内容です。
画面の一部を変更したい時でも、画面全体に影響があるので、
プログラムがそれを考慮した構造になり、分かりにくいものになってしまいます。
GETとPOSTを分けたりすると、更に分かりにくくなります。
WindowsのGUIプログラミングのような開発ができたらいいなと。
イベントドリブンで感じで。
サーバサイド言語 + JavaScript (Ajax含む) でそういう仕組み
になってるフレームワークがないかなと思ったんですよね。
今の自分の作り方が悪いだけかもしれませんが。

695:nobodyさん
08/06/13 02:12:02
>>694
イベントドリブンって言葉だけに反応すると、
PRADOとか、PHPのフレームワークはイベントドリブンらしいよ。

後、Ajaxだと、AjaxCoreとかってフレームワークがあるみたいだけど、ここら辺組み合わせたらなんかできるのかな。


696:nobodyさん
08/06/13 02:15:42
まあ、HTTPやHTMLはビジネスアプリケーションを実装するために考えられたものじゃないからな。
Windowsフォームのアプリケーションと同じことをウェブに求めるのは無理がある。
凝ったウェブデザイン(というか、普通のエンドユーザ向けウェブサイトで求められるデザイン)を、DOMによるCSSの操作だけでデザイン対応するのは相当無理がある。
そこまで機能性を求められるアプリなら、.ウェブアプリじゃなくてNETのアプリにするのが妥当と思うし、マルチプラットフォームにしたいならJavaでも使えばいいと思う。


697:nobodyさん
08/06/13 20:10:11
>>696
だが不可能ではない。
そして確実に流れはそちらに向かっている。

698:nobodyさん
08/06/13 23:34:10
向かってねー与。

699:nobodyさん
08/06/13 23:43:31
googleやadobeの動向も知らないのか?

700:nobodyさん
08/06/14 00:22:27
PhotoShopがFirefoxのプラグ印になるといいね。

701:nobodyさん
08/06/14 00:27:33
>>699
kwsk

運用上でも昨今のAjaxライブラリの伏魔殿具合見ても、
けっこ前に壁にぶちあたったきり進歩がないしな。
javascript1.7以上が普及してくれれば、スコープ汚しまくりで
setTimeout地獄な糞Ajaxの現状を打破できるのかもしれないが。

air入れてる奴もsilverlight入れてる奴も見ないしな

Ajaxは割り切って使うに限る。
GoogleはFlashも使ってる。必要に応じて適用してるだけじゃないのかね

702:nobodyさん
08/06/15 14:13:27
muninのグラフ見てたらiowaitで埋まってる時間があるんだけど原因がわからんちん
mysqlのスロークエリみたいに
処理速度が遅ければログ取る機構とか付けてる?
てかそんなのフレームワークの標準機能で付けとけよ

703:nobodyさん
08/06/16 12:59:18
HD壊れかけ?

704:nobodyさん
08/06/18 02:05:34 ZYTHmHR0
データが飛んで初めて分かる、バックアップの重要性><

705:nobodyさん
08/06/19 21:58:18
バックアップ?ああ、そういやPHPやってる雑魚どもはSVN使わんな。どいつもこいつもWindowsでeclipseを使いつつ、subclipseを入れてないw

706:nobodyさん
08/06/19 22:29:31
何この頭の悪そうな書き込み

707:nobodyさん
08/06/20 00:37:33
お手軽にCVS使って、時々圧縮・暗号化したのをYahooブリーフケースにおいてる。

708:nobodyさん
08/06/20 00:41:52
svnって開発時には使うけど稼働時に使うか?

709:nobodyさん
08/06/20 01:08:36
>>708
稼動時でもバグが見つかれば更新しないといけないから
稼働環境でもマージ作業せなあかんやろ

710:nobodyさん
08/06/20 02:15:40
何この頭悪そうな話題のずれて行き方

711:nobodyさん
08/06/20 12:38:43
PRADOわかる人いる?


712:nobodyさん
08/06/23 10:47:52 isKyS0yI
以前、使ってみた(というか実験してみた)ことある。

以下、個人の感想だが、設計は面白いが、web用のフレームワークとして間違った方向に行ってる気がしたので、実践では使ってない。
フレームワークの勉強をするにはいいとは思うよ。

713:nobodyさん
08/06/23 16:04:32
>>712の言うweb用のフレームワークとして間違った方向とか正しい方向とかは意味不明だが、
PRADOは構築ルール縛りをするには良いとおもう。
開発効率は生だとものすごく悪いので、Radを待つか自前でつくるなりしないと使い物にならん。

714:nobodyさん
08/06/25 00:06:13
そういや、Kohanaって話題になったことある?
CIからforkして、PHP5 Strictと安定性・堅牢性を進めると聞いてるけど。
ググっても日本語サイト少ない・・・

715:nobodyさん
08/06/25 01:09:00
Kohana使ってるよ。
日本語情報どころか英語の情報もあまりない。

716:nobodyさん
08/06/25 11:12:53 2TehNRcN
>>713
詳しく書かないでスマン。

自分の感じた事を伝えようと思って、昔実験したサンプルを見ながら今書いてるんで現在のバージョンとは違うかもしれんけど

home.page
<com:TForm>
<com:TButton Text="Click me" OnClick="buttonClicked" />
</com:TForm>

確か、テンプレート風にこう書いて

Home.php
class Home extends TPage
{
public function buttonClicked($sender,$param)
{
$sender->Text="Hello World!";
}
}

で、アクションはこう書くだろ?
なんか、symfonyだと(というか、俺の主に使ってるフレームワークがsymfonyなのでそれとの比較になるが)request、responseっていうのがあって、webアプリなんだなぁ、と見るからに分かるんだが、
Pradoの場合、これ見るだけだとwebアプリだって分からないんじゃない?と思って「間違った方向」って言ってしまったんだ。
あくまで個人的な感想だと思って「間違った方向」については受け流してくれ。

# 改めて見るとやっぱり面白いフレームワークだとは思うな。
# ただ、実際に使うのは、request responseが無いとか、どうしても実装に何か無理がありそうな気がしてしまう、というのが感想な訳だ。
# バリバリに使ってる人の感想を聞いてみたい所かも?

717:nobodyさん
08/06/25 13:22:19
Webアプリ、しかもPHPでDelphi丸出しは厳しいものがあるよね

718:nobodyさん
08/06/25 17:48:03
>>716
なるほど。2.0の仕様だな。


719:nobodyさん
08/06/25 19:18:36
突然すんません。

いまいち『フレームワーク』ってのがわからないんです。

ググって調べたりしてるんだけど、『?』な感じなんです。


すご~くカンタンでいいんで説明してくれる方いませんでしょうか?
あと、こんなオレにおすすめの本あったら紹介して下さい。

プログラムは一応、データベースとか使って基本的なCMSとかつくれます。


今度、作ろうと思ってるサイトがあるんですが、『フレームワーク』ってのを
使った方がいいような感じがしてここへきました。

よろしくお願いします。

720:nobodyさん
08/06/25 19:20:21
ググれ

721:nobodyさん
08/06/25 19:39:02
>>719
framework
【名】
1. 骨組み{ほねぐみ}、フレームワーク、枠組み{わくぐみ}、下部構造{かぶ こうぞう}、骨格{こっかく}

なんか作るときに土台が出来てると楽だろ?
でもその土台に制限されてしまうこともある。

722:nobodyさん
08/06/25 19:49:30
>>721
ありがとうございます。

ググってました。

『車』で例えるとしたら、
”キーを回すとエンジンがかかる”とかの仕組みができていて
一から作らなくてもいいってことなんでしょうか?

『いろんな仕組みのセットがあって、ボタンひとつで簡単に組み込める』
みないな感じですかね…?

723:nobodyさん
08/06/25 20:15:21
>>722
家を建てるに当たって、その骨組みが出来ているって感じ。
で、その骨組みに合わせて作っていくので、やりやすいよと。

>>722の車の例えだと、PEARとか見たいなライブラリだね。フレームワークではない。

724:nobodyさん
08/06/25 20:27:52
>>723
ありがとうございます。

ってことは、一戸建ての骨組みができている状態からスタートして
中身の部屋とかキッチンとかを入れて(?)いく。ような感じ?

フレームワークの違いってのは、その『骨組み』がマンションだったり一戸建て
だったりするってことなんでしょうか?



今、悩んでいるのは、フレームワークを使った方がいいのか、今までのように
普通(?)に作るのがいいのか。という所なんです。


725:nobodyさん
08/06/25 20:34:00 gyu7FUKS
直訳すると枠組み、だと思うんだが、骨組みの方が俺的にもしっくり来るね。

PHPを粘土と例えて、像を作ってみよう、という事になった時の事を考えてみると
いきなり粘土で像を作る事はできると思うが、やっぱり、予め骨組みあった方が作りやすいだろ?

でも、骨組みが、犬の骨組みだとしたら、人間の像を作るのは却って難しいと思う。

>>716
なるほど。という事は現在は大分変わってるのか。
そのうち、また見てみる事にするよ。


726:nobodyさん
08/06/25 20:34:34
>>724
そういうところで悩む人は、多分人のソースなんかあんまり読まない様なタイプの
人だろうから、いっぺん使ってみるのは勉強になるんではないかと偏見だけど思う。

まあ業務に使うかどうかは置いておいて、PHPでお仕事しているんなら触って損は
無いかと思う。

727:nobodyさん
08/06/25 20:40:00
こんな抽象的な話を聞いて何が分かるんだろうw

728:nobodyさん
08/06/25 20:41:46
>>724
ページの遷移部分だとか、データの検証(バリデーション)部分だとかが簡単に出来たり、
フレームワーク自身が持っているライブラリが便利だったりとか。
データベースへのアクセスに関しては各フレームワーク共に工夫されてて凄く使いやすいです。

>フレームワークの違いってのは、その『骨組み』がマンションだったり一戸建て
だったりするってことなんでしょうか?

そうですね。「ちいたん」見たいなライトウェイトなフレームワークは一戸建てな感じで、
synfonyやEthnaやCakePHPなんかはマンションみたいな巨大なプロジェクトの開発に向いてるかと。


>今、悩んでいるのは、フレームワークを使った方がいいのか、今までのように
普通(?)に作るのがいいのか。という所なんです。

フレームワークは、できるなら使ってみたほうがいいと思います。
開発の規模や趣味趣向によって合う合わないってのはあると思いますが、
プログラムを組む上での手法として、勉強になる部分は大きいですし。

とりあえず、賛否両論歩けど、CodeIgniterなんかを触ってみてはいかがでしょう。
日本語のマニュアルが充実しているのと、割かしライトウェイトなので、扱いやすいのではないでしょうか。



729:nobodyさん
08/06/25 20:43:00
>>725
ありがとうございます。

>>でも、骨組みが、犬の骨組みだとしたら、人間の像を作るのは却って難しいと思う。
これ気になります…

>>726
ありがとうございます。

自分はまだ、人のソースをじっくり見て分かる所まで行ってないと思います。
なんか、好きなようにしたくて。ソースはかなり変かもしれません。

今『CakePHP』の関連サイトを見てました。
CakePHPってどうでしょうか?


明日、ジュンク堂とか行って関連本探してこようと思います。




730:nobodyさん
08/06/25 20:46:21 gyu7FUKS
下げ忘れた(汗)

>今、悩んでいるのは、フレームワークを使った方がいいのか、今までのように
>普通(?)に作るのがいいのか。という所なんです。
なるほど。フレームワークを学習するのには、コストがかかるからそういう風に悩むのは正しい姿勢だと思うよ。

で、まずは、どれだけの時間があるか?という所をはっきりさせるべきだと思うね。今書いたように「コストがかかる」から。

フレームワークを使わないでもできない事はないレベル & 時間が無い(半年以下)なら、たぶん今まで通り作った方がいいと思う。
(半年、というの人によるかな。でも、最低1ヶ月は学習する時間が欲しい。)

かなり大きなアプリになる予定(設計がまだ未定。先が見えない)& 時間がある、というのなら、なにかフレームワークを使う事を考えた方がいい。
後で付け足す事になったとしても、フレームワークで作ってあると、部品を付け足せるように設計されている(事が多い)からね。



・・・実際のお客様というのは、かなーり想定外の要求してくるから、それでも吸収できないくらいの事を言ってくる事もあるんだがな・・・

731:nobodyさん
08/06/25 20:47:14
もうすでに無駄なコストかかってるんでは

732:nobodyさん
08/06/25 20:53:37
また忘れた(汗)
ってか、みんなレス早いな。

>>でも、骨組みが、犬の骨組みだとしたら
実際には、webアプリの骨組みだから、あまり気にしないで大丈夫だと思う。
まぁ、時間あるならいくつかいじってみて、そのフレームワークの癖を見ておくのもいい勉強になるはず。
(あぁ。結構勉強してそうだからこんな事言っちまったが・・・たぶん、PEARを使いこなせる・・・使えるくらいの力量あるよね?もし無かったとしたら、まずは、ライブラリを使いこなせるようになってから、がいいと思う。)

# Cakeについては、使ってないので他の方に

733:nobodyさん
08/06/25 20:58:58
>>729
CakePHPで一回チュートリアルとか「10分で作る~」とかを見て、一回作っていいかもしれない。
普通にプログラム作ってるだけだったりすると、なんでこんな動きするのか分からないような動きする。

今後、フレームワークを使わないプログラムを書くにしても、凄く勉強になるよ。

734:nobodyさん
08/06/25 21:03:51
>>728
ありがとうございます。

CodeIgniterってのは聞いたことがなかったのでちょっと
見てきます。


>>730
ありがとうございます。

メインはデザイン仕事でやっているので、時間はそれなりに
とれそうです。
自分としても勉強したい部分もあります。

ライブラリに関しては…”使いこなしてる”とまでは…


>>733
ありがとうございます。
>CakePHPで一回チュートリアルとか「10分で作る~」とかを見て、

やっぱりそれが一番かもしれませんね。

>普通にプログラム作ってるだけだったりすると、
なんかコワイですね。

明日本屋行ってきます!

皆さん、いきなりなのに本当にいろいろありがとうございました!




735:nobodyさん
08/06/25 21:41:34
「フレームワークを使えば、アプリケーションを効率よく開発できます」
っていう言葉は、誤解を招く売り文句だと思う。

現実には、フレームワークの内部動作を調べて、
中で何をやってるかだいたい分かるレベルになって初めて
効率よく安全なアプリを自信を持って作れるようになる。
と思うけどな。

736:nobodyさん
08/06/25 22:45:59
>>735
正しい動作がしないとか、問題が出たときに見ればいいんじゃないのかね。
そのためにチュートリアルとか、マニュアルサイトとかあるわけだし。

PHPやるのに、PHPの関数のソースコードまで読まないでしょ?

737:nobodyさん
08/06/25 23:06:49
>>736
それはその通りなんだけどね
世の中には、想像を絶するような要求をしてくる人がいたりして、そういう要求を満たす為には・・・という事なんじゃないかな。
普通は、チュートリアルをこなせば(一応)使えるようなレベルにはなるはず。

とはいえ、そのレベルだと、そのフレームワーク臭さ(?)が抜けないアプリしか出来ないけど。

あぁ。現在のPHPのフレームワークはRAD機能がついているのばっかりだから、そういう奴で標準的なアプリを作って試してみるといいんだな。
で、そのフレームワークらしさが気に入ったら使えばいいと。

738:nobodyさん
08/06/25 23:22:18
>>735
Emacsとかviのような変態エディタみたいなもんか
操作を覚えるまでの過程を考えると必ずしも開発効率が向上するとは限らないみたいな

739:nobodyさん
08/06/25 23:42:13
>>737
ちょっと話題とずれるけど、
URLリンク(d.hatena.ne.jp)
最近、こんなの見つけた。

各フレームワークで同一アプリケーションを作成して、その使いやすさだとか、コーディング量が少ないのがどれか
とかを決めるような大会みたい。

740:nobodyさん
08/06/26 00:01:32
>>736
PHPのソースコード(C++?)は読まないけど、マニュアルは死ぬほど読む
ヴァージョンの差異もでかいしorz

んで、フレームワークでソースコードを読むのは、PHP程ドキュメントが整備されて
いないから、っていうのが一番大きい気がする。「正しい動作」とか「使い方」が、実は
サンプルを含めてソースを読まなきゃわからない、みたいな。

だから「問題が出たとき」だけソースを読めばいいとは思わない。
というか、それで現行のフレームワークが使える気がしない俺がいる

741:nobodyさん
08/06/26 00:06:30
>>736
たまにPHPのソースコード(Cだよ)も読むよ

>>738
そうそう
苦労量保存の法則

でも、覚えてしまえば、品質を保ったままで開発スピード
を上げられるから、やればやるほど楽して儲けられるはず。

742:nobodyさん
08/06/26 00:40:00
>>740,>>741
なるほど~。

フレームワークってちょろっと眺めてちょっと使ってみる、ぐらいしかしたこと無いわけだけど、
確かに理解しきるのは困難極めそう。

実際、Webで結構出てるPHPフレームワークって、日本の企業さんとかはつかってるところあるのかな?


743:nobodyさん
08/06/26 05:27:45
そんなの使いまくりにきまってるやん
企業が使わずしてどこで使うの

744:nobodyさん
08/06/26 07:21:25
大きめの企業でなら、Ethnaとか一時期多かったんじゃない?
さすがにCakePHPやちいたんを使うようなイメージは持ちにくい

まあベンチャーというか中小業者なら、担当者の趣味で半年
単位で採用フレームワークが変わってても驚かない
それをもって企業が使っていると言うのは、抵抗があるけど

745:nobodyさん
08/06/26 07:26:20
フレームワークを使ってない企業の方が少ないだろ

746:nobodyさん
08/06/26 14:03:08
日本で作られたフレームワークは使う気がしない。

やっぱり世界規模で進んでいるものの方が安心だよね。

747:nobodyさん
08/06/26 14:07:52
>>746
そーでもない。マルチバイトって何?おいしいの?っていう開発者?も
英米圏にはてんこ盛りだということを忘れてはいけない

だからといって国産が使いやすいわけでも無いけど、日本はそれなりに
良い線いってるんじゃ無いかとも思う。
世界規模にならないのは、コミュニティやドキュメントが英語ベースじゃ
ないからだけじゃね?

748:nobodyさん
08/06/26 14:16:13
今時UTF8対応じゃないフレームワークは、使う気がしない。

749:nobodyさん
08/06/26 14:18:26
そんなのあるか?

750:nobodyさん
08/06/26 14:25:59
まあメールライブラリはそのまま使えると思わない方が無難
Validationや文字数カウントが入る部分も微妙

UTF-8に限定すれば問題は少ないだろうけどね・・・。
コメントのコピーライト部分のラテン文字が必ず文字化けして
いるのは多分仕様です。・・・奴らはUTF-8使ってるのか?

751:nobodyさん
08/06/26 14:41:05
ひと昔前までの印象としては欧州産はまだマシで、米国産はI18NとかM17Nとかいう発想が無いのが多かった気がする

752:nobodyさん
08/06/26 19:00:58 0xtx7Zko
ethnaがとっつきやすくてよかった。
必要最小限の機能でやりたい事は全部やれた。


753:nobodyさん
08/06/26 22:54:59
これからSmartyの仕事にかかる。本当に馬鹿らしい。もうこれでPHPの仕事を最後にしたい。

754:nobodyさん
08/06/27 00:09:22
なるほど。Ethnaとかは使われてるんだね。

自社開発のクローズなフレームワーク使ってるっていう例も多いの?

755:nobodyさん
08/06/27 00:25:40
俺はもうPHPを捨てたぜ!
もう醜いのはうんざりだ
これからはRubyたんとちゅっちゅするんだ

756:nobodyさん
08/06/27 01:10:55
醜いのにうんざりしたと言いながら、よりにもよってRubyかいな

ありゃ便利だけど、あくまでbetter perlであって綺麗な世界ではないぜ
まだJavaScriptの方が一貫性と綺麗な世界、シンプルさ保っててる
醜いこと嫌ってweb用となら、pythonも併せて検討した方がいいかもね
Rubyが気になるようなら、もしかしたら君は醜いモノもある程度必要としている方の人かもしれん

もし醜くないことだけが評価されるなら、CのCGIはもっと普及していることだろうw

757:nobodyさん
08/06/27 02:15:02
PythonよりRubyの方が美しく書けるだろJK
PythonのOOは後付で一貫してない部分があるし
OOPと手続き型の混在感がある
JSは悪くはないが、まじめなだけが取り柄でおもしろみに欠ける

758:nobodyさん
08/06/27 03:07:52
醜く書き散らせてこそLL
汚く書きたくなきゃ制約の多い言語で十分だ
PHPに不満ある奴は、もっと泥に塗れられる言語を求めてるんだぜ
QIQとか、自由度と混沌を一緒に提案してくれてるんだ
本家にマージされてほしいぜ

あとJSはまじめどころか変態だぜw

759:nobodyさん
08/06/27 03:35:51
うむ。JSはPythonもC++0xも取り込もうとしている変態言語(褒め言葉)

760:nobodyさん
08/06/27 09:10:17
あいかわらずレベル低いやつらしかいないな。

761:nobodyさん
08/06/27 09:32:26
RubyはPerlをオブジェクト指向風に作り直したような感じだもんな。

762:nobodyさん
08/06/27 09:37:50
760みたいなこと書く奴が最もカス

763:nobodyさん
08/06/28 19:37:31
非phpのfwを見て回ったが
CGIを高速に運用する環境で決定打を持つものがないな
どれも不安定っぽい
そう考えるとmod_phpの安定感は偉大だった

764:nobodyさん
08/06/29 02:47:07
別にここはPHPまんせースレというわけでもないんだけどね
>>763の言いたいことはわかるけど、「PHPのフレームワーク」っていう
テーマからは見事にずれてるなw

765:nobodyさん
08/06/29 02:48:58
>>764に補足
素のPHPに不満足な人間がすなわちフレームワークに関心を持つんだと俺は思ってる

766:nobodyさん
08/06/29 02:52:54
>>763 に対してもうちょっと書いてみる
多分、競合相手は「CGI」ではなく、例えばTomcatベースのJavaプラットフォームだったり
asp含む.NetのWindowsサーバだったり。
あなたの持ち出した基準では、そういうプラットフォームのお話であって。

そういうレベルでは(良くも悪くも)このスレの関心の範囲外だと言ってみる

767:nobodyさん
08/06/29 19:24:11
そして人は皆、perl+mod_perlに戻るのだ

768:nobodyさん
08/06/29 19:31:13 k12JEG0L
PHP版Railsという意味ではSymfonyとCakePHPとどっちが
本命なんでしょうかね?

769:nobodyさん
08/06/29 19:42:33
答えはどっちも否

770:nobodyさん
08/06/29 19:52:21
PHPにRailsは馴染まなかったってこと?

771:nobodyさん
08/06/29 19:57:50
蛙の子は蛙
鵞鳥は白鳥にはなられへんねん!

772:nobodyさん
08/06/29 20:24:04
関西弁は嫌い

773:nobodyさん
08/06/29 20:25:38
鵞鳥が読めずにググった俺涙目

774:nobodyさん
08/06/29 20:32:14
PHP版RailsってまんまAkelosじゃん

775:nobodyさん
08/06/29 20:33:32
あひるって最近は、公園に行ってもいそうでいないからなあ。

776:nobodyさん
08/06/29 21:16:06
>>774
Akelosがどんなのか見てきたけど、こりゃ完全コピーだなw

777:nobodyさん
08/06/29 22:15:09
Port of Ruby on Rails development framework and designed to work for PHP4 and PHP5.
と書いてあるだろ。
むしろPHP4に対応しちゃっている部分を問題視しろ。

778:nobodyさん
08/07/01 12:45:16
お前らそろそろPHP4対応じゃないと、とか言わないよね?

779:nobodyさん
08/07/02 06:01:43
PHPのsingletonって意味ねーよな
リクエストからレスポンスまでしかオブジェクトが存在しないのに
singletonだろうが何だろうがたいして意味ねーよ

780:nobodyさん
08/07/02 08:47:37
>>779
そーなんだ!

781:nobodyさん
08/07/02 23:39:22
>>780
分かってないみたいだが、そうだよ。define()でいい。

782:nobodyさん
08/07/03 00:26:16
スレッドセーフ的には使えんて事?

783:nobodyさん
08/07/03 01:56:11
スレッドは関係ないだろ

784:nobodyさん
08/07/03 01:59:48
PHP自体スレッドセーフじゃない

785:nobodyさん
08/07/03 07:18:34
>>781
全然良くねーよ。定数にできるのはスカラーのみ。オブジェクトは不可。
PHPでシングルトンパターンは専らグローバル変数を使わずに
共通のインスタンスを使い回すのに使われる。
Javaでの使われ方とは違うけど、意味がないわけではない。

あとPHPでスレッドプログラミングはできないけど、ZTSを有効にしてビルドされた
PHPはApache2のworker MPMみたいなマルチスレッドサーバ上でスレッドセーフに動作する。
リンクされているライブラリやサードパーティ製拡張モジュールに関しては保証されないけど。

786:nobodyさん
08/07/03 07:23:17
確かになんでdefine?と思った

787:nobodyさん
08/07/03 07:24:12
>>785
> PHPでシングルトンパターンは専らグローバル変数を使わずに
> 共通のインスタンスを使い回すのに使われる。

まあPHP4でのシングルトン実装は、みんな$GLOBALSへの放り込みだったけどなw
シングルトンのつもりで設計したのに & を付け忘れてオブジェクトコピーしまくってたり。
過去の話になってくれて、本当にめでたい。

788:nobodyさん
08/07/03 08:06:55
>>787
そういえばPEARで $GLOBALS['_クラス名']['instances'] = array(); とかあったw(ていうか今でもある)
今は↓みたいなのが多いね。ものによっては__construct()をprivate/protectedにしてたり。
public static function getInstance() {
static $obj = null;
if ($obj === null) { /* 初期化 */ }
return $obj;
}

789:nobodyさん
08/07/03 08:31:08
static $obj = null;
if ($obj === null) { /* 初期化 */ }
return $obj;
}
↑なんだそりゃw

790:nobodyさん
08/07/03 11:54:17
>>788ってごく普通の書き方だと思うが。PHP4でもほぼ一緒。

791:nobodyさん
08/07/03 12:46:50
>>790
ダウト?www

static がないから $GLOBALSに入れる、それがPHP4クオリティって話だろ?

792:nobodyさん
08/07/03 13:01:00
あほか、php4だってstaticくらいあるだ

793:nobodyさん
08/07/03 13:09:24
4でも関数のstatic変数はあり。5だとクラスのstatic変数に突っ込んだりはするね。

794:nobodyさん
08/07/03 13:14:16
知らんかった。勉強になった。

んじゃ、むしろ>>788の書き方は(関数宣言を除けば) PHP4、5共用の書き方ってこと?
PHP5なら、クラス変数にした方がわかりやすいじゃん?って思ってしまうが、この書き方の
メリットってある?

795:nobodyさん
08/07/03 14:11:05
PHP5の場合普通クラス変数に入れる
PHP4が苦渋の策だっただけ

796:nobodyさん
08/07/03 14:29:05
一応、メソッド内のstaticだと、自クラスの他メソッドからも直接さわれない、
超private変数にはなる、のかなw ・・・メリット?

797:nobodyさん
08/07/03 14:56:36
もうphp4は許してやれよ

798:nobodyさん
08/07/03 14:57:42
static変数の場合スコープがそのメソッドのみになるから
singletonという意味ではそうしないと意味がないような
クラスプロパティだと書き換えられる


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