トップページ⇒php
1001コメント282KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2008/08/24(日) 21:43:37ID:???
前スレ
http://pc11.2ch.net/test/read.cgi/php/1202521438/
0002nobodyさん2008/08/24(日) 21:44:41ID:???
※ このスレは 【PHP】フレームワークについて語るスレ11【総合】 です

いきなりミス。スマソ...
0003nobodyさん2008/08/24(日) 21:47:34ID:???
過去スレ
【PHP】フレームワークについて語るスレ10【総合】
http://pc11.2ch.net/test/read.cgi/php/1202521438/
【PHP】フレームワークについて語るスレ9【総合】
http://pc11.2ch.net/test/read.cgi/php/1197383840/
【PHP】フレームワークについて語るスレ8【総合】
http://pc11.2ch.net/test/read.cgi/php/1192604501/
【PHP】フレームワークについて語るスレ7【総合】
http://pc11.2ch.net/test/read.cgi/php/1181350116/
【PHP】フレームワークについて語るスレ6【総合】
http://pc11.2ch.net/test/read.cgi/php/1171896620/
[PHP]フレームワークについて語るスレ5[総合]
http://pc10.2ch.net/test/read.cgi/php/1159579507/
[PHP]フレームワークについて語るスレ4[総合]
http://pc8.2ch.net/test/read.cgi/php/1151706907/
[PHP]フレームワークについて語るスレ3[総合]
http://pc8.2ch.net/test/read.cgi/php/1145971945/
[PHP]フレームワークについて語るスレ2[総合]
http://pc8.2ch.net/test/read.cgi/php/1135847024/
【PHP】フレームワークについて語るスレ【総合】
http://pc8.2ch.net/test/read.cgi/php/1123608068/
0004nobodyさん2008/08/24(日) 21:48:23ID:???
【洋モノ】
symfony
http://www.symfony-project.com/
code igniter
http://codeigniter.com/
Zend Framework
http://framework.zend.com/manual/ja/index.html
CakePHP
http://www.cakephp.org/

【和モノ】
ちいたん
http://php.cheetan.net/
Ethna
http://ethna.jp/
guesswork
http://classic.guesswork.jp/
maple
http://kunit.jp/maple/
0005nobodyさん2008/08/24(日) 22:11:57ID:???
Mapleイラネ
0006nobodyさん2008/08/25(月) 14:32:05ID:qgfF3K9X
agavi
age
0007nobodyさん2008/08/25(月) 16:50:03ID:???
何使おうか考え中
ZendがPHPにかなり力を入れてるから将来性があると思うんだけど
評価が悪くて使えそうにない
0008nobodyさん2008/08/25(月) 16:54:50ID:???
>>7
ちいたん使えwww
で「今回のプロジェクトではフレームワークとして「ちいたん」を採用しました」
って上司に報告してくれwww
0009nobodyさん2008/08/25(月) 16:58:15ID:hwjRu6i6
セッションデータって毎回全体を読み書きするから
あんまり大きいデータは扱いたくないよな。
かといってテンポラリーなデータを永続データが入ってるDBに突っ込むのは
抵抗がある。
こういう場合どうする?
0010nobodyさん2008/08/25(月) 17:14:13ID:???
>>9
XMLファイルにでもしておけば?
0011nobodyさん2008/08/25(月) 17:25:37ID:???
xmlって一部を読み書きできるの?
結局全読み・全書きになるのでは?
0012nobodyさん2008/08/25(月) 18:59:26ID:???
>>9
1. 気にせずDBに放り込む
2. 「永続データが入って」いないDBに放り込む
3. 「一部を読み書きできる」ように細分化してファイルに放り込む
4. 気にせず毎回全部読み書きする

なんでもいいんじゃないの?
0013nobodyさん2008/08/25(月) 20:03:51ID:???
>>7
zend使ってくれ
専用スレが過疎ってつまんないから
0014nobodyさん2008/08/25(月) 21:13:10ID:???
>>7
>評価が悪くて使えそうにない
せめて情報が無くて使えそうにないって言ってくれw

ユーザの声(マニュアルではない、もすこし身近なTips、ノウハウなど)が
圧倒的に不足しているよね

でもそれはどのフレームワークも一緒か。
そもそも乱立しすぎじゃね?
例えばせめてライブラリ系はZendを使うとか、そんな風潮になればノウハウは
蓄積されていくんだろうけど
0015nobodyさん2008/08/25(月) 23:48:18ID:???
シンプルなページを各フレームワークで実装したベンチマーク
http://talks.php.net/show/froscon08/

結果だけまとめると
1位 素のPHP
  611.78 trans/s
2位 CodeIgniter 1.6.3
  305.9 trans/s
3位 Solar 1.0.0alpha1
  271.18 trans/s
4位 Zend Framework 1.6.0-rc1
  130.08 trans/s
5位 Agavi 1.0-beta1
  126.91 trans/s
6位 Symfony 1.1
  100.63 trans/s
7位 Prado 3.1.2
  76.95 trans/s
8位 Drupal 6.4
  51.37 trans/s
9位 CakePHP 1.2.0rc2
  25.88 trans/s
0016nobodyさん2008/08/26(火) 00:48:34ID:lM6BRZm9
>>9
マジレスすると、セッションみたいな永続じゃないデータの場合memcache使うのが良い。
レンサバじゃ無理だけどな。
0017nobodyさん2008/08/26(火) 01:23:19ID:???
cakephpってそんな遅いんだ。
0018nobodyさん2008/08/26(火) 01:38:25ID:???
>>15
DrupalってF.W.じゃないじゃんw。

それより遅いcakeって・・・・。
0019nobodyさん2008/08/26(火) 10:05:38ID:???
いちおうDrupalはCMS向けのモジュラー式フレームワークってことになってる。

0020nobodyさん2008/08/26(火) 11:02:15ID:???
cakeで開発しようと思ったけど、
cakeもどきの俺様フレームワーク作ってやるかな。
0021nobodyさん2008/08/26(火) 23:18:20ID:???
そういや、PEAR2ってどうなったの?
0022nobodyさん2008/08/27(水) 00:05:44ID:???
PEAR2は5.3合わせでしょ
0023nobodyさん2008/08/27(水) 11:52:55ID:n0GZd29C
思ったんですが、
singletonって全部staticなクラスとほとんど同じでは?
むしろ、singletonの機構を書く必要がない分、
staticなクラスの方がいいのではないかとも思うのですが
singletonのアドバンテージって何ですか?
0024nobodyさん2008/08/27(水) 12:52:05ID:???
>>23
顔洗って出直して来い
0025nobodyさん2008/08/27(水) 15:02:44ID:???
signletonはobject
(PHPの)クラスはobjectではない

ぜんぜん違うだろ
0026nobodyさん2008/08/27(水) 15:06:09ID:???
顔洗って出直してきました。

で?
0027nobodyさん2008/08/27(水) 15:13:19ID:???
全然違うって言う奴は分かってないだけ
分かってる人の返答お待ちしております
0028nobodyさん2008/08/27(水) 15:56:42ID:???
唯一のインスタンスを取り扱うためのsingletonでしょ
なのにstaticなクラスがいいとか全然違うよ
分かってないのはあなた
singletonをもう一度調べ直してみ
0029nobodyさん2008/08/27(水) 16:01:55ID:???
メソッドはstaticでもつかえるし、PHP5からはデータもクラスで持てる

Hoge::page() ではなく Hoge::instance()->page() にするメリットはなにかと
言うことだと思うんだけど

まあインスタンスにしておけば、変数に放り込んで引数で渡したり、
簡単に別クラスに差し替えたり、そう言う事ができるかもしれない
私もよくわからんので、違うっていう人の親切な解説があれば嬉しいな
0030nobodyさん2008/08/27(水) 17:22:46ID:???
singletonはsingletonっていうインスタンスは必ず一つなのが
保証されますよっていうパターンの概念なわけで、別に
staticなクラスの作りでsingleton的な扱いをすることもできるだろうけど、
ただそれが「singletonって全部staticなクラスとほとんど同じ」かと
言われればそりゃ違うって答えるだろう
概念の話とコードレベルの話だし質問がおかしい

ある程度有名なパターンだからsingletonってこういうもの、
という共通認識がプログラマにあるのがアドバンテージなわけであって
このクラスはsingletonだからインスタンスは唯一、とすぐ把握できるところを
オレオレsingleton概念で「これ俺なりのsingleton!インスタンスはナイっス!」
とか言われても困るわけで

Hoge::page() と Hoge::instance()->page() 云々も一緒で
要はそのクラスがどういう扱いなのかというのを認識するのに
singletonというパターンがあるよってだけの話であって
singletonだから絶対Hoge::instance()->page()な形ってわけでもないし
コードレベルの問題とはまた別の話かと
0031nobodyさん2008/08/27(水) 17:55:26ID:???
>>23の無知さに全米が泣いたw
0032nobodyさん2008/08/27(水) 17:56:52ID:???
>>23はバカなの?死ぬの?
0033nobodyさん2008/08/27(水) 18:06:57ID:???
PHPでコンピュータプログラミングを学ぼうとすると、こうなっちゃう
ってことですね
0034nobodyさん2008/08/27(水) 18:12:39ID:8yHWP9d0
23 nobodyさん [] Date:2008/08/27(水) 11:52:55  ID:n0GZd29C Be:
    思ったんですが、
    singletonって全部staticなクラスとほとんど同じでは?
    むしろ、singletonの機構を書く必要がない分、
    staticなクラスの方がいいのではないかとも思うのですが
    singletonのアドバンテージって何ですか?


晒しage
0035nobodyさん2008/08/27(水) 18:27:10ID:???
おまえら説明出来ないからってシンプルに叩きすぎだw
0036nobodyさん2008/08/27(水) 19:08:36ID:???
ウェブアプリだとシングルトンパターンなんて使い道があんまりないからな。せいぜいDBハンドラぐらいだけど、それも普通にグローバル変数で扱えば十分だし。
0037nobodyさん2008/08/28(木) 02:21:17ID:???
結局説明はできない、と。
得意げにsingletonの解説始めちゃう奴なんなの?
そういうのを東洋じゃ釈迦に説法って言うんだぜ。
0038nobodyさん2008/08/28(木) 03:28:58ID:???
どこに釈迦がいるってんだい。
おつむがおしゃかな奴なら確かにいるようだが。
0039nobodyさん2008/08/28(木) 08:08:13ID:???
C++だとグローバル変数では初期化のタイミング不確定だから、シングルトンは有用だったりするけどな
0040nobodyさん2008/08/28(木) 14:16:10ID:???
>>23は質問自体が痛イよね
0041nobodyさん2008/08/28(木) 21:36:39ID:???
答えられなかった奴が必死の自己肯定ww
反論するなら論理的にしろ。な?
0042nobodyさん2008/08/28(木) 21:49:55ID:???
>>23の質問は別に痛いと思わない
痛々しさではむしろ>>31-34の方が

んで、>>23はsingletonと同じではないけど、別にそれでも
いいんじゃない?っていう認識はどんなもんですか > エロい人

唯一性(?)の保証なら、コンストラクタ隠し忘れてたり__clone()上書き
してなかったりする半端singletonよりは確実とか考えたり。(そんな奴いない?)
インスタンスとして扱う必要がなくて、「singleton」と言いさえしなければ、
あれも十分実用的な考え方だと思うけど

叩くなら叩け
0043nobodyさん2008/08/28(木) 22:07:43ID:???
object としてのふるまいが必要でないならそれでいいんじゃねえの。
0044nobodyさん2008/08/28(木) 22:08:43ID:???
staticメソッドとシングルトンパターンとじゃ、比較したり置き換えたり出来るもんじゃないんだよ。
>>30で十分説明してあるし、それ読んで分からないようなら、素養がなさ過ぎるので、プログラミングなんか止めた方が良い。
河原で野球でもしてろ。
0045nobodyさん2008/08/28(木) 22:26:50ID:???
>>30で書いているのは、singletonはパターンの名前で、型であり概念であると
いうことでおk?

OO言語でのstatic等と言うものの理解が全然ないのは確かだから
申し訳ないが、singletonと、くだんの実装方法との最大の違いはインスタンスを
使うかどうか、っていうことだけと思ってしまう。それはsingletonの概念に含まれるの?

>>23の手法に、また別な名前があったなら話はシンプルだとかそういう話?
0046nobodyさん2008/08/28(木) 22:33:07ID:???
そこで意表をついてガンパレードマーチ配信ですよ
0047nobodyさん2008/08/28(木) 22:35:06ID:???
誤爆スマソ
0048nobodyさん2008/08/28(木) 22:49:37ID:???
>>45
もともとsingletonってデザインパターンは、Javaでのデザインパターンの話だし、
JavaプログラミングだとThreadって概念も出てくるから、全部staticなクラスよりも
singletonのほうが都合が良いとか、そういうことなんじゃないの?
0049nobodyさん2008/08/28(木) 23:05:35ID:???
>>48
うん。もともと、そういう実際上の都合も絡めての話題だと思った
てか singleton static でちょっとググっただけでわんさか出てきた

ttp://java-house.jp/ml/archive/j-h-b/048394.html
ttp://www.aerith.net/design/Singleton-j.html#no_use_case
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=22377&forum=12&start=16&23
ttp://www.sk-jp.com/java/pattern/singleton.html
ttp://oldblog.xenophy.com/index.php?entry=entry061224-024857
ttp://tome-programming.cocolog-nifty.com/blog/2006/08/singletonstatic_365e.html

↑(結構アレなのも混ざってるけど)
意外とみんな引っかかる点なんじゃないの?
>>23がそこで悩んだとしたら、むしろセンスがあるんじゃね?

痛いっていってる人らはみんなきっとこれを乗り越えているんだろうが優しくねえなー
0050nobodyさん2008/08/28(木) 23:25:03ID:???
>>49
俺も>>23の質問に対する正しい解答は知りたい。

>>44がいってる
>staticメソッドとシングルトンパターンとじゃ、比較したり置き換えたり出来るもんじゃないんだよ。
っていうのも、少しずれてて、

>>23は、
全部staticなクラスを作るというデザインパターン と singletonというデザインパターンを比較してるのであって。

で、>>30の回答も、
そのアプリケーションを扱う人間が全部staticなクラスを作るというデザインパターンに対して共通認識を持ててたとしたら、
特に不都合は無い、ってことなのかな。
0051nobodyさん2008/08/29(金) 01:26:14ID:???
全部staticなクラスって単なる構造化プログラミングじゃん。
0052nobodyさん2008/08/29(金) 01:39:13ID:???
>>51
それは言えるかも。オブジェクト指向ではないと。
まあぶっちゃけstaticなプロパティを、globalsのいらないglobal変数として
使ってる私が通りますよ、と。
原則がないといくら文法がJavaに近くなっても意味がないってことはありそう

でもそれはデザインパターンと直接には関係しないような
singletonにしたって、普通にglobalじゃんっていう評価みたいだし。俺はよくわからんけどね
0053232008/08/29(金) 03:15:53ID:???
オブジェクト指向は単なる表記方法ではなく考え方なので、
全部staticのクラスだろうがオブジェクト指向にすることは可能。
さらにいえば、別にクラスがなくても可能。
スレッドのないPHPではsingletonに色んなざっくばらんな代替方法があると。
ただ汎用的な知識としてはJavaのやり方が無難で
わざわざ他の方法をとることもないということだな。
よくわかった。
0054nobodyさん2008/08/29(金) 03:25:48ID:???
えらく短絡的なまとめきたー
てかそんな投げやりなまとめなら23とか名乗らず名無しで書けよw

ちょっとでも擁護したレスが軒並み後悔するような、嫌な感じだwww
さあ寝よ
0055nobodyさん2008/08/29(金) 03:31:33ID:???
?
別に君に擁護されなくても全く困らんよ?
もともと馬鹿に的外れな批判されても痛くもなんともないし
0056nobodyさん2008/08/29(金) 09:09:19ID:EVgfNfnd
>>30みたいな説明じゃ、シングルトンがなにかも、staticメソッドと比べての利点もわかんないよ。
こんな説明をする先輩いるけど、ほんと自己満足だよな。

シングルトンのかわりにstaticメソッドでもいいじゃんというのは、そのとおり。
$obj = FooClass::getInstance();
$obj->method();
とするだけなら
FooClass::method();
でいいじゃんと思うのは自然なこと。

ただシングルトンはオブジェクト指向の機能を使えるので、
・継承が使える
・他のメソッドに引数として渡したりできる(オブジェクトなので)
・任意個の個数に設定できる(1個である必要はない)
という利点がある。こういった点が必要ないなら、staticメソッドで構わないよ。
たとえば
$obj = FooClass::getInstance();
other_function($obj);
ということをしたかったら、staticメソッドじゃなくてシングルトンのほうが自然だよね。

シングルトンもstaticメソッドもあくまで手段でしかないので、目的がstaticメソッドで満たせるなら
staticメソッドでもいいんじゃない。
0057nobodyさん2008/08/29(金) 10:42:02ID:???
rubyのmixinみたいなことしたいのですが、どうしたらいいですか?
クラス定義の中から、
class Hoge {
self::mixin('OtherClass');
}
↓
HogeにOtherClassがmixinされる
みたいな形にしたいのですが。
runkitは不安定だったので使いたくありません。
0058nobodyさん2008/08/29(金) 10:51:30ID:???
__call でがんばるか、ruby を使ってください
0059nobodyさん2008/08/29(金) 11:13:07ID:YM8BIoOF
>>57
RhacoというフレームワークではMix-inをサポートしているそうだからみてみるといいかも。
http://rhaco.org/

http://ll.jus.or.jp/2007/show/Event/Session/
> 変態的国産PHPフレームワークrhaco
> doctest、distutils、mix-in等PHPでは聞き慣れない機能について紹介します。
0060nobodyさん2008/08/29(金) 11:39:37ID:???
>>59
ありが�dみてみます
とりあえずsymfonyのsfMixerを見てみたけど
__callの中からsfMixerを呼んで、そこでバックトレース情報を利用して
混ぜられた側のメソッドにデレゲートしてる感じ
この方法だと、混ぜられた側のメソッドから
混ぜてる側のメンバにアクセスできないような・・・
0061nobodyさん2008/08/29(金) 12:35:23ID:???
rhacoのmixinはeval使ってました
速度さえ気にしなければeval使えば大抵のことできますね〜
evalでいくしかないかな
0062nobodyさん2008/08/29(金) 13:15:34ID:???
全部staticメソッドにするというなら、それは構造化プログラミングそのものなわけで、それと比較するなら、オブジェクト指向プログラミングだろ。
シングルトンパターンという実装パターンの一つとじゃ比較の対象にならない。
0063nobodyさん2008/08/29(金) 13:57:50ID:???
構造化プログラミングとOOPを峻別してる奴なんなの?
OOPは構造化プログラミングを含んでるんだよ
書き方の問題ではない
0064nobodyさん2008/08/29(金) 19:54:55ID:YM8BIoOF
>>62
なに難しいこといってんの?
シングルトンでやろうとしていることは、staticメソッドでもできるんじゃね?というだけの話。
なんで構造化プログラムだとかオブジェクト指向との比較とかでてくるの?ばかなの?
0065nobodyさん2008/08/30(土) 03:25:30ID:???
>>57
runkitは使ったことないですが、これは使ってます。
http://d.hatena.ne.jp/rsky/20080124/1201186473
qiqもすごくいい。もう普通のPHPは書けなくなるw
http://d.hatena.ne.jp/rsky/20080301/1204326365
0066nobodyさん2008/08/30(土) 04:23:53ID:???
構造化プログラミングとオブジェクト指向プログラミングは比較して語られるものだよ。
あるプログラム、ある言語をを見て、それが構造化プログラミングなものなのか、オブジェクト指向プログラミングなのか、区別されるんだから。
その区別が出来ないというのは、人類皆兄弟とかいうたぐいの屁理屈だ。
0067nobodyさん2008/08/30(土) 11:36:30ID:???
もうお馬鹿ちゃんは書かない方がいいんじゃないか
自分を大きく見せようとする努力ほど無意味なものはない
0068nobodyさん2008/08/30(土) 12:39:53ID:???
オブジェクト指向プログラミングは、構造化プログラミングを含んでいるものだから、
プログラムを見て、オブジェクト指向プログラミング特有のクラス等を
(正しく)使っていればオブジェクト指向、使っていなければ構造化って判断をするな。

0069nobodyさん2008/08/30(土) 18:14:35ID:OmTt4XZu
RUBYはオブジェクト指向を前提とした言語で、PERLは本来構造化言語なのをパッケージをクラスに流用することでオブジェクト指向の機能を持たせている。
昔の8ビットマイコン時代のBASICはGOTO文で処理を行き来する非構造化言語。
このプログラミングのパラダイムシフトは世界の共通認識だから。
0070nobodyさん2008/08/30(土) 20:22:14ID:???
>>68
「〜判断をするな。」が、I do なのか you shouldn't do なのかわからん
>>69
>このプログラミングのパラダイムシフトは世界の共通認識だから。
だから、何なんだ

どうせならもう少し結論を明確にしてもいいんじゃないかと思う
話がふわふわして仕方がないw
0071nobodyさん2008/08/30(土) 20:38:57ID:/jeGwvoC
はじめまして、質問させてください。
社内でWebサービス構築のために
MVCモデルのPHPフレームワークを作ることになったのですが、
どのあたりまでの実装でフレームワークとして体をなすのか分かりません。
どなたか教えていただけませんでしょうか?
0072nobodyさん2008/08/30(土) 20:57:57ID:???
それが分からない人達がフレームワークを作ることに意味があるとは思えない
既存のものを使った方がいいのでは?
0073nobodyさん2008/08/30(土) 21:07:18ID:/jeGwvoC
回答ありがとうございます。
私も車輪の発明になる気がしてどうも100%乗り気になれないのです。
ちなみに72さんは自作フレームワークの作成または、
既存のフレームワークで、ずっと使い続けてるものありますか?
0074nobodyさん2008/08/30(土) 21:12:11ID:???
>>72
オープンソース全面禁止とかいう規則の会社もあるらしいし、
意味が無いかどうかはわからないのでは?
(PHPやApache自体もオープンソースだから、それはないかもだけどw)

>>71
フレームワークを利用する目的って、多分複数案件で使い回す事が出来て、また
複数の開発者で、またある程度の期間にわたって共通認識・理解をもつことで、
開発コストおよび保守コストを抑えることだと思うんだ
後は、基本的な部品を気合い入れて作ることで、品質の最低ライン(主にセキュリティ面など)を
保証するという意味合いもあるけど

だから、どこまでというのは程度問題でしかないと、個人的には思う
やりすぎれば使い回しに自由がきかなくなったりするし、緩すぎれば保守コストの
軽減には役に立たなかったりするんじゃない?

極端に言えばディレクトリ構造を決めて使い回すだけでも、ある意味「フレームワーク」
だと思う
0075nobodyさん2008/08/30(土) 21:29:08ID:/jeGwvoC
>>74
>だから、どこまでというのは程度問題でしかないと、個人的には思う
なるほど、なかなか外部の方との技術意見交換をする機会がなくて参考になります。
ありがとうございます。

実は1ヶ月ほど前に公開になったあるBtoBのWebサービスで
MVCではないですが、自作でフレームワークを作ってみました。
少しは楽できるのですが、ホントに方向性的に合ってるのか、
若干迷いつつあるんです。
上からMVCモデルのフレームワークを準備してくれと頼まれた中で、
また0から準備することが本当に必要なのか迷ってまして。。。
この掲示板でやめた方がいいなと思ったとしても
やらないといけないことには変わりないんですけれど。


0076nobodyさん2008/08/30(土) 21:46:18ID:???
MVCにこだわるなら
 ・各データの出し入れの基礎的な記述と、各データごとのロジック
 ・表示に関する基礎的な記述とロジック
を、実行スクリプトから切り離すのが最低限?
例えば、昔よく見た

<?php
// DB接続処理ほげほげ
 (省略)
 $sql = 'SELECT * FROM customer;';
$ret = mysql_query($sql, $db);
$rows = array();
while($row = mysql_fetch_assoc($ret)){ $rows[] = $row; }
?>
<html>
(略)
<?php
 foreach($rows as $row){
  (略)
}
?>
(略)
</html>

なんてのを、どう分けるか、何のために分けるか、というお話だと思うんだ。
その具体的な分け方・方向については・・・うーん俺は人に教えるほど
きちんと勉強していません。頑張れ!(オイ)
0077nobodyさん2008/08/30(土) 22:03:54ID:/jeGwvoC
>>76
ありがとうございます。参考にさせていただきます。

0078nobodyさん2008/08/31(日) 11:40:02ID:???
>>75
えーとな。
まずフレームワークを使ってから
考えれ。
0079nobodyさん2008/08/31(日) 18:59:51ID:???
>>75
>>78の言うように
まず既存のフレームワークを利用してみて、長所や短所を理解してから、
自分(とその周り)が使うに当たって必要な構造としてどうなってると使いやすいか考えて
設計しなきゃいけないんでない?

CIスレとかCakeスレで出てる疑問とかそこらのブログで出てるような疑問とかも割りと参考になりそうな気がします。

後、巷ではやってるフレームワークは付属のライブラリが充実してるってのもポイントだったり。
Viewにはテンプレートエンジンを使う必要があるのかとかも考えたり。

>>71がどのように考えてるか分かりませんが、結構重そうな内容ですね。

で、俺もまた、人に教えるほどきちんと勉強していません。頑張れ!(オイ)

0080nobodyさん2008/08/31(日) 22:02:43ID:BcOgvLp9
ありがとうございます。
ViewはSmartyの実績があるので、ほぼ確定かと思います。
あとはMCですね。
で、ご指摘の通り、既存のフレームワークをいくつか
実際に使ってみて、超シンプル版から作っていこうと思います。

それにしても結構種類ありますよね〜。
0081nobodyさん2008/08/31(日) 22:18:42ID:???
>>80
とりあえずCakePHPとCodeIgniterは分かりやすいかな。
SinfonyやEthnaも人気あるっぽいけど。

後は、とりあえず有名なフレームワークをそのまま流用して、
自分の作りたい方向性に足りないものを追加/修正してやって、
作っちゃうっていう方向性も検討の余地がありそうです。
0082nobodyさん2008/08/31(日) 23:09:43ID:???
骨は例えばちいたんでもいいのでは
他のはどうしても、流儀を覚えてそれに則らないと
カスタマイズも難しいような所があるし

ライブラリは、ぶっちゃけPEARやZendを引っ張ってきて、
そのままではごちゃごちゃになるなら、その一部のコードを、
流用して使えば済むことも多い
0083nobodyさん2008/08/31(日) 23:44:28ID:BcOgvLp9
>>81
なるほど、参考になります。ありがとうございます。
CodeIgniterは知りませんでした。勉強になります。

>>82
>流儀を覚えて
そうですよね。そのコストもありますよね。

ライブラリについては私も同感です。
PEARは今でも使ってますし、DBはADODBを使ってます。
0084nobodyさん2008/09/01(月) 07:50:32ID:???
しかし、PEARやADODBを使えるのにフレームワークは自作しなきゃならん意味が分からんな。
0085nobodyさん2008/09/01(月) 16:27:37ID:???
勝ち馬に乗れなくてサポートが止まったらどうするんだ、とか、
複雑すぎると兵隊に書かせられないから却下
(自社開発なら開発者が目の前にいるから例外)とか、
その手の腐った理由かもな。

自作FWなんて最初からサポート止まってるも同然なんだけど。

あとあれだ、
FW使った分だけ工数が削減されるがそれじゃ困る、
なんていう理由じゃないか?
0086nobodyさん2008/09/01(月) 20:42:35ID:???
フレームワーク使うと大幅に工数下がるね。
でも、フレームワークを勉強するためのコストが要るね。

でもさ、そもそも最低限の勉強をしてから実践投入しろと。
フレームワーク=最低限の勉強だよ。
0087nobodyさん2008/09/02(火) 15:46:31ID:???
自分の印象では、CodeIgniterは分かりやすくて良かったです。
SymfonyとかCakePHPは、使い方を学習する段階で、面倒くさいな〜と思ってしまいました。
辛抱強く性格でないと、じっくり腰をすえてフレームワークの使い方を学ぶ段階が苦痛に感じられますね?
Zend Frameworkも解説本は分かりやすかったです。
ちいたんはチュートリアルが不十分であると感じました。
EthnaやMapleは試してないので分かりません。

「日本向けの携帯サイトを作る」という視点で見た場合、各フレームワークの使いやすいさ、機能はどうでしょうか?
0088nobodyさん2008/09/02(火) 19:21:26ID:kKY94AaP
一般的に、フレームワークでは、
データベースの外部キー制約を設置していた場合、
親テーブルの行を削除したら、
対応する子テーブルの行も削除されるようになっているのでしょうか?
0089nobodyさん2008/09/02(火) 20:08:08ID:???
>>88
参照整合性制約(外部キー)までチェックしてデータ操作してくれる
モデルを実装しているフレームワークは寡聞にして聞いたことが無い。
有ったら俺も知りたいな。
0090nobodyさん2008/09/02(火) 20:41:21ID:???
Zend_Dbはそんな感じのやつあったんじゃね?
0091nobodyさん2008/09/02(火) 20:51:11ID:???
ON DELETE CASCADEではだめなん?
DBのパフォーマンスのため、参照整合性制約を付けずにアプリケーション側で
実装する場合もあるとは思うけど、外部キー制約してるんだよね?
0092nobodyさん2008/09/09(火) 00:13:17ID:???
既出だけどsabelなるフレームワークが出てるけど、最近はルーティングとかYAMLとかの設定ファイルに書かないのが流行りなの?
0093nobodyさん2008/09/13(土) 19:22:25ID:lKt9XZcp
テンプレートメソッドってだいたいprotectedにするじゃん
そしてzend規約では、protectedなメソッドの名前は_hogeにする
でも、子に_付きのメソッドのオーバーライドを求めるのって
何かきもくね?
_を付けるってのは、「内側で使ってる」っていうしるしで、
テンプレートメソッドは、子とはいえ、自分以外に実装をまかせるという、
ある種の外側志向。その齟齬がきもさの原因と思う。
publicにするか、規約を破るか、きもさを受け入れるか・・悩ましいぜ
0094nobodyさん2008/09/13(土) 21:34:17ID:???
そういう文化的な気持ち悪さはわかりにくいな
例えば private と protected をわけるスタイルもある
_ と __ とか (←わかりにくいw)

Zendは特にわけてないのかな?
0095nobodyさん2008/09/13(土) 22:06:52ID:???
__は__setとか__constratみたいのがあるじゃん
0096nobodyさん2008/09/13(土) 22:09:06ID:???
↑予約メソッドをリストアップして回避すればいいじゃん
そんなに無いよ
0097nobodyさん2008/09/13(土) 22:11:08ID:???
そこはPHPが糞としか言いようがないな
せめて予約メソッドは、__set__ とか __clone__ とかにしておいてくれればw
0098nobodyさん2008/09/13(土) 22:12:10ID:???
めんどい
0099nobodyさん2008/09/13(土) 22:14:01ID:???
___set っていうのもありか。

コーディングの自由度の幅や読みやすさを考えるなら、
いっそ予約されたメソッドなんかは

__reserved_method_CONSTRUCT()

くらいやってくれてもなんの問題もないしな
0100nobodyさん2008/09/13(土) 22:25:24ID:???
->が一番嫌いなんだよな
.がいいよな.のほうがカッコいい
0101nobodyさん2008/09/13(土) 22:30:28ID:???
>>96
__ で始まるのは 全部 予約メソッドなんだが
0102nobodyさん2008/09/13(土) 22:35:44ID:???
>>100
そうすると、文字列連結が + になり、
連鎖的に toString() 的なメソッドが欲しくなり・・・

Cっぽいな strval() をがんがん使うつもりならそれでもいいが、
Perl派生言語のジレンマを、そう気軽に語ってくれるなw

>>101
それはPHPの「仕様」ではないよね。雰囲気ではそうかもだけど。
実際、ユーザ定義のメソッドで __ が使えない訳ではない。
0103nobodyさん2008/09/13(土) 22:53:57ID:???
protectedとprivateは別物なのに、_で一緒くたにしているのは、
ZF規約の欠点ではなかろうか。
ZF自体の作りの洗練されなさを考えると、
深い考えがあってそうしたものでもなさそう。
実際symfonyなんかは、Javaと同じでプレフィックス付けたりしてないし。
Rubyでもそんな習慣聞いたことない。
PHP4の呪縛を引きずってるだけじゃね?
こんな規約、いらないんじゃね?
0104nobodyさん2008/09/13(土) 22:59:30ID:???
>>103
publicと、private,protectedの区別をメソッド名でつけることは、
意味がないとは思わない

> protectedとprivateは別物なのに、

っていうのは同意だけどね
それについて、ここしばらくPHPの仕様がらみのレスが
付いてるように見えるんだがそれについてはどうなんだw
0105nobodyさん2008/09/14(日) 00:28:45ID:???
>>100
.のが使いやすいのは同意なんだけど、加算演算子と文字列連結演算子が別なのは
PHPの数少ない美点の一つだと思ってる。
0106nobodyさん2008/09/14(日) 01:05:36ID:???
>>105
それは単純にPerl由来なんだけどな。$ と同様に。
$ の使い方としては劣化してるし、この辺はもうPerl文化を切り捨てるか、
PHPの独自路線が欲しい所ではある
0107nobodyさん2008/09/14(日) 01:09:29ID:???
配列が@とか%じゃないのは良いよな
あれきもいし
0108nobodyさん2008/09/14(日) 02:35:06ID:???
PHPってびっくりするほど独自路線というものが無い言語のような気が...
Perlの遺産だったり、Cが透けて見えたり、Javaのパクリだったり...
で、だからこそ普及しているんじゃないかな。

あと関係ないけどPHP6で常にUnicodeモードを有効にしたのは英断だと思う。
パフォーマンスやメモリへの影響も今時のサーバで問題があるほどでもないし。
5系から6への移行は大変かもしれないけど、それで仕事が増えるなら構わないw
0109nobodyさん2008/09/14(日) 03:31:07ID:???
ユニコードモードって何が変わるの?
0110nobodyさん2008/09/14(日) 04:04:33ID:???
未だにPHP4とかの鯖あるし
4,5,6とか大変なんだが〜
0111nobodyさん2008/09/14(日) 04:10:29ID:???
新規案件で4の鯖はないっしょ。てか誘導しようよ
保守案件で4なら、ご苦労様としか言えぬw

6は、一応5.3と互換性を持たせるつもりみたいだね
その5.3が大変なんだろうけど、まだ見ないねぇ
0112nobodyさん2008/09/14(日) 09:51:48ID:???
別にPHP4でも困らないけどな。PHP5の機能で役に立つのは例外くらいなもんだし。
0113nobodyさん2008/09/14(日) 10:42:39ID:???
オブジェクトが代入でコピーされなくなったのは、地味に気持ちいい
0114nobodyさん2008/09/14(日) 10:44:44ID:???
&付ければいいだけじゃん。
0115nobodyさん2008/09/14(日) 11:30:26ID:???
cloneだろ
0116nobodyさん2008/09/14(日) 14:34:14ID:???
4だから困るとか言うよりは、2系統あるのが困る
0117nobodyさん2008/09/16(火) 20:53:37ID:???
>>115
コピーって言っちゃだめなの?
0118nobodyさん2008/09/16(火) 23:08:17ID:???
>>117
>115は>114に対して
0119nobodyさん2008/09/17(水) 13:33:07ID:???
PHPをやめるとしたら、何を使いますか?
・Ruby
・Python
・Perl

やっぱPythonかな?
0120nobodyさん2008/09/17(水) 13:35:32ID:???
Perlは個人的にないな。
0121nobodyさん2008/09/17(水) 13:41:27ID:???
>>119
仕事的には、PHPより高速で安定的に動作して、
月額1000円程度以上のレンサバには95%以上の確率で入ってるなら
なんでもいい。

そんなのある?
0122nobodyさん2008/09/17(水) 13:43:47ID:???
つPerl & FastCGI
FastCGIの方は、95%にはちと足りんかな?w
0123nobodyさん2008/09/17(水) 13:50:56ID:???
Rubyに移行しようと思ったけど
ZendStudioがあるから結局PHP使ってる・・
0124nobodyさん2008/09/17(水) 18:12:51ID:???
書いてて面白いのはPerlだね。
0125nobodyさん2008/09/17(水) 18:45:58ID:???
じょうだんよしこさん
0126nobodyさん2008/09/17(水) 22:00:15ID:???
PHPのつまらなさは異常
0127nobodyさん2008/09/18(木) 02:36:03ID:???
qiq入れればまだ楽しめるよ
0128nobodyさん2008/09/18(木) 16:41:27ID:???
ますかきおくん
0129nobodyさん2008/09/18(木) 16:49:43ID:???
qiq面白いとは思うけど
コードの依存部分が全体に広がるエクステンションを入れるのはやっぱり抵抗あるわ
もしそれがダメになった時のことを考えると
0130nobodyさん2008/09/18(木) 16:52:54ID:???
楽しめても、業務利用は無理っしょ
まだRubyで楽しんでる方が健全じゃねーかwww
0131nobodyさん2008/09/18(木) 19:11:26ID:???
趣味用の言語ならもっとマイナーな奴でもやれよ
0132nobodyさん2008/09/18(木) 19:12:59ID:ykJuPDO5
>>129
別に、フレームワーク使ったってそのフレームワークに依存するじゃん
なんでQIQだと抵抗があるのか
0133nobodyさん2008/09/18(木) 20:57:09ID:???
そりゃあんた、なんか不可解な挙動があったときに、どこまで自分の力で
調べて修正できるのかって点で、違いすぎるだろw

ぶっちゃけ、PHPのコアに関わっている人間にとっての別実装や実験として
でもなければ、QIQなんておもちゃ以外の何者でも無かろうが
0134nobodyさん2008/09/18(木) 21:38:02ID:???
将来PHPがバージョンアップして
qiqの開発が停止して非対応だったら
それまで書いたqiq依存コードがもろとも脂肪じゃん。
フレームワーク使っててもフレームワーク非依存なプレーンなクラスは書いていくし
そういうのは流用が効く。
0135nobodyさん2008/09/19(金) 00:57:48ID:???
PHPにもApacheにも何も保証があるわけじゃないのに。
PHP5依存コードが脂肪しない保証もない。
Zendと契約結んでる? そりゃ失礼しました。
0136nobodyさん2008/09/19(金) 03:33:16ID:???
>>135
確率の問題
0137nobodyさん2008/09/19(金) 12:02:16ID:???
PHPのフレームワークと、土台のPHP・Apacheとを、どうやったら
同一視できるのか
また、ユーザの少ないというか皆無に近いQIQなるエクステンションと、
ばりばり商用利用され、長期間メンテの続いている普及率抜群の
プロジェクトとを同一視できるのも素晴らしい

>>132とか>>135とかは、きっと「フレームワーク」の中を調べたりましてや
いじったりなんて、思いもしないユーザなのかな?

ひょっとして全部同列に見えるくらいのスーパーハカーですか?
0138nobodyさん2008/09/19(金) 18:10:39ID:???
PHPユーザーは裾野が広いってことでしょう。
サンデープログラマーから職業プログラマーまで幅が広い。
QIQは素晴らしいエクステンションだから、PHPを支援しているIBMやマイクロソフトとかの大手企業に支援してもらったらいいんじゃないですか?>作者の方
0139nobodyさん2008/09/20(土) 13:23:29ID:???
ラムダとか5.3で導入されるじゃん
qiqって何が素晴らしいの?
0140nobodyさん2008/09/20(土) 13:42:12ID:???
前スレでさんざん出てた [] じゃね?
執着してる人が結構いるようだし
0141nobodyさん2008/09/21(日) 05:27:57ID:???
[]とハッシュ{}はほしいねぇ
あと -> を . にすれば書くのも読むのも楽だ
0142nobodyさん2008/09/21(日) 05:32:43ID:???
C/C++の話かよw
0143nobodyさん2008/09/21(日) 18:00:01ID:???
>>137
>PHPのフレームワークと、土台のPHP・Apacheとを、どうやったら
>同一視できるのか

おいおい、PHPの安定性をApacheと同じにしないでくれよ。
どうせPHPだってver4のサポートなんてもう打ち切られるじゃん。
未来永劫サポートされるわけじゃないし、どっちもどっち。

PHPもフレームワークもQIQも、どれもオープンソースじゃん。
だれかのメンテに頼るのもいいけど、必要なら自分でメンテすればいいじゃんか。
QIQなんてただのライブラリにすぎないんだから、そのくらいできるだろ。
でかいフレームワークのコード読むよりは小さいQIQのほうが楽。
0144nobodyさん2008/09/21(日) 19:43:02ID:???
> QIQなんてただのライブラリにすぎないんだから、
ライ・・ブラリ・・・?

> でかいフレームワークのコード読むよりは小さいQIQのほうが楽。
確かにそうかもしれんが、QIQが何をやってどこを修正すれば
どうなるかってのをつかむ為には、少なくともCとBison(Yacc)と
PHPのCソースコードに関する知識が必要。
てか「楽」じゃねーよw
0145nobodyさん2008/09/21(日) 20:08:55ID:???
QIQのソースコード読むのが楽なわけないが。少なくともPHPのウェブフレームワークなんかよりは遙かにスキルが要求される。
0146nobodyさん2008/09/21(日) 21:37:07ID:???
あれはPHPの拡張モジュール作るのには必要ない、文書化もされていないようなAPIを叩いてるからね...
単体では短くても、理解しようとするとZend Engineのソースコード全体を見る羽目になるw

それとは関係ないけど、拡張モジュールを作るなら何気にPHP6はAPIが使いやすくなってる。
5.3もUnicode関連を除いてほぼ6相当だけど、便利な関数が5.3だけZEND_APIとしてエクスポートされていなくて切ないことも。
0147nobodyさん2008/09/22(月) 00:20:44ID:???
>>145
>QIQのソースコード読むのが楽なわけないが。少なくともPHPのウェブフレームワークなんかよりは遙かにスキルが要求される。
それはおまえがWebのスキルしかないから。コンパイラコンパイラの初歩知識があれば、見れば分かる。
自分が慣れてる分野のコードは読めて、知識のない分野のコードは読めないのは当然。

0148nobodyさん2008/09/22(月) 00:46:48ID:???
PHPで描かれたウェブのフレームワークとPHPのエクステンション、どっちが難解かは子供でも分かること
0149nobodyさん2008/09/22(月) 01:04:16ID:???
いや、量によって変わるから、どちらが難解かは一概に言えない。


ただいえるのは、PHPという言語仕様を非公式変えてしまうようなものは
公式でPHPそのものが変わったときに対応が困難になるから
使うのはやめておけってこった。
0150nobodyさん2008/09/22(月) 07:15:01ID:???
公式でPHPが変わったら、どっちもどっちじゃない?
0151nobodyさん2008/09/22(月) 10:49:18ID:???
じゃない。
0152nobodyさん2008/09/22(月) 16:45:08ID:???
アホな質問かも知れないけど、cakephpライクなフレームワークを作ろうかと
思ってるんですが、マジックメソッドの __get使ってモデルやコンポーネントの
呼び出しを下のようにやってみたいんだけど、何か問題あります?

class HogeController extends Controller
{
  function index()
  {
   $data = $this->Model->classname->find();
   $this->Component->classname->hogehoge();
  }
}
0153nobodyさん2008/09/23(火) 00:47:41ID:???
>>152
$this->Modelとか$this->Componentの__get()で、
与えられたクラス名のオブジェクトを生成・取得するって仕組み?
特に悪いとも思わないけど、必要とか便利とかもあんまり思わないw

例えば設計思想とか、利用時の利便性とかもあるんだろうけど、
同じ事をするのに、Model::factory()とかModel::singleton()でも
いい場合もあるかもだし

ピントはずれだったらスマソ
0154nobodyさん2008/09/23(火) 00:51:04ID:???
>>153 微妙に修正
> 同じ事をするのに、Model::factory()とかModel::singleton()でも
→ 同じ事をするのに、Model::factory(classname) とか new classname() とか classname::singleton() とかでも
0155nobodyさん2008/09/23(火) 02:07:19ID:???
new は method chain できないから却下
01561522008/09/23(火) 15:14:04ID:???
cakephpだとコントローラーのプロパティに
使うコンポーネント設定するのいちいち面倒だな〜と思ってたんで。
そういうやり方もあるんですね、勉強になります。有り難うございました。
0157nobodyさん2008/09/23(火) 17:34:13ID:???
∧_∧
( ´∀`)< ぬるぽプロジェクト

みんなで面白いサイト作って有名にしようぜ!
http://yutori.2ch.net/test/read.cgi/news4vip/1222156869/
★まとめwiki
http://www39.atwiki.jp/vipproject/

PHPのフレームワークとして symfonyを採用予定です。
0158nobodyさん2008/09/23(火) 20:55:42ID:???
>>157
スレ荒れすぎワロタ
0159nobodyさん2008/09/23(火) 21:24:50ID:???
>>158
自動保守おいしいです(^q^)
0160nobodyさん2008/09/26(金) 16:21:57ID:???
フレームワークとは直接関係ないけど5.3でspl_autoload_register(function($name){...});
すると実際にautoloadされるときにbus erorrで落ちるね。
spl_autoload_register($f=function($name){...}); なら$fが生きている間だけは落ちない。
0161nobodyさん2008/09/26(金) 16:42:24ID:???
5が出ても枯れるまで結構時間かかったし
6も使えるようになるまでは長いだろうなぁ
0162nobodyさん2008/09/27(土) 08:37:12ID:???
一人で最初期モックアップ作るなら、
railsとcakephpと、どっちが向いてる?
0163nobodyさん2008/09/28(日) 11:02:03ID:???
その比較って意味あるのかな?
Ruby(少なくともRails)とPHPが同等にできる人にとってしか答えようがないし、
回答もしかりw
0164nobodyさん2008/09/28(日) 11:49:26ID:???
cakeみたいな厨フレームワーク使ってる人恥ずかしくないんですかぁ
0165nobodyさん2008/09/28(日) 15:59:10ID:???
んじゃ何使えばいいの?
0166nobodyさん2008/09/28(日) 18:15:32ID:???
☆Z☆E☆N☆D☆!!
0167nobodyさん2008/09/28(日) 22:06:23ID:???
Zend…


無いわー
0168nobodyさん2008/09/28(日) 23:15:36ID:???
zend使いまくりだけど
何が不満なのかわからない
0169nobodyさん2008/09/29(月) 06:03:55ID:???
モックならちいたんで良いジャマイカ。
0170nobodyさん2008/09/30(火) 00:08:37ID:???
モックなら素のPHPでいいよ
0171nobodyさん2008/09/30(火) 00:17:33ID:???
モックはHTMLで十分なこともおおくない?w
ヘッダフッタ辺りのレイアウトとかで楽したいなら、
手慣れたテンプレートエンジンがあればいいかもだけど

フレームワークってのとはちょっと違うような
多分必要なのはView側の省力化・柔軟性かなあ
0172nobodyさん2008/09/30(火) 00:41:51ID:???
マックでいいよ
0173nobodyさん2008/09/30(火) 01:56:27ID:???
楽天がセッションidごとgoogleにキャッシュされ、
個人情報を漏らしまくって最終的にPHP脂肪www
0174nobodyさん2008/09/30(火) 03:55:27ID:CLW/UbJj
物区ならPencilでいいんじゃね
0175nobodyさん2008/09/30(火) 06:24:36ID:???
つーかsymfony一択だろ
フレームワーク作者で一番センスあるコード書くのがフランチョス。
0176nobodyさん2008/09/30(火) 07:01:23ID:???
symfonyは関数名がダサい
_区切りとかKENTかよw
0177nobodyさん2008/09/30(火) 07:07:59ID:???
そんな規約ないよ
何かと間違えてないか?
0178nobodyさん2008/09/30(火) 07:12:10ID:???
あれれ〜symfonyじゃなかったっけ?
0179nobodyさん2008/09/30(火) 07:26:27ID:???
symfonyはJavaと同じキャメルケースだよ
0180nobodyさん2008/09/30(火) 19:28:17ID:???
そもそもPHPの標準関数の命名がいい加減なんだから、拘っても意味ない。
0181nobodyさん2008/10/01(水) 01:38:54ID:???
PHPはキャメルケースとアンダースコア混在しまくってるからな
クラス名とか関数名とか考えるとき、どっちにしようかいつも迷ってしまう
0182nobodyさん2008/10/01(水) 01:50:42ID:???
それ単に昔の関数と最近のクラスメソッドなだけだろ
0183nobodyさん2008/10/01(水) 07:31:56ID:???
将来的にはほとんどオブジェクト指向のラッパーが用意されて
関数は地下に潜った存在になるだろうな
0184nobodyさん2008/10/02(木) 19:06:50ID:???
最近のは殆どキャメルケースに一本化の流れなんかね
アンダースコア派だったからどうもなじめない
0185nobodyさん2008/10/02(木) 19:46:59ID:???
オブジェクト指向な関数(メソッド)で
アンダースコアが普及しているような言語あるの?
0186nobodyさん2008/10/02(木) 19:54:09ID:???
るby
0187nobodyさん2008/10/02(木) 19:55:23ID:???
くそ言語ww
0188nobodyさん2008/10/02(木) 19:59:51ID:???
PHPに言われたらしめぇだべ
0189nobodyさん2008/10/02(木) 20:29:01ID:???
PHPよりも糞な言語なんてINTERCALくらいだろ
0190nobodyさん2008/10/02(木) 20:58:24ID:???
キャメルケースでも、メソッド名でM$流のUpperCamelCaseは勘弁して欲しい
それはクラス名だけでいいと思う
0191nobodyさん2008/10/02(木) 21:19:41ID:???
メソッドをアッパーキャメルケースで書く人なんているの?
そんなコード見たことない
0192nobodyさん2008/10/02(木) 21:28:23ID:???
C#とかかじった人はやる。
携帯ミドルウェアとかやっててC/C++は触るがJavaは触らない、って人もやる。
まあぶっちゃけ Java vs. C# なんだけど、PHPは中途半端なので混在してる。

その点Rubyは、作ってる・使ってる人間がC・Perl on *nix の人メインなので、
アンダースコア派が主流なのかな
また、RubyではUpperCamelCaseは文法的に定数扱いされるので、メソッド名や
通常の変数名には使えない。・・・MS流が嫌いなのか?w
0193nobodyさん2008/10/03(金) 00:28:34ID:???
そういう書き方の自由を奪う言語は嫌われる。
0194nobodyさん2008/10/03(金) 02:07:48ID:???
Rubyの_でつなぐのはPerl由来だろうね。俺は_でつなぐのが見やすくて好きだけどな。
PHPはJava風なんだけど、初期に出来た関数の命名が超適当だからな。引数の取り方とかも。
C#とかJavaはどうせIDE使うんで、まあ、どうでもいいような気がする。
0195nobodyさん2008/10/03(金) 11:11:04ID:???
大文字小文字を区別しないものにCamelCaseを使うのは、ちょっと気持ち悪い
0196nobodyさん2008/10/03(金) 14:57:50ID:???
キャメルケースの種類

アッパーキャメルケース (UCC)、またはパスカルケース(PascalCase)
    複合語の先頭を、大文字で書き始める。
    つづり例:CamelCase

ローワーキャメルケース (LCC)、または単にキャメルケース
    複合語の先頭を、小文字で書き始める。
    つづり例:camelCase

0197nobodyさん2008/10/03(金) 15:09:46ID:???
なんでわざわざ書いたん?
自分用メモか?
0198nobodyさん2008/10/03(金) 15:43:33ID:???
初めて知ってうれしかった
0199nobodyさん2008/10/03(金) 16:36:40ID:???
CSSですらできる多重継承ができないPHPって一体・・・
0200nobodyさん2008/10/03(金) 17:18:11ID:???
Mixinがあれば多重継承なんて必要ありませんよ
0201nobodyさん2008/10/03(金) 17:57:27ID:???
>>199
Javaもですが・・
0202nobodyさん2008/10/03(金) 18:04:06ID:???
Mixinを提供しているRubyだけがCSSと肩を並べているということですね
0203nobodyさん2008/10/03(金) 19:59:32ID:???
つまり、いや、やめておこう
0204nobodyさん2008/10/03(金) 20:27:36ID:???
>>185
pythonもメソッド名は、アンダースコアが一般的かな。
クラス名はキャメルケースだけど。
0205nobodyさん2008/10/03(金) 20:55:12ID:???
最後の文字だけ大文字にする逆キャメルケースにしてる人いる?
geThogEとか
0206nobodyさん2008/10/03(金) 23:42:27ID:???
>>205
どうでもいいけど、読みづらくね?
0207nobodyさん2008/10/03(金) 23:48:08ID:???
ゲ ソォグ イー と読んでしまった
0208nobodyさん2008/10/04(土) 00:29:16ID:???
>>205
まずそうしようと思った意図はなんだw
さすがにこれは利点も考え付かんww
0209nobodyさん2008/10/04(土) 00:31:58ID:???
難読化とかw
0210nobodyさん2008/10/04(土) 04:52:10ID:???
<?php
class Class_Name
{
    public function methodName( )
    {
         functionName($valOne, $valTwo);
         if ($a == 1){
            $b = 2;
         }
    }

命名規則、俺の結論はこのあたり。
http://framework.zend.com/manual/en/coding-standard.naming-conventions.html
http://solarphp.org/manual:project_standards:naming_conventions
Zend, Solarあたり守っとけばPEARの規約でも問題ない。あとクラス名は_で区切っとかないとauto loaderがめんどい。
0211nobodyさん2008/10/04(土) 07:46:06ID:???
if (---) {
0212nobodyさん2008/10/04(土) 13:25:04ID:???
>>210
>あとクラス名は_で区切っとかないとauto loaderがめんどい。
kwsk
0213nobodyさん2008/10/04(土) 15:19:20ID:???
>>212
>>210じゃ無いけど、ディレクトリ構造を反映ってことじゃない?
Perlのモジュール風?

Zend_Db_Table_Rowクラス => Zend/Db/Table/Row.php

ってな感じじゃないかと想像
0214nobodyさん2008/10/04(土) 15:29:32ID:???
explodeですぐパスに変換できるってことか
たしかに_区切りはよさげだな
0215nobodyさん2008/10/04(土) 20:31:20ID:???
へー
0216nobodyさん2008/10/05(日) 02:47:20ID:???
>>213
その通り。フォローthx
PEARでもその命名でディレクトリきってるし、PEAR2ではそのルールでauto loader標準だと思ったよ。
0217nobodyさん2008/10/05(日) 04:57:56ID:???
細かい話になってくるが、DBとかPDFとかいう略語の場合、
DBなのかDbなのか、PDFなのかPdfなのか、っていう違いも
あるねw

これがまた人によってまちまちだし、同じ人でも場合によって
違う場合がある
0218nobodyさん2008/10/05(日) 05:28:14ID:???
zendスタイルにした時、そこが一番しっくり来なかったような気がする

あとプロパティはどうせ全部 private なので _ が面倒
0219nobodyさん2008/10/05(日) 11:01:14ID:???
デザインパターン使うときはデザインパターンも名前に入れてる
例えばSolar_Auth_Adapter_Sql はパッケージ名はSolarで認証クラスをアダプターでSQLクラスで実装してるクラス。
Solar/Auth.php
Solar/Auth/Adapter.php Solar_Auth_Adapterクラスで抽象クラスを定義
Solar/Auth/Adapter/Sql.php Solar_Auth_Adapter_Sql クラスでSolar_Auth_Adapterクラスを実装
0220nobodyさん2008/10/06(月) 14:16:23ID:H0RcPBpG
みんな努力してるんだなー。
参考になります^^
0221nobodyさん2008/10/07(火) 00:37:43ID:h510jQqa
>>205
意味不明で面白い。ウケる。
0222nobodyさん2008/10/07(火) 14:11:17ID:???
>>219
> デザインパターン使うときはデザインパターンも名前に入れてる

それ、使うときもあったり使わないときもあったり、

クラスに単一のパターンしか適用されない場合、
そのパターンの為のクラスの場合には、そういう名前付けられるけど

一つのクラスに複数のパターンが適用される場合困るんだよな。
0223nobodyさん2008/10/07(火) 14:44:16ID:???
俺様フレームワークをやめようと思って、CakeかSymfonyを導入しようと思うけど
結局どれがいいんだ…
0224nobodyさん2008/10/07(火) 14:53:14ID:???
逆に俺様フレームワークを公開して
スタンダードにしてやれ
0225nobodyさん2008/10/07(火) 14:58:34ID:???
結局はちいたんでいいじゃんっていうレスがつく未来が見える
0226nobodyさん2008/10/07(火) 20:28:02ID:???
ちいたんは、その名前が失敗の理由のひとつである。
0227nobodyさん2008/10/07(火) 21:32:19ID:???
>>225
結局はちいたんで(ry
0228nobodyさん2008/10/08(水) 02:29:04ID:???
>>227
早いわw
0229nobodyさん2008/10/10(金) 00:45:42ID:???
まあ増えすぎたよね
機能追加しすぎで扱いにくいWEBサービスのようだ
0230nobodyさん2008/10/16(木) 15:04:15ID:???
>>225
まあ徴兵制だろうね。
戦前(に成人した)世代と戦後世代の日本人を見比べれば一目瞭然。
0231nobodyさん2008/10/16(木) 15:31:37ID:???
なんだ?この妙に右よりの誤爆は
0232nobodyさん2008/10/17(金) 00:38:24ID:???
PHPプログラマーの方でPHP用フレームワークを使っている方へアンケート! ※フレームワーク導入を検討中。先輩方は何を使っているのか?好んでいるのか?をアンケート。.. - 人力検索はてな
http://q.hatena.ne.jp/1210442237

Pradoが圧倒的ですねw
http://www.pradosoft.com/
0233nobodyさん2008/10/17(金) 01:45:17ID:???
このpradoぶっちぎりはネタだよね?w
0234nobodyさん2008/10/17(金) 03:15:57ID:7gkZ0lcc
>>233
PRADOの解説本が出てないじゃん!?
Zend、Symfony、CakePHP、CodeIgniterの本は出てるぞwww
出版社は売れるであろう本を出すはず
0235nobodyさん2008/10/20(月) 02:51:25ID:ya5easnJ
symfonyってページネーション機能はあるんですか?
ネットで検索しても「ajaxでページネーション」はあるんだけど・・・
0236nobodyさん2008/10/20(月) 17:37:11ID:???
英語の情報をなかったことにするのは君にとって損失かもしれないよ?

http://www.google.co.jp/search?hl=ja&q=site%3Asymfony-project.org+paginate
0237nobodyさん2008/10/20(月) 21:10:52ID:Kq4igHV+
>>236
でもそれも機能たいしてなくないか?
CakePHPみたいに同一ページの複数モデルに対応してないでしょ?

っていうか、ページネーションって掲示板ですら絶対に必要になる機能なのに
なんで標準で付けないんだろ
0238nobodyさん2008/10/20(月) 21:57:19ID:???
>>237
最適化が難しいから。

一度でもページネイションの機能を作ったことがあればわかると思うが、
DBから全データ読み込んでから絞り込むのか、検索条件を考慮したデータを
取得しておいてからそれを絞り込むのか、なんだかんだ。

基本的に、データの「件数」がわからないとページング出来ない。
(それを無視してやるページングもあるが。)

どうせライトユーザ向けには、DBやらと連携したページングを求め
られるんだから、「始めからつけてない」は、ある意味賢明な選択だよ。

・・・↑が不満なら、PEARとか使えばいいじゃん、全く。
0239nobodyさん2008/10/20(月) 22:10:00ID:Kq4igHV+
>>238
いや俺もたいしたやつじゃないけど作ったことあるし、
CakePHPのソースを解析したりしてみたけど、
そんなに難しくはないと思うけどな(だったらそれ使えばいいじゃんと言われるかもしれないが・・・)

>基本的に、データの「件数」がわからないとページング出来ない。
これは渡せばいいだけ
0240nobodyさん2008/10/20(月) 22:21:43ID:???
>>239
うん。だから、>>238の二行目
>最適化が難しいから
と、最終行
>・・・↑が不満なら、PEARとか使えばいいじゃん、全く。
が、結論なんだけどなw

「フレームワークに標準で付いていない」ってのが問題じゃ無かったのか?
0241nobodyさん2008/10/20(月) 22:31:39ID:Kq4igHV+
>>240
PEARは使いたくない

まあ、付いてないことがはっきり分かったからもういいです
0242nobodyさん2008/10/20(月) 23:11:01ID:???
paginationはZendなら標準で付いてる
しかも色んな状況に対応できる
さあ、ZFを使おう!
0243nobodyさん2008/10/20(月) 23:27:07ID:Kq4igHV+
まあそれが普通だよな
0244nobodyさん2008/10/20(月) 23:34:15ID:???
>基本的に、データの「件数」がわからないとページング出来ない。
CakePHPはよくできてる。
データの件数ってのは、データ用のSQL文のうち条件は同じでselectするものが、
フィールド名の変わりにcount(*)になっただけ。

そこの部分(フィールド名の変わりにcount(*))への変換を
自動でやってくれるから、データ用のSQLに相当する部分のみを書けばいい。
また、データ用のSQLにlimitを主導で追加する必要もない。これも自動で追加される。

つまり、「データを取ってくるSQL」を書いて「ペジネーション」処理を使うだけで内部的に、
「データを取ってくるSQL」には、自動的にlimitが追加されて発行され
「データを取ってくるSQL」には、自動的に件数を取得するcountに変更される。(当たり前だがこっちにはlimitはつかない)
(もちろんSQL直書きではなくモデルの操作だが)

最適化って話なら、データ件数を取得する関数をオーバーライドできる。(上のやつはデフォルト動作)
こういう目的でオーバーライドされるために存在するメソッドが用意されている。
0245nobodyさん2008/10/20(月) 23:41:59ID:???
>>244
うーん。それは、例えばファイルベースのデータとかには適用できないよね。
メールボックスを漁るとか、さw
無理矢理使おうと思えば、いっぺんDBに放り込む必要がある。

そんな(SQLで全部済む)フレームワークばかりではない、っていう前提に
立てば、ページネイションの機能は汎用的なものにならざるを得ない。

データの件数と一ページ辺りの取得件数から、データ開始位置(番号)と
データ終了位置を取得する、みたいな。
SQLで言えば、OFFSET とそこからの LIMIT を取得するだけ、っていう。

んで、そんなクラスが乱立しても仕方ないので、PEARなりZendなり使えって
結論で多分無問題。
と思うんだけどなぁ
もちろん、>>244みたいな全自動?ページネイションを否定するわけではないけど。
0246nobodyさん2008/10/20(月) 23:53:02ID:???
SQLを使わないページネイションなら別にある。
0247nobodyさん2008/10/21(火) 00:20:07ID:???
mysqlならSQL_CALC_FOUND_ROWSを使いたいよね
0248nobodyさん2008/10/21(火) 00:32:46ID:???
>>247
またそんな無茶ぶりをw
フレームワークなりライブラリなり作る身になれw

まあ、そんなこと言う人は自分で作るんだろうけど
0249nobodyさん2008/10/21(火) 01:06:35ID:???
>>244
>CakePHPはよくできてる。
別にCakeだけがよくできてるわけじゃなくて、Cake以外もできてますよね?
0250nobodyさん2008/10/21(火) 03:24:50ID:???
>>247-248
ページネイションとSQLをごっちゃにしてね?
SQL_CALC_FOUND_ROWSを使った独自SQL文からのデータを、
ページネイションに渡せばいいんですよ。
0251nobodyさん2008/10/21(火) 03:26:05ID:???
>>249
symfonyにはないってことから、この話題がはじまっている。
0252nobodyさん2008/10/21(火) 03:31:10ID:???
ページネーションくらい自分で書けばいいじゃん
0253nobodyさん2008/10/21(火) 03:33:09ID:???
cakeなどという厨フレームワークを使える奴は恥知らず
それだけはガチ
0254nobodyさん2008/10/21(火) 03:36:51ID:???
>>252
だからそういう問題じゃないんだって
そんなこといったらFWも自分で書けば(ry
0255nobodyさん2008/10/21(火) 03:37:18ID:???
simplateの中の人が不治の病で引き継ぎする人募集してるね
面識ないし、simplateを使ったこともないけど泣きそうになっちゃった
0256nobodyさん2008/10/21(火) 03:39:35ID:???
てかモデルは自分で書いた方がいい
FW付属のモデルだとクラスタリング対応とかしにくいじゃん
0257nobodyさん2008/10/21(火) 03:41:23ID:???
こういうスレって必ず>>253みたいな奴が現れるよなw
0258nobodyさん2008/10/21(火) 03:42:25ID:???
>>257
恥知らず乙www
0259nobodyさん2008/10/21(火) 03:46:39ID:???
>>255
もういいんだ。PHPの世界でテンプレートはもう死んだんだ。
みなが、PHPがテンプレートそのものじゃね?と気づいた。
君の役目は終わった。
0260nobodyさん2008/10/21(火) 03:53:16ID:???
simplateの中の人はいい仕事をしている
いい仕事をしている人を愚弄するな
0261nobodyさん2008/10/21(火) 03:57:54ID:???
愚弄?
0262nobodyさん2008/10/21(火) 03:58:45ID:???
>>255
一度計ったことがあるけど
たしかに速いね

>>257
相手にしない方がいいよ
0263nobodyさん2008/10/21(火) 04:04:16ID:???
cake使いって案外多いんだなw
高カロリー低栄養のケーキ喰いすぎてメタボm9(^Д^)プギャー
0264nobodyさん2008/10/21(火) 04:39:49ID:???
>>263
後半は、なんだい? ケーキの話かい? じゃあすれ違いだねw
0265nobodyさん2008/10/21(火) 10:18:09ID:???
>>263
こいつ自分から頭悪い発言してるなw
0266nobodyさん2008/10/21(火) 15:53:57ID:???
厨フレームワークだけあって
さすがにcake厨の煽りはレベル低いねw
0267nobodyさん2008/10/21(火) 16:58:55ID:???
おまえらライスケーキでも食ってすこしもちつけ
0268nobodyさん2008/10/21(火) 17:12:18ID:???
だいたいページネーションとmodelを一緒くたにするなんて愚かすぎだろ>cake
まず汎用的な単体ページネーションクラスを書いて
それにモデルをアタッチできる継承クラス書くなり
アダプタ書くなりするのが普通です
つまりsymfonyは神、cakeはホームレス
0269nobodyさん2008/10/21(火) 18:03:54ID:???
> だいたいページネーションとmodelを一緒くたにするなんて愚かすぎだろ>cake

ページネーションがmodelと一緒くたになっていると
勘違いする人もいるんだなぁw

コントローラと一緒くたになっているというならまだしも。
(まあコントローラと一緒くたになるのは何の問題もありませんが)

いったいどこの部分を見て一緒くたといっているんだろうか。
modelから任意の範囲のデータを持ってくる機能?
これをmodelに入れないとしたらどこに入れるんだか。
0270nobodyさん2008/10/21(火) 19:56:58ID:???
まぁ、cake見たことないから憶測で言ってるだけだけどね。
cakeってPHP4/5用だっけ?
4を切り捨てずにクリーンになんて書けるわけねーし
物乞い乙ww
0271nobodyさん2008/10/21(火) 20:34:39ID:???
なんにしても厨っぽい発言していると説得力なくなるぜ
0272nobodyさん2008/10/21(火) 21:33:22ID:???
code igniterにしてもcakephpにしても
ウリだったPHP4対応が今度は足かせになります
0273nobodyさん2008/10/21(火) 23:07:36ID:???
切り捨てなかったからユーザがついたんじゃないの
0274nobodyさん2008/10/22(水) 02:03:20ID:???
つかPHP4が使えないフレームワークなんて
仕事じゃ使えません
0275nobodyさん2008/10/22(水) 02:05:32ID:???
>>274
とも限らなくなってきたな。
いつまでも古いサーバ使ってるんじゃないよー
0276nobodyさん2008/10/22(水) 02:16:16ID://oF70yn
>>275
クライアントに言ってくれよ…
verアップを勧めても、他のプログラムに不具合が出るかもしれないので
PHPのverアップはできません(^o^)
って言われるしな…
0277nobodyさん2008/10/22(水) 02:32:46ID:???
実際クリーンとかピュアとかって商売としては・・
0278nobodyさん2008/10/22(水) 05:53:06ID:???
>>274
すごいな。未だにこんな仕事してるやついるのか…
0279nobodyさん2008/10/22(水) 08:21:37ID:???
ま、今でもPHP4を指定する案件は多い。サーバ上の他のプログラムがPHP4で動いているなら、新しいプログラムもPHP4にするしかないからな。
0280nobodyさん2008/10/22(水) 08:43:18ID:???
>>279
歩のスパイラルだな
もうPHP4は絶体絶命のセキュリティ穴でも作って
使ってるサーバごとぶっ壊せばいいのに
0281nobodyさん2008/10/22(水) 13:04:41ID:???
実際PHP4はもうセキュリティFIXも出さない予定なんだろ?
といいつつこないだ出たけど。
レン鯖でPHP4と5共存してるところとかあるよね。
0282nobodyさん2008/10/22(水) 15:48:34ID:???
php4で作るならphp5より高いですよ。
とか言えばいいんじゃないのかな。
実際大変だし。
0283nobodyさん2008/10/22(水) 16:26:31ID:Skk+7Du0
>>282
じゃあ他に頼みます
0284nobodyさん2008/10/22(水) 16:29:12ID:???
こうしてダンピングも続くのであった
0285nobodyさん2008/10/22(水) 16:32:01ID:???
一度出来上がったものを新しくするのにはコストもかかるから仕方がないってのはわかるが
踏ん切りつけれないとこ(クライアント)は総じて馬鹿な奴が多いよな。不思議と。
0286nobodyさん2008/10/22(水) 16:42:21ID:???
IEも未だに6使ってるやつは馬鹿
作り手の気持ちを考えられない
0287nobodyさん2008/10/22(水) 16:46:31ID:???
>>283
それで仕事逃すなんてもったいない。
php5で作る素晴らしさを説明して、説得するんだ。
php4なら高いというのは、言い換えればphp5なら安い。
実際php5で作るよりphp4の方が工数増えない?
クライアントというより、元請からの仕事なら、しょうがないが。
0288nobodyさん2008/10/22(水) 17:31:12ID:???
というか、PHP5の方がセキュリティホール見つかるの多いし。
0289nobodyさん2008/10/22(水) 17:50:12ID:???
>>287
クライアント「で、PHP5で作ったらいくら安くなるの?」
0290nobodyさん2008/10/22(水) 18:01:25ID:???
PHP5%引き
0291nobodyさん2008/10/22(水) 18:28:36ID:???
>>290
普及率かな?それなら合理的かな
0292nobodyさん2008/10/22(水) 18:29:23ID:???
PHP5用に別鯖立てればいいじゃん
今から作るのにPHP4なんていくらなんでもあほすぎだよ
0293nobodyさん2008/10/22(水) 18:46:54ID:???
将来的に何れ変更が必要になるわけで、今がチャンスですよと押し込む材料は十分あるしなw
0294nobodyさん2008/10/22(水) 19:02:07ID:???
>>286
作り手の気持ちなんて考えるユーザやクライアントなんてほぼ皆無だと思うけど
0295nobodyさん2008/10/22(水) 22:23:46ID:???
>>294
それを工数・予算に絡めて喋るのがいい営業・・・ってのは夢かなー(棒読み)
0296nobodyさん2008/10/23(木) 00:13:27ID:???
>>292
確かに、今から作るならPHP5だね。
まっさらな新規案件なのにPHP4でっていうのは、
PHP4に慣れて自分のライブラリとかをPHP5で使えるようにしない技術者の怠慢。

ただ、PHP5だからって工数が圧倒的に圧縮できる訳じゃない。
そういう意味では、既存でPHP4で走ってるのの改良はかなりつらい。
0297nobodyさん2008/10/23(木) 01:19:05ID:???
>>296
>PHP4に慣れて自分のライブラリとかをPHP5で使えるようにしない技術者の怠慢。
ちょっと違う。

使えるようにできない、ていうか、(できないことはまずないから)、できるかどうかすら
わからない、技術者の怠慢「と無能」

が正しいように思ってる。まあこんな事は職場では言いたくないけど。
0298nobodyさん2008/10/23(木) 01:29:54ID:???
いや、クラの我儘だろ
0299nobodyさん2008/10/23(木) 01:34:26ID:???
>>298
それすら、怠慢(自分の仕事を楽により良くする努力を怠っているという意味で)、
っていう次元ですよ。
「新規案件でPHP4」っていうお話はね。

既存スクリプトの保守案件はまた別と理解してます。
あと、教育コストが云々は認めません。少なくとも、俺がチーフ(笑)なら。
0300nobodyさん2008/10/23(木) 08:08:47ID:???
PHP4もPHP5も使う立場ではほとんど変わらないから。PHP5がE_STRICTを強制するとかっていうなら、PHP5の方が難易度高くなるけど。
0301nobodyさん2008/10/23(木) 12:08:45ID:yerXAIOJ
おいおい
サポート切れてるPHP4つかうなよ
0302nobodyさん2008/10/23(木) 12:21:21ID:???
> PHP5がE_STRICTを強制するとかっていうなら、PHP5の方が難易度高くなるけど。

E_STRICT強制で難易度高くなるってなんだそりゃ?w

警告をプログラムを完成させるまでの試練と考えているのかな?

俺にとっては、警告はプログラムを完成させるまでの
サポートだと思うんだが。

つまり、E_STRICTを強制されたほうが逆に難易度は低くなると感じる。
間違ったコード、良くないコード、そういったものを排除できるからね。
0303nobodyさん2008/10/23(木) 12:24:37ID:???
致命的な不具合が見つかっても対応されない可能性が高いPHP4なんて
早く切り捨てるべきと説き伏せろ!

あれ、ここ何スレ?
0304nobodyさん2008/10/23(木) 12:25:03ID:???
E_STRICTは正直うざいけどね
出すにしても、別にログを取りたくなるくらい

一方、E_NOTICEはデフォルトでONでもいいと思うんだ
この辺のバランスがなあ
0305nobodyさん2008/10/23(木) 12:30:37ID:???
E_STRICTで出るエラーなんて潰していくのは基本だろ・・・
どんだけいい加減なもの作ってるんだ
0306nobodyさん2008/10/23(木) 13:31:17ID:???
>>305
Java大好き志向でのコーディングかな?
まるまる新規コーディングじゃないとNon-static method 〜〜 とか、
出まくって修正も大変だと思うんだが。

「基本」は言い過ぎだし、頭でっかち感が否めない
いまだにnoticeすら無視されまくってる現状で
0307nobodyさん2008/10/23(木) 13:42:27ID:???
保守案件はE_STRICT云々以前に、いろいろと大変なこと多いからな。
少なけりゃつぶすけど、多かったら放置にはなるね。
新規案件なら、E_STRICTなんてたまにしか出てこない。
たまにだから、出たらつぶすよ。
てかE_NOTICEもそんな頻繁に出ないような。
どっちかというと、Pear使っていい案件の時、Pear内に沢山あって
ゲンナリすることの方が多いなぁ。
0308nobodyさん2008/10/23(木) 15:10:38ID:???
まあ、どっちみちPHPの場合、おおざっぱな警告メッセージとか変数のスコープなんで、あまり役に立たないと言えば立たないが。
それでも、下手なプログラムを排除できるというメリットはある。E_STRICTをオンにしたら、エラーばっか出て実装が進めないPHPプログラマーは多数いるだろう。
0309nobodyさん2008/10/23(木) 16:06:40ID:???
> エラーばっか出て実装が進めないPHPプログラマーは多数いるだろう。

それはお前だけw
0310nobodyさん2008/10/23(木) 16:58:02ID:???
E_STRICTうざいってどんだけー
0311nobodyさん2008/10/23(木) 18:45:04ID:???
>>309
PHPプログラマーのレベルなんて、そんなもんだから。
0312nobodyさん2008/10/23(木) 19:04:58ID:???
>>311
だからそれはお前だけw
0313そこそこ初心者2008/10/23(木) 21:41:05ID:???
Cake←何て読むの?フレームワークはどこでダウンロードできますか?
なかなかダウンロードページにたどり着けません…
0314nobodyさん2008/10/23(木) 21:41:33ID:???
終わってる
0315nobodyさん2008/10/23(木) 22:04:30ID:???
>>312
類は友を呼ぶっていうだろ。
>>311の周りにはそういうゴミみたいな連中が沢山いるんだよ。
底辺の環境で仕事してる証拠。
0316nobodyさん2008/10/23(木) 22:05:17ID:???
http://www.phppro.jp/news/568
いまだに一番使われてるフレームワークはMojavi
0317nobodyさん2008/10/24(金) 03:28:29ID:???
>>316
その言い方には語弊があるようなw
「現状使用したことがあるフレームワーク」という質問だから、今使用しているとは限らないと思うが
0318nobodyさん2008/10/24(金) 08:18:02ID:???
ウェブフレームワークの使用経験があるのが70%、そのトップがMojavi。
しかも、PHPカンファレンス2008に参加したという、技術に関心の高いPHPプログラマーが対象のアンケートでこの有様。
0319nobodyさん2008/10/24(金) 09:01:16ID:???
この間面接受けてきた会社
フレームワークは重くなる遅くなるから使いません!言ってたな
提供サービスを全部新しく作り直すらしいけど、次はJavaでもPHPでもなく、Rubyだ!
とか言ってた。でもRails遅過ぎるから速度が必要なとこだけFWなしのPHPだとかなんとか…

大丈夫か…w
0320nobodyさん2008/10/24(金) 09:09:26ID:???
フレームワークは重くなるとか言ってるようなアホ会社は
無駄なコード書いて死んだらええねん
0321nobodyさん2008/10/24(金) 09:42:46ID:???
DRYなコードを書けば自ずとフレームワークに近くなるしなw
てか速度が必要なとこだけphpという選択はどうなの?何でphpなの?
0322nobodyさん2008/10/24(金) 11:41:32ID:???
1つのファイルで完結できるから、とかいう意味じゃね?
0323nobodyさん2008/10/24(金) 11:47:54ID:???
FastCGIとかMongrelとか調べたくも覚えたくもない、
とかいう意味かもね?
調べた上で使えねえ、って言ってるのかもしれんが
0324nobodyさん2008/10/24(金) 12:30:23ID:???
自分仕事で開発とかやったことないような超ド素人だから、
そうなのかーってちょっと思わされかけてたけど、やっぱおかしいよねこれw

ちなみに、規模や今後の事なんかも考えると、Javaとかを選択したほうが
いいんじゃないかとかをきいてみたら、Javaは遅いし、もう古いとか言われてさ
さすがにその見解はちょっとどうなのって思っちゃったw

フレームワークを使わず自分でコード書くことは(勉強としては)すごく重要だと思うし
自社開発の会社だから、社員の成長のためにいろいろやらせたい、って感じな部分も
あるのかもしれないけど、メインの仕事で車輪の再発明みたいな事繰り返して
無駄な工数増やすのは間違ってると思ったw
0325nobodyさん2008/10/24(金) 12:37:16ID:???
>>324
「Javaは遅いし」
ちょっと待てw
うーん。こういう面接(下手したら社長とか)も、あるあるwとしか言えない
0326nobodyさん2008/10/24(金) 12:47:42ID:???
確かに昔はVMとかすげー重くてもっさりって感じで、アプレットとかうぜぇって思ったりしてたけど
まさかJava=アプレットとしか知らなかったりしてナw
0327nobodyさん2008/10/24(金) 13:27:47ID:???
「Javaは(開発速度が)遅いし」とかじゃ
0328nobodyさん2008/10/24(金) 14:05:30ID:???
Javaはもう古いには同意するな。
元々Javaをやってる会社なら別だけど、今選択するならJavaは古いと思う。

あと既存のフレームワークを使わないで、自社で作るという選択肢はありだと思う。
既存のものは何かと合わなかったりするし、フレームワークが無いと開発できません。
は困るし。
自社のフレームワークもありません。
だと困るがw
0329nobodyさん2008/10/24(金) 14:15:28ID:???
>>328
代替物が無い状況では、古いってのは意味がない
なんでまだC言語で開発が行われてるのかと

PHPやRubyがJavaを完全に代替できる筈もないし、
目指してもないだろ。
文脈無しでJavaが古い、はナンセンスだと思うよ
0330nobodyさん2008/10/24(金) 14:24:54ID:???
それ以前に、PHPのスレで「Javaは古い」っていうのは笑止千万なようなw
0331nobodyさん2008/10/24(金) 14:59:36ID:???
>>329
いやさ、これから会社が新たな「開発言語に取り組む!」って時に、
何の言語か聞いてみたら、
「これからはJavaです!」とかいってたら、
「いまさら?」って思わないかってことなんだが。

もちろんJavaは現役で使われてる言語だとは思うよ。
俺も案件によってはphpじゃなくてJava使うし。
0332nobodyさん2008/10/24(金) 15:12:25ID:???
Java古いつってPHPやらRubyやらってのも説得力がないんだよなw
ある程度古く枯れてきてないと商用にはあまり向かないってのもあるだろうし

色々理由付けがあっての「古い」なのかも知れないから、深くは突っ込まなかったけど
なんかJavaを毛嫌いしてるって感じの印象を受けた感じだった

自社開発で提供してるサービスだったし、自社FWってのはありだと思うけど
日が建つにつれ混沌としてきて、組み込みなんかであるような
なんともドロドロした感じのものが出来そうなイメージもあるんだよなー

Web系で使う言語なんて結局は殆どが文字列操作をするためのもんだし、
自社製FWはどんなに突き詰めていっても
既存のものから使わないメゾッドとか減らしてHDDの使用量を減らしました!速度も気持ち速いです!
ってくらいの差しか出ないんじゃないかなーと

…と、スレチっぽい話題振ってスマソw

>>331
それは言語が古いんじゃなくて、その会社の取り組みの姿勢が遅れてるって感じなんじゃw
0333nobodyさん2008/10/24(金) 15:30:39ID:???
その人の心の中ではJavaは古い物だったんだろう。
0334nobodyさん2008/10/24(金) 15:39:06ID:???
rubyに比べると新しくはないという意味なら文脈としてもおかしくはないかと。
新しいからって理由で方向を決めるのもちょっと心配になるがw
0335nobodyさん2008/10/24(金) 15:55:33ID:???
ことFWに関してはJavaはPHPに比べて圧倒的に成熟してる気がする
最近Java触り初めてSAStrutsやらS2JDBCやら使ってるけどめちゃくちゃ開発効率上がったよ・・・
俺なんかJava全然知らないのに知らなくても普通に使える。これすごいよ
0336nobodyさん2008/10/24(金) 16:24:57ID:???
PHPフレームワークは色々あるけど「これなら!」ってのがなー
0337nobodyさん2008/10/24(金) 16:38:07ID:???
標準になりそう(なってほしい)のがSymfony

PHP4からの移行とかで現実的なのがCakePHP

公式だけど、フレームワークとしてはいまいち、
どちらかといえばライブラリ?って感じなのがZendFramework
03383352008/10/24(金) 16:42:42ID:???
>>336
このスレのネタなのかマジなのかわからない「もうちいたんでいいよ」
っていう指摘はあながち間違ってないと思うんだよね
以前もどこかで同じ事言ってる人がいたが、デファクトスタンダードが
決まらない状況が続けば続くほど、リソースの集約もそれに輪をかけて遅れていくわけだし。
それに伴って余計スタンダードが決まらない・・・リソース(ry
の悪循環が続いて俺はPHPに限界を感じて、Javaに手を出すことにしたんだよ。

PHPの適当さ加減を一番活かすには必要最小限のFWでいいと思う。
逆にちいたんが成熟していったらかなりいい物ができあがるんじゃないかと思っている
0339nobodyさん2008/10/24(金) 19:20:00ID:???
Javaでなんのフレームワーク使っている?

Struts? Spring? Seasar?

結局Javaでもフレームワーク乱立だと思うけどね。
Javaは長いようだが成熟しているというわけでもなく、
J2EE/EJBが否定されて根本的に覆ろうとしているし(覆った?)
DIコンテナはもう普及し終わったかな?
0340nobodyさん2008/10/24(金) 21:35:46ID:???
そっちのスレでやってくれ
0341nobodyさん2008/10/24(金) 22:23:02ID:???
オープンソースなんだから乱立が正常な状態だろ
多様性があるから発展性があるんだし
0342nobodyさん2008/10/24(金) 22:31:56ID:???
結局JavaにしてもPHPと状況は変わらんってことだなw
0343nobodyさん2008/10/24(金) 23:56:56ID:???
そのまとめ方はさすがに無理あるだろw
0344nobodyさん2008/10/25(土) 14:14:16ID:???
結論
 ちいたんでいい
0345nobodyさん2008/10/25(土) 14:50:17ID:???
ちいたんはいつ1.0になるのだね
0346nobodyさん2008/10/25(土) 16:14:43ID:???
作者が飽きるので永遠になりません。
0347nobodyさん2008/10/25(土) 16:21:09ID:???
ってか実際ちいたんつかってる人っている?
仕事ではさすがに使えないだろうけど、個人でなら十分実用なんだよな
0348nobodyさん2008/10/25(土) 17:16:18ID:???
あえて使うことはねえよw
0349nobodyさん2008/10/25(土) 18:12:46ID:???
ごもっともw
0350nobodyさん2008/10/26(日) 00:22:59ID:???
ちいたんってオチに使われてる以外にあまり見たこと無いがw
0351nobodyさん2008/10/26(日) 00:59:20ID:???
オチに使われる奥さんカワイソスw
0352nobodyさん2008/10/26(日) 01:07:17ID:???
ちぃたんって嫁の名前なのか
お前のために歌作ったんだみたいなアーティストっぽいな
0353nobodyさん2008/10/26(日) 02:43:49ID:???
プログラマもアーティストって肩書きにすれば人気出るんじゃね?w
0354nobodyさん2008/10/26(日) 02:45:15ID:???
アーティスチックなコーディングをされても周りは困る
0355nobodyさん2008/10/26(日) 03:03:20ID:???
海外のハカーは奥さんの名前つけたりするね
0356nobodyさん2008/10/26(日) 10:48:45ID:???
でもそういうのは日本じゃ流行らなさそうw
0357nobodyさん2008/10/26(日) 11:45:37ID:???
あっちじゃ台風すら人名つけるしなあ
0358nobodyさん2008/10/27(月) 20:03:18ID:???
名前空間の実装がダサすぎてPHP脂肪www
\区切りキモス
0359nobodyさん2008/10/27(月) 20:08:32ID:???
\区切り? あぁ。頭の弱い人か。
0360nobodyさん2008/10/27(月) 23:28:39ID:???
PHPER必死の強がりワロスww
0361nobodyさん2008/10/27(月) 23:34:39ID:???
その釣り方はさすがに無理があるよ
0362nobodyさん2008/10/27(月) 23:36:33ID:???
PHP5.3の名前空間は\区切りなの?
0363nobodyさん2008/10/28(火) 00:57:04ID:Xl2JqkE7
('A`)
0364nobodyさん2008/10/28(火) 01:00:04ID:???
ごめん。
>>358の真意が知りたい
0365nobodyさん2008/10/28(火) 01:05:19ID:???
>>364
こちらをどうぞ
http://blog.ohgaki.net/php_5_3_namespace
0366nobodyさん2008/10/28(火) 01:14:15ID:???
>>365
thx

('A`)
0367nobodyさん2008/10/28(火) 01:57:07ID:???
一応聞くけど、バックスラッシュだよね?\じゃないよね?
0368nobodyさん2008/10/28(火) 02:03:16ID:???
>>367
あんたの環境でどう見えてるかは知らんw
2chを通したせいかも知れんが、あんたのレスの\と同じものだろ?

ASCIIで0x5cとも言う・・・っていうとなじみ深い気がして嫌だw
0369nobodyさん2008/10/28(火) 02:07:06ID:???
thx
0x5cならおk

>>365 のリンク先がUTF-8なのにもかかわらず、
円マークになってたから気になった。
0370nobodyさん2008/10/28(火) 02:14:58ID:???
>>369
ああ。本当だ。その記事はU00A5で書かれてるね。てかブログの仕様?
俺もその記事しか見なかったから、確かなことは言えないけどw

・・・まあぶっちゃけASCII or Latin-1 以外を奴ら(誰?)に強制できる
わけもないので、¥マークってのはありえない、はず!
ソースコードUTF-8強制とかなら、むしろ嬉しいかもだけどな!
0371nobodyさん2008/10/28(火) 02:17:35ID:???
てか、この記事が壮大な釣り?
0372nobodyさん2008/10/28(火) 02:24:27ID:???
一応こっちもどうぞ?
ttp://wiki.php.net/rfc/backslashnamespaces

誰か訳してw
0373nobodyさん2008/10/28(火) 02:55:29ID:???
へーutf-8って\とバックスラッシュが違うコードなの?
0374nobodyさん2008/10/28(火) 03:01:39ID:???
>>373
ttp://www.penlabo.net/archives/310
0375nobodyさん2008/10/28(火) 03:12:19ID:???
ちょっと事実誤認があるかな。俺も詳しくないけど。
u00A5(?)は、ISO-8859-1(Latin-1)にこそ、ある文字だ。
本来の意味での、円通貨を表すシンボル?
と言うわけで、>>370の安心は、その理由ならちょっと早いw
もちろん、実際PHPの仕様としてそんな訳は無いだろうけどw
0376nobodyさん2008/10/28(火) 09:24:12ID:???
PHPってパーサーが弱いよなあ。ちょっと複雑なプログラムでバグがあると、php -l でエラー行検出出来なかったりするからな。
0377nobodyさん2008/10/28(火) 12:01:56ID:???
そらぁ構文エラーだけだから、複雑なシステムのバグってんなら
lintじゃぁ出ないエラーの方が多いだろう。
構文エラーが出るのは大抵の言語で括弧とかクオートの閉じ忘れくらい。

/.で、PHPがこの惑星で一番アホなプログラム言語とか書かれて
ちょっとかわいそう。しかもInsightful: 5だし。
海の向こうのGeekもPHPはお嫌いなようで。
0378nobodyさん2008/10/28(火) 19:56:14ID:???
まあPHPがよく使われているって証拠でもあるよな。
オープンソースのウェブアプリは
ほとんどPHPだし。
0379nobodyさん2008/10/28(火) 20:00:13ID:???
>>378
phpがよく使われているのは事実だが、
何が言いたいのかよくわからない
0380nobodyさん2008/10/28(火) 20:07:39ID:???
>>378
そういうのをPHPERの遠吠えって言うんだよww
m9(^Д^)プギャー
0381nobodyさん2008/10/28(火) 20:24:18ID:???
アホなプログラム言語とか言う行為こそ遠吠えだろう。
0382nobodyさん2008/10/28(火) 20:35:27ID:???
名前空間の区切りにバックスラッシュをつかうなんてのは実際 retarded だろうよ。
0383nobodyさん2008/10/28(火) 20:39:58ID:???
日本語で書け
0384nobodyさん2008/10/28(火) 20:45:16ID:???
日本語不自由な人なんで勘弁してあげてください
0385nobodyさん2008/10/28(火) 21:21:52ID:???
名前空間の区切りに逆斜線をつかうなんてのは実際 retarded だろうよ。
0386nobodyさん2008/10/28(火) 21:26:37ID:???
ディレクトリだって、斜め線なのに?
0387nobodyさん2008/10/28(火) 21:27:12ID:???
いっそスラッシュでよかったんじゃまいか
0388nobodyさん2008/10/28(火) 21:27:44ID:???
いやだめか
0389nobodyさん2008/10/28(火) 21:41:50ID:???
::じゃだめだったん?
0390nobodyさん2008/10/28(火) 21:46:17ID:???
だめだったん。
0391nobodyさん2008/10/28(火) 21:52:07ID:???
なんであかんの?
0392nobodyさん2008/10/28(火) 21:54:43ID:???
せめてちょっと前のリンク先だけでも読んでくれ
0393nobodyさん2008/10/28(火) 22:52:01ID:???
こっちには、他の候補?もあるのかな
ttp://wiki.php.net/rfc/namespaceseparator

でも (5) number of chars は基準としてどうなんだw

# とか候補に挙がらなかったのかな?バックスラッシュより遙かにマシだと思うんだけど。
どうせ # でのコメントは非推奨だったんだし、使ってる奴なんて極少数だろうし
0394nobodyさん2008/10/28(火) 23:34:09ID:???
互換性が・・・
0395nobodyさん2008/10/28(火) 23:43:35ID:???
中途半端に互換性なくなるくらいなら
完全に無視してちゃんと作ったほうがいいよね
0396nobodyさん2008/10/29(水) 00:08:59ID:???
:=でいいやん
0397nobodyさん2008/10/29(水) 00:58:53ID:???
::
0398nobodyさん2008/10/29(水) 01:17:59ID:???
>>397
それは却下されたんだよ
0399nobodyさん2008/10/29(水) 02:00:15ID:???
バックスラッシュはなんだかなぁ。
0400nobodyさん2008/10/29(水) 02:39:33ID:???
今まで通り、細かい互換性なんぞ無視してしまえばいいんだw
というか、現行の :: と -> の区別って必要なの?
メンバアクセスは全部 -> にしてしまえば、:: が使えるじゃない!
修正も多分、検索・置換でそれほど手間じゃなさそうだし

たかが名前空間って考えると、本末転倒な気もするけど
0401nobodyさん2008/10/29(水) 02:56:57ID:???
スキーマのデータを毎回dbから取得するのと、
取得したデータをファイルにキャッシュしておいて随時読むのと、
どっちがコスト低いですか?
0402nobodyさん2008/10/29(水) 02:59:03ID:???
スキーマのデータが分からんとDBにアクセスできんだろ
0403nobodyさん2008/10/29(水) 03:12:12ID:???
スキーマのデータって何を指してるんだ?
0404nobodyさん2008/10/29(水) 03:18:43ID:???
カラムの型データです
0405nobodyさん2008/10/29(水) 03:39:09ID:???
どんなDAOを使ってるか知らないけど、
テーブルにどんなデータ型のカラムがあるかなんて取得する?
PropelとかDoctrineは定義ファイルを書くけど。

よくわからないけど、毎回DBから取得するより、
ファイルから取得した方が、普通に考えてコスト低いと思う。

んーなんか見当違いかな。
0406nobodyさん2008/10/29(水) 08:12:34ID:???
code igniterを参考にしたオリジナルのdaoです
やっぱり、普通はファイルアクセスの方が速いですかね・・
0407nobodyさん2008/10/29(水) 10:14:23ID:???
どうせカラム型なんかはメモリにキャッシュしてるだろうし
そんなに変わらないっつーかファイルに書くより早いかもね。

パフォーマンスが問題ならベンチして決めるしかないでしょ。
メンテ込みなら、自動的にカラム型を読み込むのは便利。
0408nobodyさん2008/10/29(水) 15:12:56ID:???
DBからロードするって事は大抵はなんかしら変更の可能性があるデータってことだろうし
キャッシュを作成するとなると常時最新でなくなる可能性が出るんじゃないの?
更新タイミングとか考えたり余計な手間が増えるだけ
逆に、変更がめったに行われないとかってわかってるものなら、ただの定数
ハナからDBに保存しておく必要なくね?

つか、なによりまずスレ違いだ
0409nobodyさん2008/10/29(水) 15:34:43ID:???
>>408
>>407で言っているのは、DBサーバはカラム型をメモリに置いているはずだということ。
つまりDBに問い合わせればディスクには読みにいかないだろうと言う読み。

付け加えると、SQLiteにしても、スキーマ情報はDBをオープンした後黙っても読まれるはずで、
それをメモリから取り出すだけだからいちいちファイルに書いとくのはどうよ、ってこと。
0410nobodyさん2008/10/29(水) 16:45:25ID:???
>>377
エラーは検出するけど、何行目のエラーか検出できないんだよ。そんなのPHPだけだと思う。
0411nobodyさん2008/10/29(水) 18:14:15ID:???
$ php -l <<EOF
<?php
echo "hello";
fuga();
foo();


();
?>
EOF

Parse error: syntax error, unexpected ')' in - on line 7
Errors parsing -

なんか出てる気がするよ?
0412nobodyさん2008/10/29(水) 18:23:29ID:???
複雑になると出ない場合があるんだよ。
前にmatzがPHPのAPCが何でそんなに効果的なのか理由が分からないって言ってたけど、あれは単純にPHPの構文解析の性能が悪いからって理由だと思う。
0413nobodyさん2008/10/29(水) 20:06:51ID:???
>>400
> というか、現行の :: と -> の区別って必要なの?

PHPに->ってあったっけ?
0414nobodyさん2008/10/29(水) 21:03:04ID:???
->がPHPみたいなもんだろ
0415nobodyさん2008/10/29(水) 21:15:12ID:???
>PHPに->ってあったっけ?

え?
0416nobodyさん2008/10/29(水) 21:38:30ID:???
->は好かん.がよい
0417nobodyさん2008/10/29(水) 22:03:57ID:???
->は好かんがよい、に見えた
0418nobodyさん2008/10/30(木) 02:18:50ID:???
そろそろPythonを勉強する時期かな?
0419nobodyさん2008/10/30(木) 02:22:17ID:???
レンタル鯖で普通に入ってないやつなんて
学ぶ必要はないんだ
0420nobodyさん2008/10/30(木) 03:20:43ID:???
どれか1つの言語でもちゃんとやっときゃ
他の言語なんてやる気になりゃ出来る
0421nobodyさん2008/10/30(木) 08:03:13ID:???
>>420
できればその1つがPHPではない方が、幅は広そうだがw
0422nobodyさん2008/10/30(木) 16:05:21ID:???
たしかにプログラムの基礎練習としてはやっぱ向かないよなw
まだ改修段階にあるってかんじで、他の言語で当たり前に出来ることが出来ないってのがむずむずするw
0423nobodyさん2008/10/30(木) 16:14:12ID:???
その代わりほかの言語では、めんどくさいことが
さくっとできるんだぜ。

file('http://example.com/hoge.jpeg');

とかな!
ほんとダメな言語。
0424nobodyさん2008/10/30(木) 16:39:09ID:???
きゃーすてき!
0425nobodyさん2008/10/30(木) 16:56:50ID:???
>>421
実際はそうでもない。
例えばperlやpython、rubyから入るよりは、
phpから入ったほうがjavaやC++は覚えやすい。

まぁ古臭いってことなんだが
0426nobodyさん2008/10/30(木) 18:09:36ID:???
安いレンサバの代表格のXREA、Xserver等には、Python、Rubyも入ってますな^^
RoRで一世を風靡したRubyをあえて選ばずに、Pythonを始めるのが通の嗜み?
0427nobodyさん2008/10/30(木) 21:55:43ID:???
XREAを選ぶ奴の気が知れないよ
0428nobodyさん2008/10/30(木) 21:58:07ID:???
ロリポップやヘテムルならいいのか?
0429nobodyさん2008/10/30(木) 22:38:46ID:???
Rubyは知らんがPythonなら入ってるサーバは、最近だとそれなりにあるきがする。
0430nobodyさん2008/10/31(金) 09:24:51ID:???
Railsもmod_railsというかPassengerの登場でPHP並に管理が楽になった感じだし、
これからは選べるようになるかも。
0431nobodyさん2008/10/31(金) 13:33:41ID:???
変数型を気にする必要の無い言語から始めると取り掛かりやすいけど
いざ型がある言語に移るとき、ちゃんと理解しきれてないと苦労しやすいってのもあるから
PHPを最初に覚えるってのはちょっとオススメしないかもだなw

まぁ、触れやすいこと、覚えやすいことを重視したほうがスタートしやすいし、
やりたい事にもよるから一概には言えないと思うけどね
0432nobodyさん2008/10/31(金) 13:47:03ID:???
変数型が無いPHPは
余計な心配が増えてよくない
0433nobodyさん2008/10/31(金) 13:56:53ID:???
PHPをちゃんと理解すればPHPにも型があるって分かるはずだから問題ないだろ
0434nobodyさん2008/10/31(金) 16:12:42ID:???
railsも深く知るほど「簡単」とはとてもいえないものだと分かってくる
railsを速く動かすソリューションを安定して稼働させるにはスキルがいるし、
スレッドセーフかそうでないかということも気を遣わなければいけない。
0435nobodyさん2008/10/31(金) 16:17:00ID:???
Railsの中でスレッドなんて使ってるの?
少なくともFastCGIやらの同時起動なら、プロセス別じゃないの?
よくわかってないけど
0436nobodyさん2008/10/31(金) 16:56:15ID:???
型とかの概念はプログラム覚えるなら最初のうちにやっといたほうがいい気はする
0437nobodyさん2008/10/31(金) 17:05:48ID:???
まぁほんとに初めてがphpはあかんわな
でも普通は学校で最初にcやpascalやったりするんじゃないの?
0438nobodyさん2008/10/31(金) 17:07:22ID:???
いいかげんフレームワークの話をしましょうよ。
0439nobodyさん2008/10/31(金) 18:31:35ID:???
PHPは変数のスコープが関数単位というのがなんとも。
0440nobodyさん2008/11/01(土) 04:31:36ID:???
配列すら参照渡しになるJavaScriptはPHPより糞
しかもcloneメソッド標準装備してないし
0441nobodyさん2008/11/01(土) 11:07:00ID:???
===
0442nobodyさん2008/11/01(土) 19:01:05ID:???
>>427
せめてどこなら良いか提示してからそういうこと言おうな
0443nobodyさん2008/11/01(土) 20:20:40ID:???
XREAなんでだめなの?
0444nobodyさん2008/11/01(土) 22:22:08ID:???
xreaだからだろ
0445nobodyさん2008/11/01(土) 23:40:57ID:???
理由なんかないだろ。なんでも否定したくなる年頃なんだよ。
中学生とかおっさんとか。
0446nobodyさん2008/11/02(日) 00:36:25ID:???
お前らxreaなんか使うレベルなんか・・
0447nobodyさん2008/11/02(日) 02:51:59ID:???
xreaがダメな理由なんてちょっと調べたり確認すればわかるだろ…
そんなことも説明されないとわからないのか…
0448nobodyさん2008/11/02(日) 02:54:45ID:???
話に全然信憑性無いわ
0449nobodyさん2008/11/02(日) 03:43:51ID:???
まぁそういうやつはXREA使っとけばいいんじゃねw
サポートがだめすぎるけど、運よくトラブルに会わなければ、
まぁ安い金額で使えるし。
たまに、coreserverの方にxreaの設定を上書きして、
coreなのにXREA相当にしちゃったり、
mailmanがバグだらけでまったく機能しなかったり、
ほかにも色々トラブルおこしてるみたいだけど。
俺はxreaスレやcoreserverスレ読んだら、怖くて仕事には使えなくなった。
0450nobodyさん2008/11/02(日) 03:46:29ID:???
てかxreaって何につかうの?個人サイト?
なんでフレームワークスレでxreaが出てくるのか謎
0451nobodyさん2008/11/02(日) 06:29:42ID:???
なんでxreaがだめか教えてやろう。

それは安かろう悪かろうだから。
まあ常識で考えて安いところにろくなところはない。

俺が使っているところ。おすすめだから教えてやろうか?
今ならキャンペーン中だからお得だぞ。
0452nobodyさん2008/11/02(日) 06:54:51ID:???
>>449
>>442

0453nobodyさん2008/11/02(日) 07:07:41ID:???
凝った機能盛り込んだ個人的なブログ設置するのに、
わざわざ高いサービス選ぶ必要あるか?

xrea程度でも手軽に試せるものの方が、ユーザも増えて
ノウハウも蓄積するだろ。

>>446とか頭悪すぎるな
0454nobodyさん2008/11/02(日) 07:15:59ID:???
個人ブログといっても財産ですからね。
財産をそんな簡単に盗まれてしまうところにおいておきますか?
おいておかないでしょう?

それでなくぐらいなら、ちょっとの費用で
安心を得られるほうを選びませんか?

そんなに気になるのなら私が使っているサーバーを教えてあげますが。
0455nobodyさん2008/11/02(日) 09:05:42ID:???
>>452
使いたいのならどうぞ。
XREAはやめといたほうがいいという、ただの忠告だから、
参考にするしないは自由だよ。
俺はさっき書いた理由で使わないけどw
0456nobodyさん2008/11/02(日) 10:56:50ID:???
>>453
あのサービスに不満がないならそんな噛みつかなくてもいいと思うよ
0457nobodyさん2008/11/02(日) 12:05:53ID:???
>>449
xreaを仕事で使う馬鹿なんていたの?
サーバ運用するにもお金がかかるって知ってる?
0458nobodyさん2008/11/02(日) 16:19:37ID:???
Symfonyて結構バグあるの?
CakePHPカンファレンス東京のレポート読んでたら、
そんなような記述があったんだが。
あまり詳しく書いてなかった。
0459nobodyさん2008/11/02(日) 17:46:21ID:???
>>457
俺はプライベートでも勘弁だがw
0460nobodyさん2008/11/02(日) 19:53:56ID:???
なんかxreaに仕事を奪われた
サーバー屋が裏工作しているみたいですねw
0461nobodyさん2008/11/02(日) 20:59:33ID:???
正直お小遣い稼ぎの趣味サイトならxreaで十分だしな〜
0462nobodyさん2008/11/03(月) 04:52:26ID:???
>>458
まぁ細かいのはそこそこある。
ZFもsymfonyも、あれだけ規模がでかけりゃバグチケットが増えるのは当然。
あんまり比較の際の根拠にはならないな。
0463nobodyさん2008/11/03(月) 17:39:38ID:???
>>451
>>454

おすすめサーバ教えてくれ
0464nobodyさん2008/11/03(月) 19:52:45ID:???
他所でやれ
0465nobodyさん2008/11/04(火) 17:33:27ID:???
symfonyはsubversion拾ってればわかるけど、1時間数十以上のファイルが修正されてるからな。
バグがあっても修正も早い
0466nobodyさん2008/11/05(水) 06:01:16ID:???
1時間数十以上 = 一日数百以上 = 一週間数千以上 = 一ヶ月数万以上

一ヶ月数万以上って本当ですか?
0467nobodyさん2008/11/05(水) 07:54:12ID:???
なんとも恐ろしいフレームワークだ
0468nobodyさん2008/11/05(水) 09:38:54ID:???
>>466
本当だよ。subversionでチェックアウトしてみなよ
0469nobodyさん2008/11/05(水) 11:13:18ID:???
Tracをみる限り、一日あたり10から30コミットというところ。
コミット一回につき、いくつかのファイルを触るだろうから、一回の変更の
影響範囲が大きい場合、ピーク時には一時間数十ファイル更新は充分ありうるが、
これがコンスタントに続くことはないでしょ。

まぁコミットはいっぱいあってもバグチケットをcloseするコミットは少ないように見えるが。
でも開発ブランチはこんなもの。
0470nobodyさん2008/11/06(木) 16:26:58ID:???
CIって、早い分cakePHPやsymfonyと比べどんな機能が足りないの?
0471sage2008/11/06(木) 19:26:19ID:W2KYlXPe
>>470
やさしさ
0472nobodyさん2008/11/06(木) 19:35:59ID:???
>>470
痒いとこ
0473nobodyさん2008/11/07(金) 09:14:59ID:???
>>470
モデルまわりは弱いと思った。
DBにselectした結果が配列なんで、そこがちょっと使いづらい。
あとバリデーションまわりはなんか不思議な仕様。もっとよくなりそうなもんだけど。
0474nobodyさん2008/11/07(金) 19:13:25ID:???
>>472
痒いところってどの辺?
0475nobodyさん2008/11/07(金) 20:22:58ID:???
ドクトリンってcodeigniterのパクリだろ?
0476nobodyさん2008/11/07(金) 21:18:22ID:???
>>23って俺が昔別のスレに書いた質問だったと思うんだけど
何でこんなとこに記載されて議論が発生してるんだw
0477nobodyさん2008/11/07(金) 21:20:39ID:???
ところでcakePHPのパフォーマンスの悪さは改善されてないのかな?
0478nobodyさん2008/11/07(金) 21:22:48ID:???
>>477
RC3は使ってみた?
0479オリジナル232008/11/07(金) 21:27:02ID:???
>>23の質問を昔別スレに書いた本人だけど
結論としては、
・スタティックな方法では使う側も唯一性を意識しなければいけない
・シングルトンであれば使う側は唯一性を気にする必要が無い
と言うのが最も大きい違いだと思ってる。
要するに、シングルトンで書いておけば後からシングルトンじゃなくする時に
参照してる側は書き換えなくても良いって事。
抽象的に言えば、オブジェクトの特性である唯一性というものをカプセル化出来るということ。
0480nobodyさん2008/11/07(金) 21:31:03ID:???
>>478
使ってませんが、ベンチ等で良い結果を出してるんですか?
>>15のような結果だとさすがに使えないので。
0481nobodyさん2008/11/07(金) 21:34:48ID:???
自分で確かめることって大事
0482nobodyさん2008/11/07(金) 21:37:02ID:???
時間がないんで
0483nobodyさん2008/11/07(金) 21:37:33ID:???
こんなところに書き込んでる暇があるなら
0484nobodyさん2008/11/07(金) 22:45:30ID:???
そりゃ自分でベンチマークとるよりは、ここに書き込む方が楽だし時間もかからないだろう。
0485nobodyさん2008/11/08(土) 00:11:03ID:???
んな他力本願のやつに情報提供してくれる人がいる確率考えると
結局自分で調べたほうが結果がわかるのは早いと思うけどなw
0486nobodyさん2008/11/08(土) 00:20:53ID:???
>>469
1.0=>1.1=>1.2と常にこの状態が続いています
0487nobodyさん2008/11/08(土) 01:28:22ID:???
個人がつくってるのを見るのが好きだ
0488nobodyさん2008/11/08(土) 01:29:27ID:???
おっとMapleに鞭打つのはやめるんだ
guessworkとか言うのももうやめるんだ
0489nobodyさん2008/11/08(土) 01:37:07ID:???
>>479
まてまて
23は俺だがコピペじゃないよw
偶然同じ疑問を持っただけ
0490nobodyさん2008/11/08(土) 01:38:31ID:???
cakePHPなんてドジでのろまな亀しか使ってないだろ
0491nobodyさん2008/11/08(土) 02:29:27ID:???
>>479
出来ることは同じだけど、
唯一なものを唯一なものと知って使うのと、
唯一なのかインスタンスを複数作れるのかわからないけど、
普通に使えば唯一になってる、
の違いってこと?
ちょっとくどい聞き方かもだけど、ちゃんと確認したくって聞いてみた。
0492nobodyさん2008/11/08(土) 03:23:29ID:???
>>490
本気でそう思うなら相手にしなきゃいいだけなのにw
0493nobodyさん2008/11/08(土) 06:24:48ID:???
cakePHP 1.2のRC3は
”パフォーマンス改善中”と明確に言われている。

cakePHPの開発スタンスは、まず動くものを作る→リファクタリング(パフォーマンス改善含む)
0494nobodyさん2008/11/08(土) 06:54:44ID:???
オープンソースで儲けるのって
サポート事業しかないのか?
0495nobodyさん2008/11/08(土) 07:47:16ID:???
オープンソースは広く使ってもらっていると言う土壌を得る事がまず目的
広く使われればサポート事業や周辺ソフトが売れる
0496nobodyさん2008/11/08(土) 08:04:00ID:???
実際に動くコードが重要なわりに
そのコードを作っても儲けられない。
それがオープンソースw

せっかく土壌を作っても
サポートや周辺ソフトや関連書籍を
他の人が提供して売り上げを持っていかれる。
それがオープンソースw
0497nobodyさん2008/11/08(土) 12:36:54ID:???
いまだにオープンソースでガッツリ儲けようなんてプランのところがあるの?
本当に基幹的なDBとかhttpdとかならともかく
0498nobodyさん2008/11/08(土) 13:25:19ID:???
ガッツリってのはいくらぐらいなのかな。
それにもよるだろうが、儲けるかどうかは才覚の問題。
OSSかどうかは関係ないだろうな。
0499nobodyさん2008/11/08(土) 14:46:39ID:???
お金の名言

「タダほど高いものはない」
0500nobodyさん2008/11/08(土) 16:19:59ID:???
タダほどお得なものはない
0501nobodyさん2008/11/08(土) 17:38:16ID:???
>>499
ApacheやらLinuxやら使ってて「高くついた」って感じたことはないなあ。
むしろ安い労働力まで付いてきて、お得感しかないのが大多数では?w
もちろん、大規模に「ガッツリ」儲ける分野では違うんだろうけど。
0502nobodyさん2008/11/08(土) 18:55:54ID:???
中・小規模向けのフレームワークって何が良い?
cakeはどうもパフォーマンスが悪すぎて嫌なんだよねえ
0503nobodyさん2008/11/08(土) 21:49:38ID:???
中・小ならEthnaでいいんじゃないの。
CIという手もあるが。
0504nobodyさん2008/11/08(土) 23:30:51ID:???
ご冗談でしょう
0505nobodyさん2008/11/09(日) 05:48:00ID:???
Ethnaとか、未だに選択肢に残ってるのかな?
仕事で昔触ったときに、いろいろドン引きした記憶があるんだが。

アクションを準備していないURL指定すると「全ファイル」のrequireを
し始めてプチDOSアタックになってしまう自前オートロード(笑)とかw
0506nobodyさん2008/11/09(日) 09:19:25ID:???
大規模ならCI or ZFのチョイスってことでFA?
0507nobodyさん2008/11/09(日) 11:56:58ID:???
CIってPHP4にも対応しててコードに無理が出てるみたいな話も聞くんだけど
大規模で使えるようなものなの?

小規模にしてもcakeとどっちが楽なんだろう
0508nobodyさん2008/11/09(日) 13:41:32ID:???
ドッチかと言われればcakeだろ
でもcakeもイマイチなのはよくわかる
0509nobodyさん2008/11/09(日) 14:55:46ID:???
ciで大規模はきつい
そういうふうには作られていない
0510nobodyさん2008/11/09(日) 15:03:14ID:???
だよね
低機能だし
だからこそある程度自分達で実装しやすい面もあるから
逆に大規模での需要はありうるけど

かといって小規模でもCIはどうなんだろう
軽量なのは良いんだけど
0511nobodyさん2008/11/09(日) 16:23:48ID:???
>>496
儲けなくても、一度つぶれた会社が
オプソで蘇ってうまくいってるケースはある
0512nobodyさん2008/11/09(日) 16:25:12ID:???
オープンソースは技術的には最良の手段だよ
利益に繋げられるビジネスモデルを考えられるか、実行出来るかが問題
0513nobodyさん2008/11/09(日) 19:20:35ID:???
そこが最大の問題だと思う。
ぶっちゃけメシ食えなきゃしょうがない
0514nobodyさん2008/11/09(日) 19:27:31ID:???
オープンソースにかかわってるエンジニアがこれほどたくさんいるという事実は
形は違えど、オープンソースで稼げるってことの裏返しじゃないかと思うのは甘い?
0515nobodyさん2008/11/09(日) 19:29:10ID:???
でも市場取らないとどうにもならない面もある
もしオープンソースな製品が何一つ無い分野があったら、オープンソースな製品を立ち上げる事で
その分野で一気に市場を奪える可能性がある
0516nobodyさん2008/11/09(日) 20:01:09ID:???
>>513
gimpにしてもblenderにしても、オプソで生活してる開発者はいくらでもいる。
お前みたいな無知が日本には多いから、ボランティアみたいに見られるのは
しょうがないと思うけど。
0517nobodyさん2008/11/09(日) 23:36:37ID:???
日本ではあまり話を聞かない気がするけど・・
0518nobodyさん2008/11/10(月) 01:02:25ID:???
しかもFWの話で画像系とか3D系はちょっと実感わかないかも
0519nobodyさん2008/11/10(月) 10:55:17ID:???
携帯サイト向けの機能も持ったフレームワークってあるの?
0520nobodyさん2008/11/10(月) 11:15:09ID:???
DeNAのMobaSiFみたいなものってPHPでは聞いたことないなぁ
0521nobodyさん2008/11/10(月) 15:28:02ID:???
携帯サイトって出力を携帯むけにするだけじゃないの?
なんか特別に機能必要け?
0522nobodyさん2008/11/10(月) 15:29:05ID:???
セッションとかPCと同じじゃ動かないんだよ
そのほか端末識別番号の取得やらいろいろある
0523nobodyさん2008/11/10(月) 16:04:14ID:???
そうそう。まともにサービスを開発したことがあったら、
携帯対応ほど煩雑なものはないと思えるよ。
キャリアと機種によって全然違う挙動するからね。
セッションもレイアウトも画像も。ま、小さいところでは絵文字とか。
0524nobodyさん2008/11/10(月) 16:05:21ID:???
機種によって動かなかったりするからテストもコーディングも面倒
0525nobodyさん2008/11/10(月) 16:55:03ID:???
KEMPは?

KEMP
ke-tai.org
http://ke-tai.org/index.php?KEMP
0526nobodyさん2008/11/10(月) 17:07:31ID:???
それはPC携帯両用サイトじゃなく携帯サイト作成のためのフレームワークっぽい
0527nobodyさん2008/11/10(月) 17:09:27ID:???
両方できるものが欲しいのか
すまそ

というより両方やろうとしている時点で間違っていると思う
小規模、小機能ならありえるけど
0528nobodyさん2008/11/10(月) 17:15:23ID:???
両対応サイトであったとしても別物と考えよ
0529nobodyさん2008/11/10(月) 17:24:25ID:???
KEMPとやらはPHP5で動かない
携帯とPCで別フレームワークを使うとしたら
共通の機能を変更した場合どうすんの?
0530nobodyさん2008/11/10(月) 18:47:01ID:???
セッション動かないのはクッキーがないからだろ?
単にget引数方式にしたらいいだけじゃないの?
0531nobodyさん2008/11/10(月) 19:02:38ID:???
>>529
当然それぞれ変更する
0532nobodyさん2008/11/10(月) 19:04:27ID:???
>>530
リファラーを送っちまう機種でそんなことしたら、セッションハイジャックされるべ
0533nobodyさん2008/11/10(月) 19:05:00ID:???
実際携帯サイト向けのソリューションはいくつかあるんだけど
国内では情報少ないね
0534nobodyさん2008/11/10(月) 19:10:08ID:???
>>530
POSTフォームだとACTIONに指定したパラメータを送らないっていう機種もあるしな
そういう機種ではPOSTフォームでセッションを維持できない。
0535nobodyさん2008/11/10(月) 19:23:29ID:???
結局機種判別をして処理振り分けるような事をする必要があるんだよね
0536nobodyさん2008/11/10(月) 19:35:22ID:???
ttp://gihyo.jp/dev/feature/01/mobasif/0001

ここに書いてあるのでもまだまだ序の口だな。間違ってるとこもあるし。
いまんとこ、オープンソースだとMobaSiF最強じゃないかな。
0537nobodyさん2008/11/10(月) 19:47:32ID:???
携帯の文字コードは、そろそろUTF-8統一でいいんでしょうか?
0538nobodyさん2008/11/10(月) 19:48:52ID:???
結局そういうのは自分とこで作るしかないんじゃね
0539nobodyさん2008/11/10(月) 19:54:03ID:???
>>536
Perlじゃん

>>538
別に汎用的な機能だから広く使われるものが無い現状が異常
携帯関連開発の低レベル差だと思う
0540nobodyさん2008/11/10(月) 20:24:13ID:???
うん。perlなんだけどさ。
スレチ承知であえて、携帯だけはPerlでって思えるぐらいの完成度だと思う。
0541nobodyさん2008/11/10(月) 21:08:55ID:???
だいたい携帯は規格が無さ杉なんだよ
OSも別々のが乗ってるし
エンドユーザーにとってメリットがある事じゃないんだが、不経済だなあ
0542nobodyさん2008/11/10(月) 22:50:10ID:???
>>541
それと、各社・各世代仕様のまとめ情報が少なすぎる。
ググれば出てきそうなクッキー仕様や対応文字コード等の情報が、ほとんど無い。
会社で仕事なんかでは資料を作るんだから、暇な自営業者あたりが自分メモで
作ってても良さそうなもんなんだが。

フレームワーク辺りと違って、いじって面白くないのと、商売上公開したくないって
のと、その他もろもろ理由はあるんだろうけど。
0543nobodyさん2008/11/10(月) 22:58:35ID:???
Androidに期待
0544nobodyさん2008/11/10(月) 23:09:02ID:???
携帯はフルブラウザで見る以外は廃止にすべき
0545nobodyさん2008/11/10(月) 23:39:13ID:???
MobaSiF読んでPHP用携帯FWを作るプロジェクトとか
0546nobodyさん2008/11/11(火) 00:37:30ID:???
そもそも初期のiモードなんかの仕様がダメ杉
0547nobodyさん2008/11/11(火) 02:17:34ID:???
>>545
PerlのコードをPHPのコードに変換するジェネレーターがあれば、簡単に移植できるかな?
0548nobodyさん2008/11/11(火) 02:22:07ID:???
http://oshiete1.goo.ne.jp/qa863429.html
Perlコードを、自動的にPHPコードに変換してくれる、そんな「ドラえもん」のようなプログラムがありましたら教えて下さい!

無いですねえ。

http://www.cs.wcupa.edu/~rkline/perl2php/
Perl/Php Translation
0549nobodyさん2008/11/11(火) 07:51:48ID:???
そういやperlで思い出したけど
PHP on parrotて進んでるんでしょうか?
0550nobodyさん2008/11/13(木) 08:51:01ID:???
>>540
Perlの事情あまりしらはい。ライブラリのどういうとこが携帯向き?
0551nobodyさん2008/11/13(木) 10:31:16ID:kdvrTOAA
で、肝心のフレームワークなんだけど
結局今熱いのってなんなの?

いっぱいありすぎていまいちこれっていう特徴あるやつ
ないんだよな〜

最近ちょっとさわってみようかな〜って思ってるのあるんだけど
誰かいじったことある人いたら所感教えて〜

PAJAJ
ttp://pajaj.sourceforge.net/

xFrameworkPX
ttp://px.xframework.net/
0552nobodyさん2008/11/13(木) 14:00:08ID:???
PRADOみたいなイベントドリブンなのはどうなんだ
0553nobodyさん2008/11/13(木) 16:16:39ID:???
ちいたんでいい
0554nobodyさん2008/11/13(木) 23:25:55ID:???
やっぱり落ち担当w
0555nobodyさん2008/11/13(木) 23:27:41ID:???
もうちょっとふくらませてからw
0556nobodyさん2008/11/13(木) 23:41:23ID:???
いやらしい
0557nobodyさん2008/11/14(金) 13:45:00ID:???
大規模向けのFWはどれ?
0558nobodyさん2008/11/14(金) 13:52:53ID:???
ちいたん
0559nobodyさん2008/11/14(金) 13:53:13ID:???
出ると思ったw
0560nobodyさん2008/11/14(金) 14:12:00ID:???
ちいたん以外で
0561nobodyさん2008/11/14(金) 14:31:47ID:???
Symfony
Cake
0562nobodyさん2008/11/14(金) 14:34:00ID:???
あれ?遅いとか叩いてなかったっけか?
なぜ大規模向けと?
0563nobodyさん2008/11/14(金) 14:42:11ID:???
軽量なフレームワーク≒自由度が高い≒多人数開発では混乱を招きやすい
(重量級フレームワーク=動作が遅い)≒自由度が低い=開発のルール化度が高い≒多人数でも均一なコードレベルを保ちやすい

とはいえ、フレームワークが案件に合う合わないもあるので、
どのフレームワークを使っても、大規模開発ならプロジェクトのルールが必要だと思われ。
逆を言えば、ルールさえ作れば軽量なフレームワークでもいいと思う。
重量級フレームワークが用意してくれる機能を、自分達で実装しないとならないけどね。

あと、大規模=多人数と勝手に解釈したけど。
0564nobodyさん2008/11/14(金) 14:50:52ID:???
数年がかりの本当に大規模なものなら
逆に自由度が高いフレームワークを使って自分たちで実装したいって需要もかなりある
0565nobodyさん2008/11/14(金) 15:31:36ID:???
>>564
開発期間が数年?PHPでそんな案件はほとんど無いけど。

あと、それを適当にやると、どんどん「フレームワーク」自体に修正が入ってしまって、地層のように
古いコーディングとより新しいコーディングがどんどん積み重なって手に終えなくなる。
やるなら、全くいじらないか、最初にきちんと徹底的にいじって固めてしまうのがいいのかな?
0566nobodyさん2008/11/14(金) 16:00:34ID:???
1年未満じゃ大規模とは言えないし
0567nobodyさん2008/11/14(金) 16:19:50ID:???
webアプリで開発に何年もかかってちゃビジネスになんね。
0568nobodyさん2008/11/14(金) 16:22:17ID:???
PHPはインタフェース部分を担当するに過ぎないから
プロジェクト全体で数年っていうのはあるよ
複数サイトを作るような事業でも共通フレームワークを作成することはあるし
0569nobodyさん2008/11/14(金) 16:31:35ID:???
単純にスピードを比較したものがよく出るけど、あまり意味無いよな。
しかも素の状態に近いベンチとか。

もちろん非常にシンプルに作りたいときにFWの軽さは重要かもしれないけど。
色々な機能を実装するなら、結局ある程度の重さにはなるだろうし。
だったら多少重いといわれる高機能FWを使用したほうが開発効率は良いと思う。

単純なスピード比較がよく話題が出るから、疑問に感じていた。
0570nobodyさん2008/11/14(金) 16:52:52ID:???
何が言いたいのかさっぱりだ
帰れ
0571nobodyさん2008/11/14(金) 22:44:45ID:???
必要な機能に一番近いものを使えばいいねん
多すぎず少なすぎず
0572nobodyさん2008/11/14(金) 23:35:14ID:???
それがベストだけどちょうどいいFWってそうはない気も。
まぁ、一番近いものを選べばいいが
0573nobodyさん2008/11/14(金) 23:36:59ID:???
フレームワークなんて多機能な奴はほとんど一緒だけどね
パフォーマンスくらいしか差が無い気が
0574nobodyさん2008/11/14(金) 23:49:38ID:???
大規模の意味は100万ユーザ以上が使うというアクセス数の意味で
開発の工数ではなかったけどためになった

アクセス数という意味では軽量かどうかが非常に重要と思われ
サーバの台数などのメンテナンス代が高くつくから

とはいえ重量級のものを使ってあとからプロファイリングして
リファクタリングなりすればいいような気もしてきた
0575nobodyさん2008/11/14(金) 23:58:04ID:???
必要な機能なら実装しなきゃならないんだから
効率的な実装になってるならいいんだけどね
cakeは実装が酷いよ
0576nobodyさん2008/11/14(金) 23:59:29ID:???
cakeはインターフェイスが全てだからじゃん
その辺までRailsを踏襲していると言えばそうかも
0577nobodyさん2008/11/15(土) 02:26:07ID:???
ウェブアプリで、大規模って言うと、アクセス数が多いって意味で使われることが多いんじゃないかな。
でも、それってフレームワークはあんまり関係ないよな。ハードウェアスペックとか、もっと低いレイヤーの問題であって。
PHPに限らずウェブサイトの開発で数年かけるなんて、まず有り得ないと思う。官公庁のサイトで、手続きが面倒とかでない限り。
GmailとかGoogle Mapsでもそこまで行かないでしょう。まして、よくあるショッピングサイトやSNSみたいなのに1年も時間使ってたらアフォだよ。
0578nobodyさん2008/11/15(土) 02:37:10ID:???
アクセス数の多さはフレームワークのスレで大規模にあたらないだろ
1ページだけのHTMLを出力するサイトでも大量アクセスがあれば大規模なのか?
俺は普通コード量とか機能数だと思うけど
0579nobodyさん2008/11/15(土) 02:38:10ID:???
Googleは独自のフレームワーク作ってそうだけどね
てか絶対作ってる
他にも大企業は手の込んだ事やってそうだけどなあ
0580nobodyさん2008/11/15(土) 02:50:13ID:???
ウェブアプリで機能の数って言っても、単に画面を増やしていくだけだからなあ。
mixiとかamazonとか、確かに画面数は多いけど、結局のところ、掲示板作るのと変わりはない。
ユーザからの入力を受け取って、何枚かのテーブルを更新して、テーブルをSELECTしなおして、文字列を加工してHTMLに埋め込むって言う。
これをひたすら繰り返して巨大化するだけ。
0581nobodyさん2008/11/15(土) 02:53:39ID:???
機能によっては違うこともあるんじゃないか。
ユーザからのデータを何かしら加工するとか、
なにか特別なアルゴリズムでデータを収集して、
それを提供するとか。
0582nobodyさん2008/11/15(土) 03:02:01ID:???
WEBAPIの提供に際する共通機能とか
自動的にDBを保守してくれたりHDD壊れたらバックアップの方へ自動的に繋いで新たなバックアップ先を作るとか
(PHPコード内の接続先DBサーバIPが動的に変わるって事ね)

思いつきで書いた
0583nobodyさん2008/11/15(土) 04:39:48ID:???
ウェブアプリで大規模とそれ以外の境目はウェブアプリ側がスケーラビリティを気にする必要があるかどうかだと思う。
0584nobodyさん2008/11/15(土) 05:03:15ID:???
>>580
> ウェブアプリで機能の数って言っても、単に画面を増やしていくだけだからなあ。
> mixiとかamazonとか、確かに画面数は多いけど、結局のところ、掲示板作るのと変わりはない。
> ユーザからの入力を受け取って、何枚かのテーブルを更新して、テーブルをSELECTしなおして、文字列を加工してHTMLに埋め込むって言う。
> これをひたすら繰り返して巨大化するだけ。

それはウェブアプリだからではなく、SNSやオンラインショップという
システムが、そうなっているってだけだろ。

たとえば、YouTubeのようなウェブアプリではエンコード技術が使われる。


0585nobodyさん2008/11/15(土) 05:05:22ID:???
それにウェブじゃないシステムが何をしているかというと、
結局、ファイルにデータ読み書きして、画面に点を表示しているだけともいえる。
0586nobodyさん2008/11/15(土) 05:47:54ID:???
大したことやってないのにフレームワークは重いから使わない(キリッ
なんて言っちゃってる企業とか腐るほどあるからなぁ
0587nobodyさん2008/11/15(土) 09:41:57ID:???
>>585
インプット・アウトプットの対象の幅広さは、ウェブアプリなんかとは比べものにならんように思う。
ウェブアプリの場合は、一部APIサービス的なものを除けば、ほぼ「画面」相手でいいわけだが。

>>586
その理由でテンプレートエンジンを使いたがらない人も未だに多いがな。同じじゃね?
0588nobodyさん2008/11/15(土) 13:00:48ID:???
フレームワークに比べて、テンプレエンジンは開発効率大してよくならないからな。
つーかFWに組み込まれてるし
0589nobodyさん2008/11/15(土) 13:15:36ID:???
何かをしない理由にパフォーマンスを上げている場合、大概ちゃんと調べるのとか新しい
やり方を検討するのが面倒くさいことだけの事が多いと思う。

論理削除ってあるじゃん。レコードに削除フラグを立ててデータは残すって言う。
あのフラグのチェックををいちいち手で (del_flag IS NULL OR del_flag = 0) とか書いている
会社があった。
なぜ NOT NULL制約を付けないのかと聞いたら、「重くなる」って答えが返ってきた。
全力でこけた。いろいろ間違ってる。
0590nobodyさん2008/11/15(土) 14:11:03ID:???
12のphp最適化テクニックとか、一時期ブログに出回ったけど、
そのテクニックが使われるタイミングを考えると、誤差でしかないとか、
よくあったよね。
むしろコードが読みにくくなったり、書きにくくなったりと、
その時間のほうがもったいないとか。
0591nobodyさん2008/11/15(土) 14:39:00ID:???
大手でphp使ってサービスやってるといえばYahooなんだけど
たとえば、↓
http://www.sooey.com/journal/2007/05/26/648/
symponyだって。
でもサービスによって違いはあって
http://wakatsukichinatsu.yahoo.co.jp/index.php?itemid=128
↑これなんてPHP?
0592nobodyさん2008/11/15(土) 14:39:25ID:???
論理削除自体間抜け
0593nobodyさん2008/11/15(土) 14:54:51ID:???
論理削除自体が間抜け?
方法がフラグってとこが間抜けってなら少しはわかる気もするが。
0594nobodyさん2008/11/15(土) 14:55:03ID:???
論理削除は必要だろ。
0595nobodyさん2008/11/15(土) 15:09:50ID:???
スレチだけど論理削除ってどういう指定にすればやりやすいですかね。
active enum('Y','N')か、status = 0 なら削除とか?
0596nobodyさん2008/11/15(土) 15:11:46ID:???
>>593
わかんね。
フラグじゃなくてカウンタにするってこと?
0597nobodyさん2008/11/15(土) 16:06:02ID:???
大規模向けではなく一番スケールアウトしやすいFWは?
0598nobodyさん2008/11/15(土) 16:34:55ID:???
スケールアウト考えたらモデルは自分で書かないときつくね?
0599nobodyさん2008/11/15(土) 16:57:52ID:???
ちry
0600nobodyさん2008/11/15(土) 17:24:52ID:???
>>595
deleted(datetime)がnullかどうか
0601nobodyさん2008/11/15(土) 17:52:20ID:???
int型にして、0だと削除扱いにするのが妥当だろうな。PHPやPerlなら、ブーリアン評価でfalseが帰ってくるし。
0602nobodyさん2008/11/15(土) 17:55:22ID:???
勝手に値はいるのはtimestampだけだっけ?
0603nobodyさん2008/11/15(土) 18:02:15ID:???
>>602
NOT NULL にしておいて default を設定すれば入るだろ
0604nobodyさん2008/11/15(土) 18:49:10ID:???
mysqlはデフォルト値に関数が使えない
0605nobodyさん2008/11/15(土) 18:51:03ID:???
>>600
deletedってどういうこと?
0606nobodyさん2008/11/15(土) 19:09:25ID:???
フィールド名じゃないの?
0607nobodyさん2008/11/15(土) 19:12:51ID:???
ああそういうことか、関数かと思ったw
0608nobodyさん2008/11/15(土) 19:13:24ID:???
nullだとインデックスが使われないから論理値のほうが良くない?
0609nobodyさん2008/11/15(土) 19:27:12ID:???
nullかどうかで求めるのは本来正しく無いだろうね
削除された、と言う状態がシステム上にありうるならそれはnullで表現すべきじゃない
0610nobodyさん2008/11/15(土) 19:54:48ID:???
というか、3値論理っての? NULL を理解していないとか必要性を感じないとかの場合は、
全フィールド NOT NULL で作ってしまえと言いたい。
その方が何かとトラブルが少ないし、コーディングも楽だ。
テキストフィールド? 空文字でも入れとけ。 数値? 0が初期値だ。それで都合がわるけりゃ、
-999999999 が初期値だ、文句あるか、ってな感じで。
0611nobodyさん2008/11/15(土) 22:00:11ID:???
>>608
MySQLならenum型でnullを使う分にはNULLでインデックスされると思うよ
他のDBでは知らない
0612nobodyさん2008/11/15(土) 23:07:45ID:???
>>607
そう、カラム名。
id, created(datetime), updated(datetime), deleted(datime)を標準的に使用。

あるいは、statusとしてa)Activei)/Inactive、h)Hidden, b)Obsoleted D)deleted
とか詳しい状態が必要な時に使うとか。
06135952008/11/15(土) 23:12:27ID:???
いろいろやり方あるんすね。すごい勉強になった。
皆さん有り難うございます。
0614nobodyさん2008/11/15(土) 23:21:42ID:???
論理だろうがなんだろうが、削除っていうからカッチリ噛み合わないと思うんだよね
実際問題何も消してないわけなんだし
だから、そういうのは無効化とか不活性化とか利用不可とか、そういう「状態」で呼ぶべきで
削除って言うならならきっちりかっちりまるっと全部消してしまえ!

と思うんだよなー
スレ趣旨と全然関係ないんだけどなー
0615nobodyさん2008/11/15(土) 23:47:46ID:???
>>612
頭文字使うぐらいなら、enum型かSET型じゃね?
まぁ、DB実装によって違うかもしれんけど。
0616nobodyさん2008/11/16(日) 02:05:02ID:???
論理削除はDELETEより早い速度が求められる場合(index更新のコストが馬鹿にならない)とか
警察照会とか、CS対応で必要とかやっぱり要るシーンが多くて>>614みたいに消してしまえーが使えない場合も少なくないよ

>>615
そうだね。
0617nobodyさん2008/11/16(日) 02:08:47ID:???
論理削除っていう呼び方はおかしいね
ソフトウェアなんだから全て論理だし
無効化、凍結、と言う呼び方が正しい
0618nobodyさん2008/11/16(日) 02:19:28ID:???
そうかな?英文でもphysical delete、logical deleteって言葉よく使われるよ。
http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/index.jsp?topic=/com.ibm.wbia_developer.doc/doc/connector_dev_java/java61.htm
0619nobodyさん2008/11/16(日) 03:13:45ID:???
処理速度の場合もあるだろうけど、後から参照しないといけない場面がよくあるからな。安易に削除するわけにはいかないことが多い。
0620nobodyさん2008/11/16(日) 06:39:55ID:???
だからそれを削除って呼ぶなよバーヤ!!って言いたいんだろう
0621nobodyさん2008/11/16(日) 06:56:48ID:???
論理削除を削除と呼ぶか、単なるステータスかというのは
呼び方の慣習の問題。

言葉遊びをやってもしょうがないんで、ここでは便宜的に、論理削除とは、
物理的には削除せずにサービス上削除されたようにふるまわせること
でいいかな?
0622nobodyさん2008/11/16(日) 09:11:01ID:???
>>600 >>612
滔々と語ってるが、>>612の前者のdeleted (削除日時) はまあともかく、
後者の方では、レコードにユニーク制約のカラムがあった時に不便だろ。

削除フラグ(というかカウンタなど)とセットでユニーク制約にしてしまうって
のは、あんまり流行って無いのか?
0623nobodyさん2008/11/16(日) 12:27:21ID:???
partial index 使っちゃう。
0624nobodyさん2008/11/16(日) 12:33:30ID:???
>>622
詳しく
0625nobodyさん2008/11/16(日) 13:00:36ID:???
>>624
例えばユーザアカウントをユニークにしたいとかで、一意制約をユーザ名カラムに付けるとする。
んで、そのユーザが退会した後、そのデータを残してたら、そのユーザ名がずっと使えない。
それを避けるために、削除データだけ一意制約から考慮外にしたい場合、削除フラグと2カラム連結で
ユニークにしてしまう。
んでレコードを削除する時に、同一なユーザ名を持つデータの削除フラグを、一斉に +1 UPDATEしてしまう。
削除フラグが 1以上なら( というか、0でなければ ) 削除データという扱い。
こんなやり方。マイナーなのかな?と思った。

書いてて思ったが、これ一意制約のカラムが二つ以上あった場合、そのままでは使えないなw
もちょっと応用を利かさないと無理か。
整数部分と少数部分で分けるとか桁で分けるとかビットで分けるとかwww

# DBの一意制約を使わずアプリで常にチェックするなら別にこんなことしなくていいんだけど。
0626nobodyさん2008/11/16(日) 13:06:04ID:???
こんな風にやりたいのなら、削除フラグ自体もユニークにして削除日時を
マイクロ秒まで入れておけばいいのではと後から思ったのは内緒だ。
0627nobodyさん2008/11/16(日) 13:24:25ID:???
って書いて、削除フラグをユニークにしたらそもそも「未削除」の状態はどうするんだと気づいた午後。
飲みながらレスするもんじゃないな。
退散します。
0628nobodyさん2008/11/16(日) 13:45:33ID:???
>>625
その例だと使えなくするケースが多いのでむしろ好都合。たいていサポートチームが要望してくる。
0629nobodyさん2008/11/16(日) 13:51:02ID:???
酔っ払いめ!ww

さて、ユーザーアカウントを例にすると、ちょっと怖すぎるんだが、
CMSなんかのアイテム管理だと、リビジョン管理に同一itemidで
複数のインスタンス、しかも最新以外は非アクティブっていう状態を
表現するという用途があったりする。
その場合、削除フラグを使わずに、使用目的に合わせたタグを振る。
外部キー側もタグやリビジョン番号を考慮した設計にしないといかんわけだけどね。
0630nobodyさん2008/11/16(日) 14:12:40ID:???
>>629
そういうのの設計はちょっと知りたいなーと思っていたんだけど、
MediaWikiのソースでも読めばいいのかな?
0631nobodyさん2008/11/16(日) 14:19:46ID:???
PACの解説記事でDrupalが良い実装とか見たことあるので同じCMSならこっちは?
リビジョンと直接は関係ないけどソースはしっかりしてるかも
0632nobodyさん2008/11/16(日) 14:26:24ID:???
設計見るのになぜソースを読む
0633nobodyさん2008/11/16(日) 14:43:16ID:???
オープンソースソフトウェアの設計書なんて公開されてる?
0634nobodyさん2008/11/16(日) 15:05:16ID:???
おそれすになったな・・・

>>587
> インプット・アウトプットの対象の幅広さは、ウェブアプリなんかとは比べものにならんように思う。
> ウェブアプリの場合は、一部APIサービス的なものを除けば、ほぼ「画面」相手でいいわけだが。

それをいったら、ウェブじゃないアプリだって、ほぼ画面(ディスプレイ)相手だろ?
なんか比較している対象がずれてるよ。

画面じゃなくてOffice系の大規模アプリだって、結局は画面にGUI表示してファイルに書き込むだけなんだし。
ゲームだってそう。ハードウェアデバイスを扱うものもあるだろうけど、それをウェブアプリでやってはだめってことはない。
ブラウザでコーヒー沸かす装置とかw
0635nobodyさん2008/11/16(日) 15:05:49ID:???
>>633
設計書 = ソースコード
0636nobodyさん2008/11/16(日) 15:33:36ID:???
>>634
元のレスが、アプリとは書いてなくて、「ウェブじゃないシステム」って書いてあるからじゃね?
対象がずれてるというか、「Office系の大規模アプリ」とかゲームとかが念頭にあるのは
わかっててわざと書いてるんだろw
車のエンジン制御とか、通信インフラ系とかはシステムじゃねーの?って。

>>585
> それにウェブじゃないシステムが何をしているかというと、
> 結局、ファイルにデータ読み書きして、画面に点を表示しているだけともいえる。

いえねーよw
これがむしろ、言いたいことと表現がずれてるんじゃね?
0637nobodyさん2008/11/16(日) 17:24:18ID:+7h73lOI
タグの実装を考えています
スペース区切りでtextカラムに入れて、全文検索するのがシンプルでいいかと思ったのですが、
他にいい方法があったら教えてください
0638nobodyさん2008/11/16(日) 17:26:45ID:???
>スペース区切りでtextカラムに入れて、全文検索
これはひどい
0639nobodyさん2008/11/16(日) 17:28:47ID:+7h73lOI
そうですか?ググっていたら同じようなことしてる人もいますが。
http://blog.nomadscafe.jp/archives/000643.html
他にいい方法があれば教えてください。
0640nobodyさん2008/11/16(日) 17:43:46ID:???
タグ単位で編集とかしないならいいんじゃない?
0641nobodyさん2008/11/16(日) 17:44:48ID:???
普通に考えれば
タグテーブル作って
アイテムテーブルとの間に多対多のリレーションテーブル持てばいいだけだよね
いかにもリレーショナルに解決出来るケースだと思うけど
0642nobodyさん2008/11/16(日) 17:45:10ID:???
>>639
それ、フレームワーク関係ないし、それ以前にPHPの問題でもないよ。
DBの問題だからDB関連スレで質問しろよ。
まぁ、正規化すら理解してないみたいだからまずは本でも買って勉強することをオススメするけどね
0643nobodyさん2008/11/16(日) 17:52:11ID:???
だね
基礎知識が足りてなさそう
0644nobodyさん2008/11/16(日) 17:59:55ID:???
なるほど、おっしゃる通りですね。
ありがとうございました。
0645nobodyさん2008/11/16(日) 18:01:45ID:???
俺はついこの間タグテーブルと、タグと記事のリレーションテーブルで作った。
けど、割とありきたりの機能になったのに、
情報が少なくてベストプラクティスな設計が出来たか不安なんだよね。
タグはパターンとしてどっかに情報がまとまっててもいいと思うんだが。
0646nobodyさん2008/11/16(日) 18:10:11ID:???
だから典型的なリレーショナルな設計でいいでしょ
それ以外に特別な事なんて無いんだから
0647nobodyさん2008/11/16(日) 18:20:02ID:???
うん基本的すぎてまとめる気が起きない
不安ってのはRDBの理解が不十分なのかと。
0648nobodyさん2008/11/16(日) 18:26:03ID:???
フレームワークの話題が無いのか
0649nobodyさん2008/11/16(日) 19:46:05ID:???
symfony使ってるんだけどRoRと比べてモデル周りが貧弱で泣いた
0650nobodyさん2008/11/16(日) 20:18:46ID:???
PHPの場合、標準的なDBドライバがないからな。どれも中途半端。
0651nobodyさん2008/11/16(日) 20:20:48ID:???
具体的にちんぽにーとrorでどうちがうの?
0652nobodyさん2008/11/16(日) 20:23:39ID:???
横レスだけど。
RoRのアプリケーションはRubyで書けるけどSymfonyではRubyで書けない。
これは大きい。それに比べりゃモデル周りなんて大差ないんじゃね?
0653nobodyさん2008/11/16(日) 20:25:04ID:???
んなの当たり前じゃん
フレームワークの比較より言語の比較だし
0654nobodyさん2008/11/16(日) 21:54:05ID:???
フレームワークを初めてつかったけど「便利な関数群」ってだけじゃん。
0655nobodyさん2008/11/16(日) 21:56:08ID:???
違うよ
全然違うよ
0656nobodyさん2008/11/16(日) 21:59:31ID:???
>>654
なんという前世紀のライブラリ
まあそれはそれで便利だけど
0657nobodyさん2008/11/16(日) 22:07:04ID:tiBOVYsk
PHPを初めてつかったけど「便利な関数群」ってだけじゃん。
0658nobodyさん2008/11/16(日) 22:19:55ID:???
それはそうだよ
0659nobodyさん2008/11/16(日) 22:21:24ID:???
>>657
それは半分真実
ただWEBフレームワークであるという視点も抜けている
例えば$_POSTや$_COOKIEは関数か?
HTTPヘッダを自動で吐く機能は関数?
PHPはただ単にWEB入出力とDBアクセスに便利な関数群装備のインタプリタとして
使うのもいいし、不十分な(でも拡張も可能な)フレームワークとしても利用出来る

と思ってるけどどうだろ
0660nobodyさん2008/11/16(日) 23:54:00ID:???
フレームワークはパターンとルール
0661nobodyさん2008/11/17(月) 00:16:53ID:???
それは多分定義のレイヤが違う
0662nobodyさん2008/11/17(月) 00:19:03ID:???
>>661
どういうこと?
kwsk
0663nobodyさん2008/11/17(月) 03:03:18ID:???
「便利な関数群」つうだけならそれはライブラリ。
ワークはあるがフレームがない。
0664nobodyさん2008/11/17(月) 22:29:41ID:???
>>657
webプログラミングがまだ試行錯誤だった時代に、
その「便利な関数群」ってだけのことがとても
大きかったから、シェアが取れた。

便利な関数群自体がほとんど無かったからね。

Javaと同じ。
0665nobodyさん2008/11/18(火) 03:06:59ID:???
$_SESSIONとか$_REQUESTとか勝手にcontent-typeが出力されるとか、PHPの言語機能自体にウェブアプリ用の機能が組み込まれてるからな。
0666nobodyさん2008/11/18(火) 03:12:50ID:???
1回C言語でWEBアプリ作ってみると良く分かる

あとPHPが流行ったのはWEBアプリ(のインタフェース部分)はこの程度の機能で十分って事もあるだろうね
敷居を低くしてしまって素人プログラマーが流入してきても
WEB分野には受け皿がある
0667nobodyさん2008/11/18(火) 06:22:10ID:???
webアプリなんて一方通行だからな
アホでも書けるんだよ
0668nobodyさん2008/11/18(火) 10:11:51ID:???
>>664
関数や機能がたくさんあるだけが問題ならPerlが圧勝したはず。
やっぱりmod_phpの管理のお手軽さとPHPの言語自体の簡便さ。
0669nobodyさん2008/11/18(火) 10:27:37ID:???
>>668
ソースインストールはお世辞にもお手軽とは言えなかったがな
未だにrpm以外でのPHP管理を敬遠するサーバ屋もあるくらい
0670nobodyさん2008/11/18(火) 12:15:39ID:???
http://ja.wikipedia.org/wiki/Web%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF

ここで言うプル型アーキテクチャのフレームワークってPHPでなんかある?
0671nobodyさん2008/11/18(火) 12:41:48ID:???
Smarty
0672nobodyさん2008/11/18(火) 13:20:30ID:???
なんか新しいフレームワークがでてきたらしい

Yii Web Programming Frameworkは期待できそう。
http://cakephp.seesaa.net/article/109833179.html
0673nobodyさん2008/11/18(火) 14:00:58ID:???
Perlは組み込み関数は少ない。
CPANモジュールをインストールしなければ行けないから、リモートログインとシェルが使えない共用のレンタルサーバなんかだと使い物にならない。
多少なりともUNIXの知識も要求されるし。
その点、PHPの場合、mbstringが有効になってれば、Pearが使えなくてもどうにでもなる。
0674nobodyさん2008/11/18(火) 14:55:14ID:???
>>673
それはかなり昔の話だけどね。
PHPで global $HTTP_GET_VARS とかしなきゃいけない、ってのに近いくらいw

特に、Perl5.8からはEncode標準添付だし、MovableTypeの流行以降は、
そこらのレンタルサーバでも一通りのモジュールは入るようになってる。
DBI・DBMやらも普通に使えるのが大半。
その頃にはみんなレンタルサーバでのPerl CGIから離れてしまってたがなw
0675nobodyさん2008/11/18(火) 14:59:41ID:???
>>670
よくわからんが、「イベントドリブン」なんてのを謳ってるようなのは
そうなのかな?
0676nobodyさん2008/11/18(火) 18:21:34ID:???
>>672
ActiveRecordじゃないですか。モデルに強くてうれしす。
制作者はPRADOのひとかぁ
0677nobodyさん2008/11/18(火) 19:49:11ID:???
>>675
EDPとはまた違うような。

ビューがコントローラーにデータをリクエストするようなやつ。
0678nobodyさん2008/11/18(火) 20:42:37ID:???
PHPは5-6年前の時点でPHP4が普及してたから。
そもそも国際版のPHP3ってレンタルサーバで提供されることはほとんどなかった。あっても、すぐに4に移行したから。
Perlの場合、5.8.10になっても標準モジュールだけでは既存のウェブフレームワークは動かない。
モジュールをインストールしても、CatalystみたいなのはCGI環境ではまともな速度が出ないし。
共用レンタルサーバへの設置の難しさがあって、MTがWordPressに抜かれて、XOOPSとかPukiWikiとかフリーのウェブアプリってPHPの一人勝ちになった。
Perlが使われるのは未だにKENTのCGIとか。
そういう反省があって、今のPerl界でMENTAとかの設置の簡単な、標準外のモジュールに依存しないウェブフレームワークが注目されてる。
けど、結局のところ、ベストプラクティスに載ってるようなモダンなPerlを書こうと思えば、適時CPANモジュールをインストールするしかないわけで、これはPerlっていう言語の性格上どうにもならないな。
0679nobodyさん2008/11/18(火) 20:49:25ID:???
>>677
ビューがコントローラーにデータをリクエストする。を読むと、
すごいイベント駆動ぽい気がするんだけど・・・

プル型というのは、いったい何のための仕組みなんだ?
コントローラーがビューにデータを渡すのではなく、
あえてビューがコントローラーにデータをリクエストする理由が知りたい。
0680nobodyさん2008/11/18(火) 21:21:31ID:???
ページデザインだけでサイトが完結しうるところがメリットかな。
オンデマンドに必要なデータを拾いに行くので、自由度が高くなる。
ページに組み込むパーツがいかように変化してもコントローラーを
いじらなくて済むところとか。

まぁ、プッシュ型でも、ビューからコントローラーを呼べるはず。
それが特殊な時だけ利用するのか、常にそうするのかの違いだな。

CMSでイベント駆動だとプル型っぽい動きさせてるのが結構ある。
フレームワークはなんだかんだボトムアップだからプッシュ型が普通で、
それに慣れすぎてる感はある。
0681nobodyさん2008/11/18(火) 22:15:34ID:???
あとプル型はコントローラーが複数あるのも特徴とか英文Wikipediaにかいてなかったっけ

なんかフレームワークスレっぽくなってきた
0682nobodyさん2008/11/18(火) 22:23:17ID:???
英文関係無かった須磨祖
0683nobodyさん2008/11/18(火) 22:54:01ID:???
あんまり詳しくないから変なこと言ってるかもしんないけど
PHPだと複数ファイルに分けてあるものをIncludeしてくしかないわけで、
MVCはコード書く上での概念みたいな感じでPushもPullも厳密には関係ないよね?
JavaServletのforwardみたいに処理投げ渡したりとかできないよね
0684nobodyさん2008/11/18(火) 23:09:54ID:???
フレームワークが何を自動化するかって事だろ
0685nobodyさん2008/11/18(火) 23:29:54ID:???
http://ja.wikipedia.org/wiki/Apache_Tapestry

Tapestryではこんな説明だった。

> Apache Tapestryは、アクションをベースとした仕組みのApache Strutsとは競合する。
> TapestryはStrutsとは違い、コンポーネントベースであり、コード量が少なくて済む点が特徴である。
> またStrutsのようにJSPカスタムタグライブラリを覚えなおす必要がなく、
> 必ずServlet/JSPを作成しなければならないということはなく、
> Javaやネットワークの知識がないウェブデザイナーでも簡単にJava製ウェブアプリケーションを作成できるという利点がある。

アクションをベースとしたStrutsとは違うというあたりが、
なんとなくプル型が分かるような分からないような。
使ってみないと、はっきりしないかなー
0686nobodyさん2008/11/19(水) 00:16:11ID:???
http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks
これ見たらpush/pullが一目瞭然。
0687nobodyさん2008/11/19(水) 00:34:10ID:???
Propelでmany-to-manyってどうやるの?
0688nobodyさん2008/11/19(水) 02:02:44ID:???
http://ja.wikipedia.org/wiki/ソフトウェアコンポーネント

ここ読んでたらなんとなく分かってきた。
MVCからVを分離して、MCを部品として考えて、
Vから複数の部品を使うってことかな。

ショッピングカートの機能をMCだけ作って、
掲示板の機能もMCだけ作って、
コントローラとのインターフェースが分かってれば、
ビューでうまいことやるだけで、掲示板が組み込まれたECサイトの出来上がり。

語弊を恐れずに、俺の想像をざっくりと書いてみた。
//最近のブラウザはURLエンコードしてくれないのね。
0689nobodyさん2008/11/19(水) 02:09:05ID:???
普通にwikipedia読めば分かるじゃん
0690nobodyさん2008/11/19(水) 02:12:01ID:???
どのページ?
0691nobodyさん2008/11/19(水) 03:03:05ID:???
>>688
そう
Vからプルするから主はV。結果、Vのみさわるデザイナーが使いやすいものとなる。
0692nobodyさん2008/11/21(金) 13:07:50ID:???
ちんぽプルプルですね
わかります
0693nobodyさん2008/11/21(金) 15:29:21ID:???
ですね分かりますは終了したってどっかに書いてあったよ
0694nobodyさん2008/11/21(金) 15:35:48ID:???
どっかで終了宣言したら終わりなんですね
分かります
0695nobodyさん2008/11/22(土) 10:57:11ID:enBp98lH
グレイトなMVCフレームワークないかい?
0696nobodyさん2008/11/22(土) 11:55:27ID:???
あったら困らん
0697nobodyさん2008/11/22(土) 13:29:05ID:???
ZF出たね
0698nobodyさん2008/11/23(日) 02:16:27ID:???
yii使ってみた人いる?
0699nobodyさん2008/11/23(日) 20:39:26ID:???
symfonyとcakePHPってどっちがいいの?
ユーザーは常時アクセス百人ぐらいを想定してます。
0700nobodyさん2008/11/23(日) 20:41:14ID:???
そのレベルではどっちでも大して変わらんかと
0701nobodyさん2008/11/23(日) 20:43:11ID:???
軽いっちゃあcakePHPだろうね。機能的にはsymfonyかね。
まぁそれぐらいの人数じゃ負荷は別に別に気にしなくてもいいと思うけどね。
0702nobodyさん2008/11/23(日) 20:54:39ID:???
>>700>>701
回答ありがとうございます。
学習コストはどっちが大きいのかな?
symfonyの方が難しい?
0703nobodyさん2008/11/23(日) 22:07:52ID:???
やりたいことにもよるだろ。
ドキュメントぐらい見ろや。
0704nobodyさん2008/11/23(日) 23:03:02ID:???
自分でちょっとした軽いサイトを作りたいなてとき
CakePHPがよい
どういうサイトが当たるかわかんないから
とにかく当たりそうなサイトを片っ端から量産したいときにはCakePHPがいい
大企業からマジ受けするならsymfonyかな
そんな大企業を相手できない俺は小回りが利いて時代にニーズにいち早く対応できるCakePHPが一番好きだ
0705nobodyさん2008/11/23(日) 23:03:07ID:I/SHm+AO
Cakeの方がインストール簡単
0706nobodyさん2008/11/23(日) 23:06:24ID:???
CakePHPみたいに作りたいなと思ったサイトをサクッと作れる快感がたまらん
時代の流れの速いIT業界にあってるよ
0707nobodyさん2008/11/24(月) 00:43:30ID:???
おれはSymfonyの方がよりオブジェクト指向な分使いやすいな
ドキュメントもしっかりしてるし
0708nobodyさん2008/11/24(月) 01:31:16ID:???
その二つのどっちかが今の主流なのかな
0709nobodyさん2008/11/24(月) 01:58:00ID:???
今の日本での主流はcake。
php6の後も稼動し続ける予定ならZFが無難。

http://www.google.com/trends?q=cakephp%2CZend+framework%2Csymfony%2Ccodeigniter%2Cethna&ctab=0&geo=all&date=all&sort=0

検索数だからあてにならないかもしれないけど
日本語圏はcakeを世界で2番目に使ってるっぽいぞ。
つーか、地域だと目黒区が1位だけどお前ら寄付とかしてんの?w
0710nobodyさん2008/11/24(月) 02:07:28ID:???
インドネシア語が一位って。。
それ眉唾すぎないか
0711nobodyさん2008/11/24(月) 02:19:05ID:???
ZFだけはないわ
cakeはドジでのろまな亀しか使ってないし
普通はsymfonyだろうな
0712nobodyさん2008/11/24(月) 02:34:38ID:???
ちょろっとしか見なかったらなぜZFがあんな駄目駄目言われるかわからん。

みんな言うからきっとそうなんだろう。
0713nobodyさん2008/11/24(月) 09:30:25ID:???
俺フレームワークの基礎にするには、別にZFは悪くない
symfonyは知らんが、cakeとかCIとかのように、「こう書けばすぐアプリ」っていう
がっちがちの枠を、ZFでは用意していないだけ。
0714nobodyさん2008/11/24(月) 10:58:13ID:???
PEARみたいなライブラリということか
0715nobodyさん2008/11/24(月) 12:21:02ID:???
密であるが疎にはできないものと
密にも疎にもできるもののどちらがいいかっていったら
そりゃ後者だわな
0716nobodyさん2008/11/24(月) 13:41:57ID:???
そこら辺の凡人PGがPHP4時代に書いたど腐れライブラリなんかは、
全部ZFに置き換えてもいいくらいだと思うよ
なんつーの? 割り切り仕様というか内部諒解仕様というか、そういった
よくわからん決め打ち系の記述は(マルチバイト関連を除けば)非常に少なく、
かなり汎用的に作られてるっぽい。
例外処理だけ、ZF流儀にあわせればあとはどう使おうと自由って感じで。
0717nobodyさん2008/11/24(月) 18:12:50ID:???
>>713
> がっちがちの枠を、ZFでは用意していないだけ。

がっちがちの枠(フレーム)を用意するのが
フレームワークだと思うんだがねぇ。
0718nobodyさん2008/11/24(月) 18:28:09ID:???
メリットもあるが色々弊害もあるのだよ、僕
0719nobodyさん2008/11/24(月) 18:35:08ID:???
それはフレームワークでなくて別って意味でしょう。
ZFは自由に使えって言うけどライブラリとの違いが分からない。
そして、結局ライブラリを細切れに使うのと手間が一緒の気がするんだけど。
それ以上のメリットがあるのか良く分からない。
0720nobodyさん2008/11/24(月) 18:43:34ID:???
>>719
具体的にそれでどんな悪い点が?
0721nobodyさん2008/11/24(月) 18:51:52ID:???
>>719
使ってみればわかるが、ZFにフレームはある。
ただ、それは固定されたフレームではなくて、設計者が自由に拡張可能なフレームだ
設計を行わない人にとっては無用の長物。メリットだってわからない。
0722nobodyさん2008/11/24(月) 20:20:21ID:???
決め打ちでしかプログラミングできない低脳にはおすすめできないってこった
07237192008/11/24(月) 20:59:56ID:???
>>720
あえて言えばメリットが見つからないというのが悪い点かと

>>721
使い込んでみないと分からないって事でしょうか。
もうちょっと機会があれば研究してみたいとは思います。

>>722
なるほどそうですかw
0724nobodyさん2008/11/24(月) 22:26:16ID:???
Eclipseでsymfonyフレームワーク使ってプログラミングしたいんだけど、可能?
0725nobodyさん2008/11/24(月) 23:50:06ID:???
どういう意味かはっきり書かないと答えようがない。
Eclipseはエディタだからそりゃ可能だ。
0726nobodyさん2008/11/25(火) 05:20:59ID:???
PDTで書けるかって意味ぢゃね?
ethnaとかちょっと微妙だから。

symofnyは大丈夫だけど、少しコツがいる。
けど、なんか安定しないんだよなぁ。もう1.2の声が聞こえてくるし。またコンバート作業必要なんでしょ?
> 1.1→1.2
0727nobodyさん2008/11/25(火) 15:20:48ID:???
微妙って意味がわからんのだが
htmlまわりの話か?
0728nobodyさん2008/11/25(火) 15:32:12ID:???
最近は知らんけど、1年くらい前の状況だと、
Ethnaの構造ではPDTでは補完が働かなかったな。
あとコマンドラインでアクションやビューやテンプレートが生成されるので、
いちいちプロジェクトを更新するのが面倒だった。

ファイルの追加がPDT外で行われて、PDTの補完も働かないんじゃ、
わざわざ重たいPDTを使うメリットがないと思った。

symfonyは使ってないからしらね。
0729nobodyさん2008/11/25(火) 15:43:10ID:???
プロジェクトの更新なんてF5一発でいいのでは。
そんなこと言ってたらSVNでの頻繁な更新なんてできないじゃないかw
補完もどのみち最初から微妙っちゃ微妙だし。
少なくともPCパワーさえある程度あれば、テキストエディタよりは便利だと思う
まあやりやすいようにやればいいんだけど
0730nobodyさん2008/11/25(火) 15:51:45ID:???
俺の場合、PDTに感じる価値がちょうどプロジェクトの管理と補完だからな。
逆にエディタとして見ると融通が利かない駄目なやつと思っている。
最近は出来るようになったけど、全角スペースをマーク表示させたり出来なかったとか、
後は覚えてないけど細かいところでたまにイラっとする。
だから俺は、プロジェクト管理と補完のために使ってるようなもんだ。
0731nobodyさん2008/11/25(火) 16:09:13ID:???
一応、Eclipseの特徴として on the fly な構文チェックってのはあるけどね。
しょうもないparse errorとか、未定義変数とか示してくれるのは、非常に効率アップしてくれる
自分が注意力散漫だけかもしれんけどw
他のエディタでもこの機能はあるのかな?
0732nobodyさん2008/11/25(火) 16:32:01ID:???
PDTにsymfony用のプラグインってあるよね
使ったことはないけど
0733nobodyさん2008/11/25(火) 16:38:15ID:???
http://www.symfony-framework.com/2007/12/10/best-symfony-ide-eclipse-pdt-symfoclipse-clay/
http://noy.cc/symfoclipse/index.html
Symfoclipseつーやつかな?
0734nobodyさん2008/11/25(火) 16:54:55ID:???
てか、Eclipse使ってる人はPDTが多いのか。
なぜか理由は忘れたが、PHPEclipseの方を使ってる俺は異端?
0735nobodyさん2008/11/25(火) 17:45:10ID:???
オレなんて未だにTruStudioなんだぜ、自宅は
さすがに会社はPDTに乗り換えたが、自宅じゃ
めんどくせーからこのまんまでいいやみたいな
0736nobodyさん2008/11/25(火) 22:37:49ID:???
>>727
スケルトンが拡張子が.phpだから(かつ中身がphpじゃないから)PDTだとずっと構文エラーになる。
拡張子ハードコーディングしてあるから直せん>ethna
0737nobodyさん2008/11/26(水) 01:42:35ID:???
PDTならZSの方がインスコも楽だしアナライザーもはいる。
無料でよろし。お薦めする。
0738nobodyさん2008/11/26(水) 05:16:43ID:???
Zend Studio? 無料?
0739nobodyさん2008/11/26(水) 08:31:02ID:???
そう。ZSは試用期間が終わるとPDTとほぼ同様になる。
尚日本語版は勧めない。日本語化したければPDTと同じようにする。
0740nobodyさん2008/11/26(水) 21:22:21ID:???
>>736
うそ
ethnaって .php -> .html とかに変えられないの?
ダメだそりゃ
0741nobodyさん2008/11/27(木) 02:26:51ID:???
>>740
スケルトンがな。
ルーティングなんていくらでも変えられる。

しかし、スケルトンもEthnaのデフォを削除しちゃって、自分Appのは
Handlerを定義しちゃえばいけるんじゃね?そんな手間でもないと思うが。
0742nobodyさん2008/12/01(月) 22:29:43ID:XLqJXNnh
http://www.yiiframework.com/performance/

Yii  178
CakePHP 170
CodeIgniter 131
Prado 53
Zend 51
Symfony 36

数字はRequest Per Second
0743nobodyさん2008/12/01(月) 22:39:29ID:???
いいねいいね
今度使ってみるか
0744nobodyさん2008/12/01(月) 23:19:54ID:XLqJXNnh
こういうhello worldにベンチってどんくらい意味あんのかとか思ってたけど
そのページに書いてあるようにあくまでRPSの上限を計るベンチで(これ以上の値は出ない)、
ajaxとかhtmlレンダリングない場合もあるしでやっぱり価値はある。
0745nobodyさん2008/12/01(月) 23:27:25ID:???
そのベンチ、Yiiだけecho 'Hello World';になってて
他のがdie('Hello World');になってるのは何で?

まあ大抵のベンチは信用出来ないのは知ってるけども。
0746nobodyさん2008/12/01(月) 23:48:49ID:???
dieの方が速いけどw
0747nobodyさん2008/12/02(火) 01:49:03ID:???
なんでこんな速いの?エクステンション?
0748nobodyさん2008/12/02(火) 01:54:30ID:???
http://phpimpact.wordpress.com/2008/07/02/which-php-framework-is-slower/

Baseline PHP   331.8
CodeIgniter   21.5
Zend Framework 9.2
CakePHP           3.7
0749nobodyさん2008/12/02(火) 10:55:00ID:???
ま た ベ ン チ パ フ ォ ー マ ン ス か
一応客観的っぽい比較はできるのかもしれないが、だからどうしたってんだ。
ってまだ誰も、使うどころか中を見てもないんだろうけどw
0750nobodyさん2008/12/02(火) 11:15:02ID:???
>>749がコードを読んでパフォーマンスについての詳細な報告をしてくれるそうです
0751nobodyさん2008/12/02(火) 11:40:29ID:???
"Yii is a high-performance component-based PHP framework for developing large-scale Web applications."
コンポーネント指向?ってどんな感じのを言うの?
0752nobodyさん2008/12/02(火) 14:42:18ID:???
また新しいFWが登場したの?
みなさんのレポ(人柱)に期待w
0753nobodyさん2008/12/02(火) 15:26:34ID:???
G5の方がインテルより速いといい張ってた企業があったしな・・
ベンチマークなんて所詮うんちマークです
それが偉い人には分からんのです
0754nobodyさん2008/12/02(火) 15:28:13ID:???
ボトルネックはDBまわりだったりするしな
0755nobodyさん2008/12/02(火) 17:30:38ID:???
>>751
サービス指向と一緒にググるとよくわかる多分
0756nobodyさん2008/12/02(火) 19:21:20ID:???
helloのベンチなんて高機能FWが不利に決まってるジャマイカ
0757nobodyさん2008/12/02(火) 20:29:16ID:???
yiiって3メートル競走でフェラーリに勝ったと宣言する原付みたいだねm9(^Д^)プギャー
0758nobodyさん2008/12/02(火) 21:23:24ID:???
一応ActiveRecordやpure OOP、ドキュメントの整備なんかもウリにしてるみたい
=等の演算子にスペースをつけないとか if 〜 else で { } を省略したり ?> を書かない
スタイルだったり、ところどころに小さなこだわり(?)を感じるw
demoしか見てないけど、Controllerの記述なんかはシンプルでいい感じ。(guessworkみたい?)
簡単なWebアプリなら、ドキュメント読まなくても何とかなるかな?
0759nobodyさん2008/12/02(火) 21:47:13ID:???
ベンチって脊髄反射で熱くなるやつ多いよな
CakePHPのフォーラムとか
0760nobodyさん2008/12/02(火) 21:58:40ID:???
>?> を書かない
これは当たり前だろ…
むしろ書く方がアホ
0761nobodyさん2008/12/02(火) 22:06:13ID:???
>>759
> ベンチって脊髄反射で熱くなるやつ多いよな

ベンチに問題があることが多いからな。
0762nobodyさん2008/12/02(火) 22:16:29ID:FW3sGcTR
まあ、symfonyは重すぎるな。
0763nobodyさん2008/12/02(火) 22:27:41ID:???
>>749,753,754,756,757
I can hear the objections now:

    * “Not realistic!”
    * “Not comprehensive!”
    * “Doesn’t account for features that I like!”
    * “Who cares, I don’t need that level of responsiveness!”
    * “Doesn’t matter if Framework X is slower, I’m more productive with it!”

Yes, yes, you’re all correct. ┐(´ー`)┌
http://paul-m-jones.com/blog/?p=236
0764nobodyさん2008/12/02(火) 22:49:14ID:???
>>760
決めつける奴も(ry

------------------------------------
<?php
echo "hello\n";
------------------------------------

↑こういうの、気持ち悪くないか?そういう感覚を大事にしてる人間も結構な割合でいるぞ。
0765nobodyさん2008/12/02(火) 22:56:45ID:???
>>764
それでいくと\nが気持ち悪い。ちゃんと書こうよ。
0766nobodyさん2008/12/02(火) 23:11:14ID:???
ん?こうかな?

#!/usr/bin/php
<?php
echo "hello.\n";
0767nobodyさん2008/12/02(火) 23:13:51ID:???
>>766
そのOS依存文字〜!
\nだよ\n!!!
0768nobodyさん2008/12/02(火) 23:13:52ID:???
凄いな・・・理解して書いてないよな。
0769nobodyさん2008/12/02(火) 23:15:23ID:???
どっちも痛いけど>>767が果てしなく痛い
0770nobodyさん2008/12/02(火) 23:16:48ID:???
>>769
ホットケ
0771nobodyさん2008/12/02(火) 23:19:22ID:???
>>766でOSの違いを吸収したつもりだったけど・・・OSXなんてしらね orz
PHP_EOLってのでいいのか
0772nobodyさん2008/12/02(火) 23:26:39ID:???
>>771
Windowsはいいの?
http://side-b.sto.co.jp/weblog/archives/287
0773nobodyさん2008/12/02(火) 23:29:12ID:???
さすがPerlなんともないぜ
0774nobodyさん2008/12/02(火) 23:37:58ID:???
>>772
cygwinとかもしらね orz
(でもそれはLFでいいような気もする)
0775nobodyさん2008/12/02(火) 23:52:13ID:???
VBですら定数あったな
0776nobodyさん2008/12/02(火) 23:52:55ID:???
PHP_EOLはstr_replace(PHP_EOL,'<br />',$str)みたいな使い方するもんだろ。

PHP_EOLを出力に使うなよ。
PHPから抜け出して改行打った場合に、実行するOSによって
改行がバラけるだろ。
0777nobodyさん2008/12/02(火) 23:55:24ID:???
タブやらヌルが一種類で本当によかったよな
0778nobodyさん2008/12/02(火) 23:56:39ID:???
新説ktkr
0779nobodyさん2008/12/03(水) 00:08:32ID:???
サーバのOSでの改行コードだから、両方関係ないだろ。

hello worldでPHP_EOL
見てる人のOSで改行されるとは限らない。
スクリプトで使ってる改行が実行サーバの改行コードと同じとは限らない。

str_replaceでPHP_EOL
見てる人のOSの改行コードがサーバと同じとは限らない。
0780nobodyさん2008/12/03(水) 00:20:28ID:???
・・・見てる人?べつにブラウザ相手限定の話ではないとおもったが。
「スクリプトで使ってる改行」はPHPがなんか吸収してくれてるっぽいけどな。
LFでもCRLFでも動く。CRのみは知らないけどw
Perl CGI から移って最初のカルチャーショックはそれ。普通にLinuxマシンに
CRLFでアップロードしてるんじゃねーよって。
だから >>773 には半分だけ同意w

>>776は新説。展開に期待しよう。

ブラウザがどの文字コードでどの改行コードでフォームデータを送ってくるか、
その辺もそろそろ定義および実装してほしいもんだ。
現状、なんとなく、UTF-8のページからは(ユーザの悪意がなければ)UTF-8で
飛んでくることを期待して作ってしまうんだが大丈夫なのかな・・・。
改行コードは仕方ないから変換するけど。

スレ違いスマソ
0781nobodyさん2008/12/03(水) 00:23:14ID:???
Perlだったらjcode.plとかJcode.pmとかEncodeとかあるだろうよ。
0782nobodyさん2008/12/03(水) 00:25:19ID:???
guess して不明なら全部はねる?
まあそういう作り方もあるだろうけどね
0783nobodyさん2008/12/03(水) 00:53:25ID:???
文字コードは、RFCでサーバが出力した文字コード以外でPOSTしても
違反ではない事になってるんだな。

accept-charsetっていうのもあるけど、対応して無いブラウザもある。

被ってる領域内の文字しか無かったら判別は不可能なのにね。

実際は大抵のブラウザはヘッダの指定と同じ文字コード送ってくれるし
mb_conbertとかで優先順の1位を出力にあわせればまず平気だけども
イレギュラーなブラウザは存在する。

あとはhiddenで文字コード判別出来る文字列送るって方法もある。

英語圏なら全てctypeでOKなのにな。

RFCもブラウザ作ってる奴も文字コード増やしてる奴も爆発しろ。
0784nobodyさん2008/12/03(水) 00:57:25ID:???
イレギュラーなブラウザなんて少ないんだからそこらへんは趣味じゃない
0785nobodyさん2008/12/03(水) 03:25:54ID:???
でも、何となくいけてるだけっていうのに違いはないんだよね
まあ判別して不明なら受け入れるっていうのが慎重かつ幅広い対応なんだろうな

んで、Yiiはどこに行ったんだ。実は少し期待してるんだけど。
0786nobodyさん2008/12/03(水) 05:58:13ID:???
結局はちいたんで(ry
0787nobodyさん2008/12/03(水) 10:22:38ID:???
>>763
symfonyは他のに比べて読み込むファイルが多すぎなんだよな。
0788nobodyさん2008/12/03(水) 11:40:40ID:???
PHPFWの色々な比較みたいなのやってるサイトとかないかねぇ
0789nobodyさん2008/12/03(水) 13:57:38ID:???
>>788
なんの比較?
0790nobodyさん2008/12/04(木) 03:32:23ID:???
>>763
このソラーって奴はどうなん?
使ってる人いないの?
0791nobodyさん2008/12/04(木) 03:38:13ID:???
symfonyみたいに、自作クラスをどこにでも置ける機能を実装したFWって
他にない?
0792nobodyさん2008/12/04(木) 09:03:19ID:???
>>790
コーディングのお手本に使ってる
0793nobodyさん2008/12/04(木) 09:33:58ID:???
蒼井ソラー
0794nobodyさん2008/12/04(木) 14:09:20ID:???
>>791
kwsk
0795nobodyさん2008/12/04(木) 17:07:38ID:???
俺のソラー
0796nobodyさん2008/12/04(木) 17:17:08ID:???
>>794
symfonyはクラスをプロジェクト配下のどのファイルの中に置いていても、
勝手に検索してサーチパスを組み立ててくれるから
固定的な命名規則に気を遣う必要がない
0797nobodyさん2008/12/04(木) 20:05:14ID:???
そういうことやってるから、重くなるんだよな。
0798nobodyさん2008/12/04(木) 20:56:51ID:???
全ファイルrequireするってこと?
ものすごく愚かっぽいんだが
0799nobodyさん2008/12/04(木) 21:20:32ID:???
 sfCoreAutoload.class.php

class sfCoreAutoload
 protected $classes = array (
  'sfAction' => 'action',
  'sfActionStack' => 'action',
  'sfActionStackEntry' => 'action',
  'sfActions' => 'action',
  'sfComponent' => 'action',
  'sfComponents' => 'action',

こんなんが延々と350行もあんだぜ。
autoloaderのクラスファイルだけで3つもあるし

んで肝心のファイル読み込みは

 require($this->classes[$class]);
とか
 require($this->classes[$module.'/'.$class]);

だったら普通にPEAR/Zend/Solar系の命名規則の方がいいと思う。
0800nobodyさん2008/12/04(木) 23:53:26ID:???
>>791
だいたい、仮にもフレームワークを使っていて、外部クラスを『どこにでも』置きたいとか思わない。
そういったもの(基本拡張やvendor等外部ライブラリ)が考慮されていない糞FWは別なのかな?
0801nobodyさん2008/12/05(金) 03:23:55ID:???
>>798
クラスとファイルパスのマッピング情報はキャッシュされる
全ファイルrequireするわけではない
0802nobodyさん2008/12/05(金) 15:23:38ID:???
それでも最低40ファイル読み込まれるわけだ
0803nobodyさん2008/12/05(金) 18:19:40ID:???
APC使ったらファイル数そんなに関係なくね
0804nobodyさん2008/12/05(金) 20:37:02ID:???
>>350
コンパイルID指定すればOK
http://www.smarty.net/manual/ja/api.fetch.php
08058042008/12/05(金) 20:38:34ID:???
誤爆した
0806nobodyさん2008/12/05(金) 22:43:06ID:???
>>803
ましにはなるけどやっぱり遅い。
0807nobodyさん2008/12/06(土) 01:54:13ID:???
symfony遅いって言ってるのはレンタル鯖使ってるようなD級プログラマだろ?
0808nobodyさん2008/12/06(土) 01:58:14ID:???
負荷について考えずに済むなんてどんだけ小さなシステム運用してんだよ
0809nobodyさん2008/12/06(土) 02:18:52ID:???
いいぞもっとやれ
0810nobodyさん2008/12/06(土) 02:45:59ID:???
例えばDBからのデータをとるとき。

オブジェクトの中に保持する
$WB = new Weblog;
$WB->findById( 1 );
echo $WB->getTitle() ;
みたいなヤツと

データセットを返すやつ
$WB = new Weblog;
$data = $WB->findById( 1 );
echo $data['title'] ;

どっちが好きですか??

オブジェクト思考っぽいのは前者かなぁとか思うのですけども
後者のほうが、なんか使いやすい感じもする。
0811nobodyさん2008/12/06(土) 02:55:55ID:???
前者はActiveRecordパターン、後者はDataMapperパターンですね。
自分はDataMapperのほうが好き。
0812nobodyさん2008/12/06(土) 03:01:45ID:???
>>810
前者はActiveRecordっぽいってことになるのかな?それなら、

$WB->findById( 1 );
echo $WB->getTitle() ; // $WB->title もたぶん可
$WB->title = 'new title';
$WB->save();

とかできるメリットが結構大きいような。あんまり直接比較できないような気がする。
例えば前者でも、後者との折衷で返値を持つようにして、

$data = $WB->findById(1);
echo $data->title; // 配列で返せば echo $data['title'] も可

とかやることは可能だろうし。
08138102008/12/06(土) 03:14:49ID:???
あ、すみません。状況を書いていませんでした。
初心者教育みたいな感じで使うものです。

PHPの基礎的なこと、PHPとHTMLが混在するアレをやったあとで
実践編としてMVC的な考え方を導入しようと思っています。

Vの切り出しはわりとすんなりできるのですが
Mの例はどっちかなぁ。。という。

善し悪しは一概には言えないと思うので
いっそ、好き嫌いを聞いてみようとw
0814nobodyさん2008/12/06(土) 03:31:39ID:???
>>813
使うモノによるんだろうけど、>>810の前者の方は、「〜〜パターン」っていう思想をまず理解し、
そのライブラリのドキュメントのサンプルなんかを熟読して勉強しないと使えない気がする。
後者は、とりあえずニュアンスで使える感じ。
そんなざっくりした感想。

自分の好みはどちらかというと前者の、なんか有機的で乾いてない雰囲気でしかもよく考えられていて
またしっかり作り込まれている、っていうライブラリだけど、そんなものある程度以上は幻想な気がする
ので、どうせ中途半端になるんだからどっちでもいいやって思う。
言い方は悪いが、前者はトリッキー、後者は土方的、に感じる。
0815nobodyさん2008/12/06(土) 03:39:49ID:???
>>812

>あんまり直接比較できないような気がする。

はいw
なので好き嫌いを聞いてみようかな、と。
または感じるメリットかな?

有名そうなフレームワークを見てみましたが
どっちが優勢というわけでもないようです。
0816nobodyさん2008/12/06(土) 03:47:56ID:???
>>814
オブジェクトは実際に存在するモノ、という説明があるるじゃないですか。
それにメッセージを投げて、状態を変える、みたいな。

そうすると、前者のほうが、Weblogオブジェクトとしてより理解しやすいかな、と。
後者は、どっちかとういうとデータベースオブジェクトって感じ。


って、感覚ばっかりいってますね私。
0817nobodyさん2008/12/06(土) 14:38:17ID:???
>>810
$weblog = new Weblog();
$weblog->getTitle(); // コンストラクタ実行した直後にメソッドが死んでるってふざけてるの?
$weblog->findById(1); // 何を見つけるの?え、getTitle が生き返るの?ザオリクなの?
$weblog->setTitle('new title');
$weblog->save(); // 今の状態を永続化しますね
$weblog->findById(2);
if ($weblog->getTitle() !== 'new title') {
  // setTitle 呼んでないのになんでタイトル変わってるの?findById 呼んだせいなの?
  // findById で始まるトランザクションはどこまで続くの?野をこえ山をこえるの?
  // というか働きすぎじゃないの?コンストラクタ以上にコンストラクタ味なの?
}

そんな訳で後者が好きです
0818nobodyさん2008/12/06(土) 15:11:24ID:???
ようは、前者が参照渡しで後者が値渡しみたいな感じかな
前者でも、データセットを返す機能がほしければそういうメゾッドを実装すればいいわけで
基本的にはオブジェクトの中で簡潔してるほうがいいかなぁって気もするし
後者だけだと、なんか丸投げな感が機能不足って感じだから前者のが好みかな

ってか使用用途が微妙に違う気がする
0819nobodyさん2008/12/07(日) 00:31:50ID:???
前者も後者もドメインオブジェクトにデータベースへのアクセスロジックを持っているという点では
アクティブレコードに類似してるけど、教科書(PofEAA)にならうならfindByIdメソッドは
新たに生成したWeblogのインスタンスを返すべき。
function findById($id) {
...
$data = mysql_fetch...
$weblog = new Weblog();
$weblog->setTitle($data['title']);
return $weblog;
}
0820nobodyさん2008/12/07(日) 03:55:48ID:???
>>810のどっちかっていう話より、$obj->getTitle() が気になる
値を参照するだけならむしろ $obj->get('title') の方がわかりやすいし、場合によっては
配列使った方が楽できるような気もする
なんかこの辺の、Java風オブジェクト指向っぽいまわりくどい記述が好きになれない
0821nobodyさん2008/12/08(月) 01:26:16ID:???
>>817

ごめんなさい。例がよくなかったかもです。

もしやるなら>>819のような実装を考えております。

ご指摘のサンプルで言えば
$weblog->findById(2);
じゃなくて
$weblog2->findById(2);
という使いかたです。

メソッド名が不自然かな?
0822nobodyさん2008/12/08(月) 01:38:25ID:???
>>820
>値を参照するだけならむしろ $obj->get('title') の方がわかりやすいし

はい。
クラス変数を直接触らせないためのgetter,setterって目的だったら同じことですよね。

実は私も、それでいいんじゃないのかな?と思ったりしましたが
いろいろなフレームワークやOOPの説明を見ても
そういう実例がなかったので入れませんでした。
0823nobodyさん2008/12/08(月) 06:07:44ID:???
自分はget("title")よりgetTitle()派だなぁ
多機能メゾッドはあまり好きくない
0824nobodyさん2008/12/08(月) 10:55:37ID:???
get('title')だとエディタで補完できないし、スペル間違える可能性もあるよね
0825nobodyさん2008/12/08(月) 11:14:50ID:???
>>824
__call() での自動呼び出しとかじゃないの?全部書いちゃうの?

今はどうなのか詳しくは知らないけど、RDBのフィールド名って大文字小文字を区別しないことがあって、キャメルケースは使いにくかったように思う。
だから、いちいち login_password <=> LoginPassword みたいな書き換えが起こるってことだけでJavaっぽいのは違和感があるなー
0826nobodyさん2008/12/09(火) 00:15:24ID:???
>>824
補完したいならconst定義して
->get(BLOG::TITLE)
じゃない?
0827nobodyさん2008/12/09(火) 01:23:06ID:???
> $obj->get('title')
引数に title2 を与えたら何が返ってくるんだ?
汎用的なコンテナじゃないのだから
部品へのインターフェイス、getTitle() を用意すべき

>>826
824は静的テストでチェックできるかどうかを言いたいんでしょ
0828nobodyさん2008/12/09(火) 01:43:15ID:???
nullが返って来ればいいじゃん
0829nobodyさん2008/12/09(火) 01:51:48ID:???
DAOが扱うデータの構造を知らないなんてことはないし、
ユーザ側が直接文字列を投げ込まないといけないようなメゾッドはなんかイマイチ感
0830nobodyさん2008/12/09(火) 02:58:50ID:???
そもそも(特にPHPで実装されている)DAOがダサイっていう意見ではないのかと。
利用する側からしたら、補完機能付きエディタを使うんでなければ 'title' を 'tilte' なんて
書き間違えてあちゃーも getTitle() を getTilte() であちゃーも大して違いはない。
どっちでも例外吐こうと思えば吐けるし。
メソッド名の補完や静的チェックに関しては思想が違うとしか言いようがない。
ActiveRecordも流行の実装は自動的で動的なメソッド定義だし。そんなの静的チェック
なんて(むちゃくちゃ頑張らないと)できないんじゃ?
0831nobodyさん2008/12/09(火) 03:22:57ID:???
シングルトンやサービスロケーターは結局のところグローバルじゃないかね、ケシカラン
とか
DIコンテナって結局GoFのストラテジーじゃないか、イランイラン
とか

OOPって偉い人同士でいつもそんな事言い合ってる、と俺印象。
0832nobodyさん2008/12/09(火) 03:36:48ID:???
>>831
うむ、正しい
えらいひとがはまりやすいところ

でも分かってくると、OOPは大変強力なのも確か
0833nobodyさん2008/12/10(水) 02:22:33ID:???
cakePHPとsymfonyの違いってどんなところ?
0834nobodyさん2008/12/10(水) 03:09:07ID:???
こんなこと言う奴がいたらアホかと思うけどな
>DIコンテナって結局GoFのストラテジーじゃないか、イランイラン
0835nobodyさん2008/12/10(水) 05:29:58ID:???
これでいいだろ。
error_reporting(E_ALL);
print $row['tilte'];
0836nobodyさん2008/12/10(水) 09:01:52ID:???
>>834
http://www.infoq.com/jp/news/2007/12/does-di-pay-off
http://kohari.org/2007/08/15/defending-dependency-injection/
0837nobodyさん2008/12/10(水) 15:41:06ID:???
>>836
アホって言ってんのは >結局GoFのストラテジーじゃないか、イランイラン
の論理展開のことね。ストラテジーと似通う部分はあるにしても要らんっていうのは飛躍
0838nobodyさん2008/12/10(水) 17:21:51ID:???
ああそこか。
雰囲気を伝えたかっただけで正確に書いたわけではないのだ。
0839nobodyさん2008/12/10(水) 17:25:33ID:???
下らん議論してないで早く833の質問に答えろやゲリクソ野郎ども
0840nobodyさん2008/12/10(水) 17:34:12ID:???
>>833
すみません、おもしろい話が思いつきません
0841nobodyさん2008/12/10(水) 17:41:40ID:???
symfony使ったことない
PEARでインストール出来るみたいだけど、PEARに依存してる?
本体や拡張のどこかで PEAR.php をrequireしたりしてたりしないよね。
0842nobodyさん2008/12/10(水) 19:36:26ID:???
シンフォニー JAVA的
cake ROR的
CI PHP的

俺印象。どれも使った事は無い。
0843nobodyさん2008/12/10(水) 19:38:31ID:???
的外れでしかも使ったことがないとかなんで書き込んだのか分からん。
0844nobodyさん2008/12/10(水) 19:42:03ID:???
お前の意見を言えば
0845nobodyさん2008/12/10(水) 20:00:37ID:???
Java的とかPHP的とか例えが狂ってるだろ
使ったことがないんじゃなくて使えないんだろ
0846nobodyさん2008/12/10(水) 20:27:01ID:???
人の事いいから
お前の意見は
0847nobodyさん2008/12/10(水) 20:35:59ID:???
下らんことで荒らすなカス共
0848nobodyさん2008/12/10(水) 20:43:48ID:???
>>846
意見も何も>>842のやりたいことが意味不明だから
使ってないのに俺印象とか、何の印象だよ エスパーかよ
PHPとかJavaとかRoRとか何のカテゴライズだよ
なんでフレームワークと言語がごっちゃになってるんだよ
お前の意見は、意見は、って何が聞きたいんだよ
0849nobodyさん2008/12/11(木) 00:23:14ID:???
>>848
〜的は使った人から聞いての俺なりの印象。

クリケットは英国的
これ聞いてスポーツの話してんのに国の話して狂ってるとか言ってるのがお前。イメージ伝わらなかったらそれでいいんでスルーしろよ。

それ以上やりたいならURL指定してくれ。そこでいくらでも粘着つき合ってやる。
0850nobodyさん2008/12/11(木) 02:09:29ID:???
>>849
それどういうイメージ?
0851nobodyさん2008/12/11(木) 08:36:06ID:???
>>849
スポーツとかいきなり例えにもなっていないもの持ち出してどうすんだよ
使ったことすら無い人間と議論して何を得られると思ってるんだよ
0852nobodyさん2008/12/11(木) 08:42:59ID:???
得られた答えが使ったことない人の先入観だけとは・・
cakeとsymfony両方使った人いないのですか?
早く答えろよ、ミクロちんぽ男どもが。
0853nobodyさん2008/12/11(木) 11:13:45ID:???
yiiフォーラム、日本だけ書き込みないってのもなんか寂しいなw
0854nobodyさん2008/12/11(木) 12:00:39ID:???
きっと日本人はみんな英語のフォーラムで十分なんだよ!
と言ってみる。
0855nobodyさん2008/12/11(木) 13:11:31ID:???
yiiを試用したみたいなページが日本語であったので、参考に少し触ってみた。
viewファイルの拡張子が .php 決め打ちに見えるorz
CController.phpにハードコードしてるように見えるんだが、どこかで変えられるのかな・・・

ってのを、誰か英語で質問よろしく。
0856nobodyさん2008/12/11(木) 16:09:30ID:???
>>855
どこだろう。ぐぐったら出てくるかな?
ためしに触ってみた的なblogは一つみつけたけど
0857nobodyさん2008/12/11(木) 21:20:06ID:???
>>856
ねらーっぽい記述なら多分それ
0858nobodyさん2008/12/11(木) 23:07:29ID:???
なんだこの無茶振りしときながら上から目線
0859nobodyさん2008/12/12(金) 01:15:47ID:???
被害妄想?
0860nobodyさん2008/12/12(金) 04:32:30ID:???
>>857
あの途中からどんどんふぁびょってってるようなアレかw
なかなか面白かったけどw
他のフレームワークの使用経験も殆どないけど、yiiちょっと触ってみるかなー
せっかくだしお勉強してみよう
0861nobodyさん2008/12/12(金) 05:09:09ID:???
'urlFormat'=>'path'指定したら
 〜hogehoge/index.php/hagehage〜
みたいにはできるけど、このindex.phpもどうせなら表示しないようにしたいな
英語超苦手だけどちょっとドキュメントとにらめっこしてみるか…
0862nobodyさん2008/12/12(金) 13:27:05ID:???
>>861
それはpathinfoみてやってるんだろうね。
mod_rewriteなんかを使わないと、実行スクリプトの省略はたぶん無理。
mod_rewriteでいいなら、railsでもcakeでもZFでも何でもいいから.htaccessをパクってくればおk。
フロントコントローラ置いてるフレームワークなら大概同じ。
0863nobodyさん2008/12/12(金) 15:55:13ID:???
>>862
rewrite前提なのは理解してます
直接アンカータグ書いてURI決めうちしとけば問題ないんですが

たとえば、(略) array('label'=>'Home', 'url'=>array('site/index')), (ry)
て感じに指定してURL吐かせると /appname/index.php/site/index
といった絶対パスになるんすよ(urlFormat=>path設定しておいた場合)

なんで、これを相対( ./site/index ) とかで吐かせれないかなーと思いまして
0864nobodyさん2008/12/12(金) 17:46:15ID:???
関係ないけど、そのURLの仕組みで相対は厳しくない?
/hoge/page の絶対指定が定番だと思ってた。てかデザイナにもそう頼んでるw
0865nobodyさん2008/12/12(金) 17:59:27ID:???
そうでした。勘違いしてました
0866nobodyさん2008/12/12(金) 19:28:34ID:???
>>861
CUrlManager#showScriptName
0867nobodyさん2008/12/12(金) 21:22:48ID:???
>>866
きたこれ
ありがとう大感謝
0868nobodyさん2008/12/16(火) 10:35:42ID:tHoVMtEc
hoge.com/poge/categoryId/100
って感じのPATHINFO的パスって、一時期はSEO的な意味もあったかもしれないが
今となっては何の意味もなくね?
むしろ今となっては非本質的で気持ち悪い気ガス
0869nobodyさん2008/12/16(火) 10:43:14ID:???
俺も前からそう思ってた。
結局は&や?を/に置き換えてるだけだもんな。
グーグルとかのクローラーは知らんけど、人間が読む分には、すなおにindex.cgi?name=foo&passwd=barとやった方がわかりやすいよな。
0870nobodyさん2008/12/16(火) 10:45:25ID:???
あ、ただ、フロントコントローラーを採用してて、アクションクラス名を指定する場合は、スラッシュ区切りの部分に含めた方がいいと思う。クエリパラメーター部分は?以降でいいと思うが。
0871nobodyさん2008/12/16(火) 12:00:14ID:???
<a href="../">上のカテゴリへ</a>

とかできて便利じゃないか。

<a href="./">やりなおし</a>

とかも、パラメタが全部引っ付いてきてお得じゃないか。
0872nobodyさん2008/12/16(火) 14:05:02ID:???
意味があるならアリだと思う
けどただのパラメータを/区切りにする意味はないと思ってる
ようは>>871の言うようなことが出来ないただのデータの羅列なら素直に>>869的にやるべき
08738712008/12/16(火) 17:04:46ID:???
>>872
俺はPATH_INFO賛成派だが、

http://.../user/yamada/pass/word/sex/male

みたいなパラメタ付けは好きじゃない。

http://...../map/pref/12/

で、"../13/"で隣の県が参照できたり、"../"で都道府県一覧が
表示されるのが美しいと思う。
0874nobodyさん2008/12/16(火) 17:17:06ID:???
順序が固定されちゃうのが好かんな
0875nobodyさん2008/12/16(火) 18:01:40ID:???
>>874
>>873が言うのは、URLの見た目通りに、ディレクトリ階層っぽい作りがいいって話だろ。多分。
順番はむしろ固定しなきゃ。
0876nobodyさん2008/12/16(火) 18:05:28ID:???
>>875
そうそう。代弁ありがとう。
0877nobodyさん2008/12/16(火) 20:05:52ID:???
>>869
ndex.cgi?name=foo&passwd=baが読みやすいというのは
プログラマー的な視点だと思う。
しかもpasswd筒抜けやんw
初心者は
hoge.com/poge/categoryId/100
で区切られてる方がわかりやすい
0878nobodyさん2008/12/16(火) 20:09:51ID:???
グーグル様が(=^_^=) をよく拾うなら
俺は迷わずURLに(=^_^=) を使う

hoge.com(=^_^=) poge(=^_^=) categoryId(=^_^=) 100

URL形式はまさにグーグル様次第だ
0879nobodyさん2008/12/16(火) 20:11:17ID:???
google様的には、pathinfoとクエリで差はないんじゃね?
0880nobodyさん2008/12/16(火) 20:16:09ID:???
一度根付いた最適化をやめるのは
根拠となるデータがないとまず無理
0881nobodyさん2008/12/16(火) 20:18:34ID:???
少しでもページランクが上がるなら
顔文字でも何でも使うよ
まずクエリでも差がないという信用できるデータが欲しい
0882nobodyさん2008/12/16(火) 20:31:31ID:???
具体的には分からないが、
yahoo等の大手サイトでは、
めっきり「必然性のないpathinfo形式」を見なくなった気がする
0883nobodyさん2008/12/16(火) 20:42:43ID:???
yahooはどちらかといえばページを収集する主役の方だから
yahooのURLはSEOのお手本というより
自社都合のURL形式にしてるんじゃないかな

0884nobodyさん2008/12/16(火) 22:18:32ID:???
コントローラとアクションはセパレータじゃないと嫌だ。
ディレクトリと同じで、コントローラの中にアクションがあるっていう
入れ子関係なんだし。

ドメイン/大枠/小枠/パラメータって決まってた方が綺麗じゃん。
ユーザが、URIを削ったりした時に、indexでカテゴリーの目次に飛んだり出来るじゃん。

クエリに&使う場合って、w3cのストリクトな文法ではHTML内でリンク書く時でも
HTML2.0の頃から、本当は&って書かなきゃいけない事になってるんだぜ。
0885nobodyさん2008/12/16(火) 22:20:21ID:???
変換されちゃった。
下の&は&amp;な。
0886nobodyさん2008/12/16(火) 23:07:56ID:???
>>877
> >>869
> ndex.cgi?name=foo&passwd=baが読みやすいというのは
> プログラマー的な視点だと思う。
> しかもpasswd筒抜けやんw
> 初心者は
> hoge.com/poge/categoryId/100
> で区切られてる方がわかりやすい
name=fooなら、nameとfooが対応してるのが誰でも分かるだろう。&ってANDが文章をつなぐ単語って小学生でも知ってる。
/で区切るとどこまでがURLでどこからがクエリパラメータか分からない。
http://example.com/news/name/10で、nameがアクションクラス名なのかクエリパラメータのキー名なのか、誰にも分からない。
0887nobodyさん2008/12/16(火) 23:59:17ID:???
まあ、ちっちゃな利点を上げてみると、
http://example.com/news/name/10.html というURLだったとして、
動的に出力されているのか静的に置かれているのかも誰にもわからない。
そしてそれは、いずれ静的なファイルに置き換えてもリンクを変更する必要がない。
こういう事をいうと You Aren't Gonna Need It とか言われるのかも知れないけど、あくまで一利点として。
0888nobodyさん2008/12/17(水) 01:16:44ID:???
>>886
>name=fooなら、nameとfooが対応してるのが誰でも分かるだろう
おまえがプログラマだからだろ?
初めてPCさわったとき、URLの意味が全く不明でした
URLつかってデータ飛ばしてるということ知らなかったし
だからURLは/区切りの方が単純明快でわかりやすい
わかりやすいといっても素人的観点からのわかりやすいという意味だよ
nameがわからないとかはプログラマ視点やろ
0889nobodyさん2008/12/17(水) 01:21:40ID:???
クエリは小さいサイトならわかるかもしれんけど
yahooとかのクエリて
どんだけパラメータはいってんねん、
これ何の変数なん?てくらい
長いで
あそこまで長いパラメータなら区切てのクエリでも
変わらんわな。ロボットも長いURL拾わんやろうし
0890nobodyさん2008/12/17(水) 01:24:05ID:???
残念ながらそれはお前が低脳なだけだ
0891nobodyさん2008/12/17(水) 06:45:41ID:???
本来ディレクトリを示す記号をほかの事に使ってるというのがまず気持ち悪い
いっこ削って上の階層にいけないようならスラッシュ区切りにする意味ないとおもうわー
0892nobodyさん2008/12/17(水) 08:45:42ID:???
普通にウェブをみる分にはURLなんて意識する必要ないんだよ。リンクをクリックするだけ、ブックマークするだけなんだから、URLを見る必要はない。
携帯のブラウザなんかだと、URLが確認出来なかったりするぐらいだから。
あえてURLを見ようと思った時に、/区切りでパラメータとURLが一体になってる方がわかりやすいか、パラメータがハッキリ区別されてる方がわかりやすいか。当然、後者。
/区切りが有効なのは、昔のSEO対策ぐらいなもの。それ以外は開発者の自己満足。
0893nobodyさん2008/12/17(水) 11:19:55ID:???
でも wikipedia.org/WebProg が wikipedia.org/index.cgi?q=WebProg だったら面倒だろ。要は使いどこ
0894nobodyさん2008/12/17(水) 19:49:31ID:???
パラメータが多いときは普通両方合わせて使うだろ
0895nobodyさん2008/12/17(水) 20:58:37ID:???
>>886
URLで何を表してるか、なんじゃないかなぁ。。

そこで出てるニュースの例なら

news.php&year=2009&mon=12&day=17

よりも

news/2009/12/17

のほうが、意味あいとして分かりやすいと思うけど。
0896nobodyさん2008/12/18(木) 01:49:52ID:???
別に http://example.com/news.cgi?2008&12&18 ってやったっていい。
URL本体とクエリストリングは本来機能が違う物なのに、わざわざごちゃ混ぜにしてるところに問題がある。
しかも、mod_rewriteに頼らないと行けない。
画面とURLのマッピング表を参照しなければ、クエリストリングが取り出せなくなるのは、開発性の低下。
手間がかかるくせにメリットが少ないから、/区切りにするのはくだらないと思う。
0897nobodyさん2008/12/18(木) 01:54:25ID:???
> しかも、mod_rewriteに頼らないと行けない。

そんなことはない
0898nobodyさん2008/12/18(木) 02:07:07ID:???
どうやるわけ?
0899nobodyさん2008/12/18(木) 02:09:31ID:???
問題は、要素によってpathinfoとクエリを使い分けたいのに、
ヘルパを通すと一括してpathinfoにされることではないか。
0900nobodyさん2008/12/18(木) 02:10:07ID:???
PATH_INFOだな。
例えばnucleusのfancyモードもmod_rewirte使ってない。
0901nobodyさん2008/12/18(木) 02:16:40ID:???
もう好みの問題だな
0902nobodyさん2008/12/18(木) 02:16:47ID:???
それだとApacheに別の設定を加えないと行けないじゃん。
0903nobodyさん2008/12/18(木) 02:20:07ID:???
俺も好みだと思うよ。けど、記号が少ない分、見た目が良いぐらいしかメリットないじゃん。後はどこまで効果があるか分からないSEO対策か。
開発効率落としてまでやる事じゃないと思うけど、それがこだわりだって言われれば、そりゃ勝手ではあると思う。
0904nobodyさん2008/12/18(木) 02:21:36ID:???
>>902
.htaccessで済む。まぁ許可されていればの話しだが。

> 画面とURLのマッピング表を参照しなければ、クエリストリングが取り出せなくなるのは、開発性の低下。

フレームワーク使っているのなら、わざわざクエリストリングを直接弄るようなことはないだろうに。
>>901に同意。俺は/区切りの方がスッキリする。
0905nobodyさん2008/12/18(木) 02:31:24ID:???
意味のない区切り出なければ/で区切るのが自分の中での最適解
0906nobodyさん2008/12/18(木) 02:40:08ID:???
画像のサムネイルをキャッシュする場合は/区切りだとフェイクできるな
画像加工済みであれば、ファイルが存在するからそれを返して
まだであれば、加工して保存後それを返すって感じで
0907nobodyさん2008/12/18(木) 02:42:33ID:???
mod_rewriteだって、.htaccessで出来るだろ。
例えばhttp://example.com/news/2008/12/18だって、年月日の順で引数が渡されることを把握してなければいけない。
こんなのすごくくだらない。
func(2008,12,18)ってプロトタイプよりfunc(array(year=>2008,mon=>12,day=>18))の方がメンテナンス性の高いプロトタイプだよ。
0908nobodyさん2008/12/18(木) 02:53:47ID:???
symfonyだと名前を付けられるよ
順番変更になってもルーティング弄れば全部反映されるし
ただパフォーマンス的にコストがちょっとかかるけど
0909nobodyさん2008/12/18(木) 03:21:10ID:???
>>907
いや、>>904では、「mod_rewrite必須。でなければ、Apache別設定必要」という意見に答えたまで。

> こんなのすごくくだらない。

だからくだらないかどうかは好みの問題でいいんじゃね。
メンテナンス性も大事なのはわかるが、糖衣構文と同じで慣れもあるし。
09108952008/12/18(木) 04:24:35ID:???
>>896

うーん。。そういうのが>>877が言ってる
プログラマ的視点ってことじゃないかなぁ。。

URLは場所やリソースを表すって意味じゃ
階層的にで表現できるものは/区切りがキレイな感じがする。

year=2008&month=12&day=18
ならまだしも
month=12&year=2008&day=18
って、なんか気持ち悪くない?

RESTにちょっと興味あるからかも知れんけどw
0911nobodyさん2008/12/18(木) 07:12:11ID:???
ようやくrestという単語が

ここでクエリクエリ言ってる人はrestを一通り勉強した上で言っているのかどうか気になる

一昔前の感覚から抜けきれないプログラマさんとしか思えない
0912nobodyさん2008/12/18(木) 07:16:33ID:???
>>910
それはRESTと全く関係ないでしょう

>>911
RESTだからpathinfoってのは違うよ。
RESTだってquerystringで基本処理することは問題ない。

なにか、910も911もRESTをちゃんと勉強してから、有意義なコメントを求む。
0913nobodyさん2008/12/18(木) 09:15:43ID:???
以下、RESTバスワード問題についてに議論が移ります。
てか、本当に話題なんでもいいのなw
0914nobodyさん2008/12/18(木) 10:24:50ID:???
ZFって速いん?
低機能だから速そうではあるけど
0915nobodyさん2008/12/18(木) 10:25:11ID:???
RESTfulにするなら、階層構造を使うべきところは階層を、
そうでないところはクエリ文字列をつかうべきだよね。

なんかお前ら、どっちかしか使わないみたいな二元論にハマってないか?
使い分けてナンボでしょこういうのは。

http://.../news/08/12/18?query=money

なんて分かりやすいじゃないか。
0916nobodyさん2008/12/18(木) 10:32:53ID:???
大体、
・ステートレス
・PUT、DELETEを使え
って時点で、RESTfulにこだわってたらWEB APIは作れても普通のWEBアプリは無理だろ。
大体、RESTって認証はどうするんだ?ステートレスってぶっちゃけGET以外は非現実的じゃないの?
参考にするのはいいが、どうせRESTfulにはならないんだし、URLも違う視点でいいよね。
0917nobodyさん2008/12/18(木) 10:37:23ID:???
http://sourceforge.jp/magazine/08/12/08/0347234
最適化したブートストラップファイル「Yiilite」を利用時、1秒当たり最大427のクエリを処理できるという。

サーバのスペックも書かずにこの数字って
何か意味あんのか???
0918nobodyさん2008/12/18(木) 10:53:23ID:???
>>916
REST的概念にしたがってコードを書くことをRESTfulって言わないの?
RoRとかRESTful謳ってるけど?
>>917
select 1;
0919nobodyさん2008/12/18(木) 12:00:09ID:???
>>918
RoRのRESTは
PUT・DELETE → JavaScriptで疑似リンク作成(POSTだけどhiddenでメソッド種別埋め込み、サーバ側で処理)
ステートレス → 棚上げ?

フレームワークレベルで頑張ってるみたいね。
そこまでやるんならURL(URI)も頑張ってRESTfulにすればいいんじゃね?
↓こんなのもあったw
http://www.nicovideo.jp/watch/sm3823700
0920nobodyさん2008/12/18(木) 12:09:43ID:???
>>919
scaffoldはそうなってんじゃね?
Ruby詳しくないから深く突っ込めないけど。
0921nobodyさん2008/12/18(木) 12:11:30ID:???
CRUDと混同してたorz
0922nobodyさん2008/12/18(木) 16:01:51ID:???
>>910
海外じゃじゃ12/18/2008って日付表記もメジャーだよ。12や18が何を意味するのか、コードの中を見ないと判断つかない。
0923nobodyさん2008/12/18(木) 18:38:36ID:???
でもURLでその順で表記することはまずありえないよなw
2008年のなかの12月のなかの18日〜みたいに書かないと階層化になんないし
0924nobodyさん2008/12/18(木) 20:21:57ID:???
yiiってpdoベースだけど、pdoって何かバグあったよね?
0925nobodyさん2008/12/18(木) 21:13:55ID:aX375k2z
ないよ
0926nobodyさん2008/12/18(木) 21:50:37ID:???
あったよ
0927nobodyさん2008/12/18(木) 21:52:38ID:???
なんだっけ
0928nobodyさん2008/12/18(木) 21:55:14ID:???
ほら、あれだ
0929nobodyさん2008/12/18(木) 21:56:58ID:???
タグ理解www
0930nobodyさん2008/12/18(木) 22:15:38ID:???
pdo 不具合 に一致する日本語のページ 約 8,080

何この糞ライブラリ
0931nobodyさん2008/12/18(木) 23:09:41ID:???
ここは呆け老人の巣か?w

てのはいいとして、>>930
GoogleかYahooか知らんが、

 PDO 不具合 (7,850) / PDO (346,000) ・・・ 2.27%
 PEAR DB 不具合 (9,470) / PEAR DB (115,000) ・・・ 8.23%
 PEAR MDB2 不具合 (3,440) / PEAR MDB2 (45,000) ・・・ 7.64%
 
 JDBC 不具合 (39,700) / JDBC (161,000) ・・・ 24.65%
 ODBC 不具合 (37,400) / ODBC (411,000) ・・・ 9.10%

 (上記全てGoogle 日本語ページ)

むしろ優秀じゃね?そうでなくても、ただ単に普及率や話題性が数字で出てるだけじゃねーかと。
JDBCがなんか笑えるけどなww
0932nobodyさん2008/12/19(金) 00:29:20ID:???
まぁ、不具合の話題にPDOその他の話題が含まれてる、みたいな
全く関係ないヤツが殆どなんだけどな
0933nobodyさん2008/12/19(金) 01:19:55ID:???
まぁ確かに不具合もあるだろうよ。
今度PHPとSQL Serverなんだが、PDO_DBLIBの完成度とか微妙そうだ。
今からgkbrだ。
0934nobodyさん2008/12/19(金) 12:14:17ID:???
クエリて基本的にPOSTで飛ばしたときのパラメータデータと認識してるのだが。。。
GETで飛ばした場合はクエリとはいわない
0935nobodyさん2008/12/19(金) 12:20:32ID:???
何その思い込み
0936nobodyさん2008/12/19(金) 12:24:34ID:???
これはまた斬新な説だな
09379342008/12/19(金) 12:29:07ID:???
俺の場合はソケットプログラミング的発想だからな
09389342008/12/19(金) 12:52:28ID:???
なんだか俺の間違いくさいからクエリの話はもう終わりにしよう
0939nobodyさん2008/12/19(金) 13:53:30ID:???
>>938
そもそもそれの事をクエリと呼ぶのが間違い。
ちゃんとクエリ文字列とかクエリストリングと言いなちゃい。
0940nobodyさん2008/12/19(金) 21:43:46ID:???
アクセス解析の効率はURL決定に影響しないのじゃろか
0941nobodyさん2008/12/19(金) 21:47:53ID:???
確かに、クエリパラメータが順不同になる様な状態なら、アクセス解析の効率は落ちそうだねえ。
でもそれが設計にそれほどの影響を与えるかどうかは・・・正直そこまで気にしてらんねwとか
0942nobodyさん2008/12/20(土) 03:11:01ID:???
順不同だと効率が落ちる?頭イカれてるのですか
0943nobodyさん2008/12/20(土) 03:25:26ID:???
Apacheのログ解析みたいな処理の場合、頭から順にパス区切りでページが特定できる方が、
効率よさそうな気はするが。
list.php?q=hoge&page=2&cate=3とかなってるより、
list/cate/3?page=2&q=hoge の方が楽そうだなーとかは感じる。
実際はどうかわからんけどな。
0944nobodyさん2008/12/20(土) 03:45:04ID:???
気がする(笑)
0945nobodyさん2008/12/20(土) 04:23:39ID:???
symfony以外のカスFWってエラー時のスタックトレース画面がショボいよねw
0946nobodyさん2008/12/20(土) 11:09:04ID:???
>>943
気がするではなく自明だろとか書くと、仮に大嘘でもそのまま飲み込む奴は出てくるんだけどな
書き方としてはその方が2ch向きかな
0947nobodyさん2008/12/20(土) 11:41:11ID:???
>>946
それは>945見たい書き込みのことか?
0948nobodyさん2008/12/20(土) 18:52:04ID:VXNsKNQ0
アクセス解析くらい自作しろよ。効率化とかしょぼい解析つかってるのかな
0949nobodyさん2008/12/20(土) 19:40:14ID:???
>>948
車輪の再発明
0950nobodyさん2008/12/20(土) 23:49:25ID:???
自作(笑)
0951nobodyさん2008/12/21(日) 00:10:34ID:???
アクセス解析を作るとしたら、
Google Analyticsでは対応できなくなったときだな。

アクセス数が少ないやつがアクセス解析を作ると
一人ひとりのアクセスしたページの履歴を見れるとか
わけのわからない機能を作りそうw
0952nobodyさん2008/12/21(日) 00:20:56ID:???
アクセス解析ですが、自分のサイト内を移動するユーザーの様子は、
リファラー情報をDBに保存して集計していますか?
0953nobodyさん2008/12/21(日) 00:28:37ID:???
GoogleでiGoogleアカウント作ると検索履歴をすべて保存される。
しかも頑張らないと消せないぜ。
0954nobodyさん2008/12/21(日) 05:35:57ID:???
IPアドレスごとの検索履歴なら
昔から永久保存してるよ
0955nobodyさん2008/12/21(日) 22:53:57ID:V1c8MsfO
アクセス解析自作とかどんだけ
0956nobodyさん2008/12/21(日) 23:34:59ID:???
cgi?password=

コードが全てを物語ってるじゃないか。
相手にする価値無いだろ。
0957nobodyさん2008/12/21(日) 23:36:57ID:???
>>956
何の話?
0958nobodyさん2008/12/22(月) 02:31:00ID:???
どこがフレームワークの話?
0959nobodyさん2008/12/22(月) 06:22:15ID:UnYE/VzJ
CakePHPのアソシエーションでInner Joinを利用してレスポンス速度を向上
http://blog.katsuma.tv/2008/12/inner_join_on_cakephp.html

インナージョインとレフトジョインて別物だし、
簡単にテレコにできるもんじゃないよね?
これってどういうことなん?
0960nobodyさん2008/12/22(月) 06:49:37ID:???
ってかレフトジョインてそんなに遅くなるの?
今作成してるサイト、テーブルいくつもレフトジョインしてるんだが・・・
0961nobodyさん2008/12/22(月) 08:10:23ID:???
そんなもんRDMS依存だろ。
0962nobodyさん2008/12/22(月) 08:19:55ID:???
程度の違いはあれ、LEFT の方が遅い。
それより、CakeのモデルでINNERにできるところをLEFTにしてるとしたら
(たぶんそういうことなんだろうけど)ちょいとお粗末すぎる希ガス
0963nobodyさん2008/12/22(月) 08:23:10ID:???
レフトジョイン→インナージョインにして問題ないのって
接続対象が0にならない場合だけでしょ
タグっぽいの駄目だし使いどころなさそう
0964nobodyさん2008/12/22(月) 08:29:38ID:???
>>963
LEFTじゃなきゃだめなところをINNERにして動作に異常がないわけはないんで、
普通にINNERでよいところをLEFTにしてるかどうかが問題なんじゃない?
0965nobodyさん2008/12/22(月) 08:37:43ID:???
ナルホド
0966nobodyさん2008/12/22(月) 10:10:57ID:???
>>959
NULLが出来るクエリなんてキモチワリーってことなんじゃない?
ちゃんと設計してあればLEFT JOINなんてそんな使わないよ。
0967nobodyさん2008/12/22(月) 10:33:27ID:???
解析プログラムはアーチンで
1日で3Gくらいのログファイルを想定してた
ディレクトリ毎にアクセス状況を表示出来るので、そちらのがディレクション側にも理解し易いかなとか
GETで渡ったパラメータも項目別に出るけど、ページ検索だか訳判らん表現に

まぁ機能以外のつまらん理由で仕様が決まる事もあるねー
以上の話題にならんかったな
0968nobodyさん2008/12/22(月) 10:38:37ID:???
スレチかもだけど、流れ乗じて聞いてみる。
LEFT JOINの方が遅いとか、その辺の知識が弱くて困ってるんだけど、
その辺を学ぶのにいい情報源ないですか?
CRUDなSQLは一通りかけるけど、JOINなんかは解説サイトを鵜呑みにして、
とりあえず出来てるレベル。
もうちょっとしっかりとした知識を身につけたいところ。
0969nobodyさん2008/12/22(月) 10:45:12ID:???
>>968
LEFT JOINの方が遅いという一般的な事象については、RDBMSの内部動作の基本を
理解していれば、自明。RDBMSの基礎理論を扱ったドキュメントになら書いてあるでしょう。
RDBMSのドキュメントに結合の最適化やINDEXの使われ方、処理フローに
ついて書いてあることもある。そこは運だな。
0970nobodyさん2008/12/22(月) 11:10:29ID:???
>>969
難しいな。
0971nobodyさん2008/12/22(月) 11:19:09ID:???
あえてお勧めの書籍やどのRDBMSのドキュメントかなどを記さないスパルタな>>969
0972nobodyさん2008/12/22(月) 11:34:07ID:???
うーん、答えるのも難しいね
ttp://www.inter-office.co.jp/contents/157/
たとえば、ここにベンチ出てるんだけど、前のアイテムでLEFT JOINして性能が1/3になってるという話。
ただ、これは一般的に1/3になるというのではなく、LEFT JOINするときにどのくらいNullになるレコード
があるかによって速度は全然違うから、完全な比較はできない。
そもそも、使い路の違うものを速度比較っていう考え方自体がないんだよね。

0973nobodyさん2008/12/22(月) 11:44:52ID:???
そりゃ1枚のテーブルに入ってる方が早いだろうけど、メンテナンス性が悪くなるじゃん。1日何百万PVもあるようなサイトなら、別の考え方もあるんだろうけどな。
0974nobodyさん2008/12/22(月) 12:01:34ID:???
1枚のテーブル?
あんまり関係ない希ガス

0975nobodyさん2008/12/22(月) 12:07:14ID:???
>>973
1枚のテーブルを分割したいんならID振ってINNER JOINすればいいじゃん。
0976nobodyさん2008/12/22(月) 12:13:33ID:???
大規模なウェブサイトは極力ジョイン使うなってよく紹介されてるだろ。ジョインそのものの話。
0977nobodyさん2008/12/22(月) 16:22:33ID:???
大規模サイトでも、テーブルを非正規化するのはほどほどにしておいて、
なんでもかんでもコンテンツはキャッシュにぶちこんで、
検索が必要な場合は専用のインデックスにでも(RDBMSじゃなく、いやRDBMSでもいいけd)放りこめ!って
やりかたがイマドキはアレな気がする。

チューンしたSQLは一発書いたら使いまわしのできないコードだし、
コンテンツキャッシュがちゃんとしてれば大方はそっちの方が数字は速いし、
フレームワークなんかにも組み込みやすいし、なのでまぁそういう流れなんだと思う。
大規模サイトっつってもいろいろあるだろうけどさ。
0978nobodyさん2008/12/22(月) 16:30:59ID:???
> やりかたがイマドキはアレな気がする。

アレってなに
0979nobodyさん2008/12/22(月) 22:30:57ID:???
INNER JOIN談義に花が咲く…LEFT JOINを多用していたので参考になります。^^
0980nobodyさん2008/12/22(月) 22:54:57ID:???
そもそも、INNER JOIN と LEFT JOIN は意味が違う。
0981nobodyさん2008/12/22(月) 23:01:35ID:???
>>976
> 大規模なウェブサイトは極力ジョイン使うなってよく紹介されてるだろ。ジョインそのものの話。
知識では知っていたが、最近実感した。

JOINにかかる速度というより、
一般的にSQLを実行したとき、条件やソート処理も一緒に行う。
条件やソートにインデックスがうまく使われれば速いが、
そうでない場合大幅に速度が遅くなる。

インデックスはRDMSによるが、一つのSQLで一回しか使われなかったりと
使われない場合がある。
JOINが絡むと結果的に複雑なSQLになり、インデックスをうまく使うのが難しい。
だからJOINを使った複雑なSQLを書くのではなくインデックスを使った
単純なSQLを複数回発行するほうが良い。
0982nobodyさん2008/12/22(月) 23:24:29ID:???
そりゃjoinしないで済むならしないけど仕方ないじゃん
1対多とか多対多を一つのテーブルでやるなんて無理ぽ
0983nobodyさん2008/12/22(月) 23:27:21ID:???
>>977

>検索が必要な場合は専用のインデックスにでも

そうそう。Luceneみたいにインデックスに特化させたシステムを別に走らせて
DBからはデータだけを取ってくる。ページはキャッシュしとく。
0984nobodyさん2008/12/23(火) 00:09:01ID:???
>>959
UserとProfileが一対一の関係で
しかも、
Userレコードに対応するProfileレコードが必ず存在する
という前提でないとINNER JOINは使えないと思う。

Userテーブルにたくさんデータがあって、Profileテーブルが空の場合、
$this->User->find('all');
としても、データが返ってこないことになる。

この場合CakePHPだとNULLになるのかな。
0985nobodyさん2008/12/23(火) 00:10:53ID:???
多対多は何も考えずにJOINで表現すると激重になるらしい
といって、インデックス?のシステムを利用してどう表現するのかよくわからない
うー頭が悪い

テーブル[A]: 1:太郎 2:花子 3:ジョニー
テーブル[B]: a:バナナ b:メロン c:マンゴー
テーブル[C]: 1-a, 1-b, 2-b, 2-c, 3-a, 3-c

こうすりゃJOINなんか使わなくていいんだぜ!ってのがあるのならだれか教えて下さい。
それとも、こんなのなら迷わずINNER JOINでいいのかな・・・
件数が少なけりゃ、例えばメロンが好きな人!ってので、テーブルCから名前キーを
取得して、テーブルAから IN (1, 2) とかでセレクトできるけど・・・そういうことするんでしょうか?

てか、PHPかDBの初心者スレいった方がいいかな;_;
0986nobodyさん2008/12/23(火) 00:31:22ID:???
DBは切り離せない存在だけど
PHPに限ったことじゃないし、DB系のスレにいったほうが
多くの情報は集まるんじゃないかなって気はするねー

っと、そろそろ次スレだね
0987nobodyさん2008/12/23(火) 00:37:12ID:???
【PHP】フレームワークについて語るスレ12【総合】
http://pc11.2ch.net/test/read.cgi/php/1229960175/
0988nobodyさん2008/12/23(火) 00:37:35ID:???
>>976
Google App Engineはjoin禁止
0989nobodyさん2008/12/23(火) 01:23:39ID:???
>>985
JOINはしないほうがいいって言ったけど、
それはできるのならってことで、
JOINしたほうが自然な場合はしていいよ。

SQLパズルとでも言うべきな、
なんたらをgroup byした結果となんたらを結合して〜なんて
ややこしいのはやめたほうが良いって話。
0990nobodyさん2008/12/23(火) 01:28:23ID:???
ベンチが全てじゃね
0991nobodyさん2008/12/23(火) 01:33:12ID:???
              (⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒
              (    俺の生活範囲って
            Ο(   ベンチが全てじゃね
          ο   〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
         。
        ∧_∧
___/⌒(l|l・∀・)_
    / |  |    ノ |  |
   |  |  | / |, |  .|
__|  |  | \ .| _|_|
   ヽ、(_二二⌒)__). \
____|  | \二 ⌒l.  \
     |  | ̄ ̄ |  | ̄ ̄||
     |  |    |  |   .||
     |  |_   |  |_  .||
     (__)  (__)  ||
0992nobodyさん2008/12/23(火) 11:05:21ID:???
>>991
ダンボールもないのかよ(w
0993nobodyさん2008/12/23(火) 13:09:17ID:???
      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴ……!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,
      //三/|三|\       ,,,,    ,,、,、,,,
      ∪  ∪
  ,,          ,    ,,,,    ,,、,、,,,       ,,、,、,,,
,,,,,    ∧_∧ うまいモナー,,,,,   、 ,,,,,,   ,,,,,,,,    ,,,,,
 ,,,   ( ´∀`)___,,,,___ ,, ∧_∧ ゲンキニ シテルカナ・・・___,,
  / ̄ ( つ日ヽ   ∧_∧    (    )               /
/    (__))   (´∀` )   (    )    ∧_∧∧_∧ / マターリモナー
 ∧_∧∧_∧ドーゾ (日ノ )  | | |    ( ´∀`) ´∀`)
 ( ´∀`) ´∀`)    ((__)  ,(_(_) (○)⊂   ) つ日⊂ ) モーナー
―(つ⊂  ) つ⊂ )―――――――――――ヽ|〃(⌒)(⌒) (⌒)(⌒)
   (⌒)(⌒) (⌒)(⌒)グーグー
0994nobodyさん2008/12/23(火) 20:56:43ID:???
>>991
すごいコピペですねw
WebProg専用のAAでしょうか?(・∀・)
0995nobodyさん2008/12/23(火) 20:59:00ID:???
>>994
普通にベンチでぐぐって見つけたw
0996nobodyさん2008/12/23(火) 21:14:32ID:???
ume-
kono mikan
0997nobodyさん2008/12/24(水) 02:34:56ID:???
ふみだい
○| ̄|_ OTL on_ 。,、 .
0998nobodyさん2008/12/24(水) 10:42:47ID:???
うめ
0999nobodyさん2008/12/24(水) 10:43:00ID:???
うめ
1000nobodyさん2008/12/24(水) 10:43:05ID:???
【PHP】フレームワークについて語るスレ12【総合】
http://pc11.2ch.net/test/read.cgi/php/1229960175/
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。