トップページphp
994コメント273KB

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2008/12/23(火) 00:36:15ID:???
PHPのフレームワークに関する話題用のスレッド

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

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

●前スレ
【PHP】フレームワークについて語るスレ10【総合】 ※実質11
http://pc11.2ch.net/test/read.cgi/php/1219581817/
0824nobodyさん2009/03/08(日) 10:50:02ID:???
>>823
例えば配列からある数値をスキャンする程度の場合、C++だったらゴリゴリ書くだろ。
PHPはその程度のアルゴリズムを知らなくても使えるからな。

それ言ったらPerlのCPANの充実度もPHPのPEARより上だし。多分。
0825nobodyさん2009/03/08(日) 11:42:51ID:???
>>824
> C++だったらゴリゴリ書くだろ
そこまでプリミティブなものまでいちいち書くのか?
標準ライブラリとか使わないの?
0826nobodyさん2009/03/08(日) 11:53:18ID:???
>>824
long la[N];
long* lp = find(la,la+N,12L);
if ( lp != la+N ) {
// 見つかった!
}

C++でアルゴリズムなんか知る必要はありません。
0827nobodyさん2009/03/08(日) 11:57:57ID:???
まったく関係ないが、C++ってPerlより記号多いというか暗号っぽいことあるよな
0828nobodyさん2009/03/08(日) 11:58:53ID:???
C++書いてたの15年近く前だからなぁ・・・状況が変わったのか、俺が間違ってたのか。
サンクス。
0829nobodyさん2009/03/08(日) 12:44:23ID:???
C++はBoostとSTLを使いこなせれば超強力。
ただ黒魔術的ではある。C++0xになるともう...
0830nobodyさん2009/03/08(日) 14:12:48ID:???
PEARって全然使われてないだろ。CPANとは比べもにならない。そもそも、PHPの場合、組み込み関数ですべて出来ることが売りなんだから。
0831nobodyさん2009/03/08(日) 14:49:59ID:???
組み込み関数ですべて出来ることが売りなんだから。
組み込み関数ですべて出来ることが売りなんだから。
組み込み関数ですべて出来ることが売りなんだから。
組み込み関数ですべて出来ることが売りなんだから。
組み込み関数ですべて出来ることが売りなんだから。
組み込み関数ですべて出来ることが売りなんだから。
組み込み関数ですべて出来ることが売りなんだから。
組み込み関数ですべて出来ることが売りなんだから。
組み込み関数ですべて出来ることが売りなんだから。

え?
0832nobodyさん2009/03/08(日) 15:15:21ID:???
エスケープ一つ取ってもお任せにできないことが多いから
0833nobodyさん2009/03/08(日) 15:49:27ID:???
Perlなんかだと、CPANのモジュールがインストール出来ないと、使い物にならない。
で、シェルが開放されてるレンタルサーバじゃなければ、モジュールのインストールは難しい。
0834nobodyさん2009/03/08(日) 16:00:49ID:???
PHPerは全員LISPが使えるようになろう!
0835nobodyさん2009/03/08(日) 16:54:26ID:???
>>833
は?
0836nobodyさん2009/03/08(日) 16:59:47ID:???
>>833
コンパイル必要なXSモジュールが無ければ、
extlibとかに突っ込んでまとめて配布すれば大丈夫だよ。
MovableTypeとかが現にそうやってる。
0837nobodyさん2009/03/08(日) 17:35:45ID:???
たまたま読んだんだが、
WEB+DB PRESSのVol.48のモダンプログラミング入門という特集が、
今のこのスレの流れに合ってる気がする。
気が向いたら読んでみて。
0838nobodyさん2009/03/08(日) 17:39:02ID:???
UPしてくれ
0839nobodyさん2009/03/08(日) 17:52:58ID:???
コピペでもおk
0840nobodyさん2009/03/08(日) 20:35:02ID:???
>>836
> >>833
> コンパイル必要なXSモジュールが無ければ、
それが致命的な問題だろ。
0841nobodyさん2009/03/08(日) 20:52:18ID:???
>>838
WEB+DB PRESS総集編[Vol.1〜48]
がでたら読んでみるw

前回の総集編、Vol.1〜36の
発売日が2007年3月30日発売だから
もうすぐだよな?
0842nobodyさん2009/03/08(日) 22:37:10ID:???
W+Dはバックナンバーが役に立たないというわけじゃないけど新しいうちに読んだ方が面白いよ
・・・と言いつつ自分はvol.46〜48を積んでる
0843nobodyさん2009/03/08(日) 22:57:06ID:???
出版社さん宣伝乙
0844nobodyさん2009/03/09(月) 02:47:11ID:???
$_REQUESTがあるのにわざわざオブジェクトでRequestとか作るFWってあほなの?
0845nobodyさん2009/03/09(月) 02:54:46ID:???
>>844
毎度毎度、
$value = isset($_REQUEST['value']) ? $_REQUEST['value'] : DEFAULT;
ってするのもアホっぽいが。
0846nobodyさん2009/03/09(月) 05:07:06ID:???
オブジェクトにするメリットもあるにはあるが、ほとんどの場合、$_REQUESTで十分なんだよな。
$req = array_merge(array('key1'=>'DEFAULT1','key2'=>'DEFAULT2'),$_REQUEST)
0847nobodyさん2009/03/09(月) 08:05:45ID:???
>>844
そのあほなFWのリクエストオブジェクトは$_REQUESTを格納してるだけなの?
他に仕事してないんならアホだわ。
0848nobodyさん2009/03/09(月) 08:32:04ID:???
ほとんどは、>>845のnotice避けと、magic_quotes対策だろ。

>>846
$get = array_merge(array('key1'=>'DEFAULT1','key2'=>'DEFAULT2'),$_GET)
$post = array_merge(array('key1'=>'DEFAULT1','key2'=>'DEFAULT2'),$_POST)
$cookie = array_merge(array('key1'=>'DEFAULT1','key2'=>'DEFAULT2'),$_COOKIE)
$req = array_merge(array('key1'=>'DEFAULT1','key2'=>'DEFAULT2'),$_REQUEST)

って毎回書くよりはスマートってことだろ。十分なメリットだよ。
あと、$_REQUESTってCookieも入るよね。やや乱暴な気がするので、Cookieだけ除外するとか
0849nobodyさん2009/03/09(月) 08:36:24ID:???
リクエストごとに初期化する処理に、$req = array_merge(array('key1'=>'DEFAULT1','key2'=>'DEFAULT2'),$_REQUEST)を1行書いておけばいいだけ。
もっとも、毎回isset($_REQUEST[''])で確認とっても構わないと思うけど。俺はそうしてるし。
せっかく$_REQUESTとか$_SESSIONみたいな便利なものがあるのに、余計なラッパーは要らない。
0850nobodyさん2009/03/09(月) 08:46:53ID:???
> 1行書いておけばいいだけ
そして global $req ですね、わかります。

グローバル変数なり関数なりを使いたくないなら、悪いことは言わないから
クラスなりオブジェクトなりにしておけ。使いたいなら何も言わんが。
0851nobodyさん2009/03/09(月) 09:30:49ID:???
>>849
>$req = array_merge(array('key1'=>'DEFAULT1','key2'=>'DEFAULT2'),$_REQUEST)を1行書いておけばいいだけ。
これだからPHPerは。。。
0852nobodyさん2009/03/09(月) 09:44:23ID:???
>>851の説明を待ちましょう。
0853nobodyさん2009/03/09(月) 10:52:58ID:???
さすがクソコーダの考えることは違うな
0854nobodyさん2009/03/09(月) 10:59:02ID:???
>>852
0855nobodyさん2009/03/09(月) 11:04:16ID:???
どうしてもオブジェクトで表現したいときだけ、$obj = new Klass($_REQ)ってやればいい。
どうやったところで、$_REQには単純なスカラ変数(たまに配列)しか入ってないんだから。
Perlなど他の言語のように、自前でクエリストリングを取り出す処理を実装しなければいけないなら、初めからオブジェクトにしてもいいかもしれないけど。
0856nobodyさん2009/03/09(月) 11:13:35ID:???
なぁなぁ、それでどのFWのリクエストオブジェクトがそんなに糞なわけ?
参考までに教えてくれ
0857nobodyさん2009/03/09(月) 20:31:50ID:???
>>851
説明はまだか?
0858nobodyさん2009/03/09(月) 22:56:56ID:???
>>857
説明しないと分からないんでちゅか?
0859nobodyさん2009/03/09(月) 23:44:57ID:???
説明できないときのいいわけかよw
0860nobodyさん2009/03/09(月) 23:52:09ID:???
>>849はフレームワークを使ったことはあっても、フレームワークのソースは読んでないんだな。たぶん。
0861nobodyさん2009/03/09(月) 23:53:01ID:???
WhatじゃなくてHowがむき出しのダサダサコードだって言いたいんだろうけど、PHP使うような程度ならこれでいいんじゃね?
0862nobodyさん2009/03/09(月) 23:59:31ID:???
それは、フレームワークを使うか使わないかという段階での振り分け。言語の問題じゃない。

それに、>>849にクスクス笑いが起きるのは、デフォルト値実装の意味がわかってないからだよ。
0863nobodyさん2009/03/10(火) 08:31:56ID:???
PHP(mod_php)自体がグローバル変数を使い回すように設計されてる。
0864nobodyさん2009/03/10(火) 09:12:31ID:???
でっていう
0865nobodyさん2009/03/10(火) 12:45:37ID:???
フレームワーク覚えたいのですけど
シンプルなフレームワークありませんか?
デザイナーとプログラマが分離して作業できればいいんですが
0866nobodyさん2009/03/10(火) 12:56:40ID:???
ちいたん
0867nobodyさん2009/03/10(火) 18:09:37ID:???
>>865
コードイグナイタ使っとけ。
0868nobodyさん2009/03/10(火) 21:34:04ID:???
YiiFrameworkはソースの中で$_POSTをじかにアクセスしてるな。
ドキュメント見てて少し意外だった。
mojavi2ですらrequestオブジェクトだったというのに・・・。
0869nobodyさん2009/03/12(木) 17:45:05ID:y65Mhsc8
PHPのFWに、ページ遷移のテストの機能を持ったものってありますか?
0870nobodyさん2009/03/12(木) 20:12:27ID:???
具体的にどういうこと?
0871nobodyさん2009/03/12(木) 22:29:23ID:???
フレームワーク使いたいんですがcakePHPか
国産のフレームワーク使うか迷っています
国産のフレームワークとかどうですか?
0872nobodyさん2009/03/12(木) 22:31:15ID:???
RoRみたいなことがしたいならケーキ焼いてろ。
0873nobodyさん2009/03/12(木) 23:09:56ID:???
国産のどのフレームワークだよ
0874nobodyさん2009/03/12(木) 23:19:51ID:???
>>869
諦めてPerlにしましょう。
0875nobodyさん2009/03/13(金) 01:50:59ID:???
ちいたんだろ
0876nobodyさん2009/03/13(金) 02:26:04ID:???
ページ遷移のテストって、どういうのかハッキリ分からないけど、Perlのフレームワークにそんなのあったっけ。CatalystとCGI::APPぐらいしか使ったことないけど。
0877nobodyさん2009/03/13(金) 10:29:47ID:???
国産フレームワークってどれがいい?
いずれcakePHPをやろうと思っています
0878nobodyさん2009/03/13(金) 10:47:04ID:???
>>877
まず国産にこだわる理由を書くと、それなりの意見や感想レスも出てくるかと。
いずれって事は、今は何を使ってるの?その辺も。
そこいらを書かないと実のある質問ではほとんどないと思う。
0879nobodyさん2009/03/13(金) 11:08:51ID:???
>>878
まずは、国産、つまり日本語で丁寧に解説されているのを
やってみようと思いました。英語わからないですし
PHPのフレームワークとはいえ、何かにつまづくかもしれないですし

今は何も使っていません。rubyのフレームワークを使って挫折しました。
サーバにアップロードするだけで使えるPHPを勉強して
今、そろそろフレーム段階に突入したところです。

それほど難しいのはいらないので、cakePHPに興味があります
その前に国産使おうとしました
国産の種類の適正を知りたいです
0880nobodyさん2009/03/13(金) 11:19:10ID:???
それなら、あくまでも私見だけど、いきなりcakePHPで問題ない、と思う。
日本語の解説は、国産(現役はEthnaくらいか)より遙かに多かったりする。

あと、これはどのフレームワークにも言えることだけど、「どう使うのか」の部分では
解説やリファレンスが役に立つが、「どうなってるのか」の部分では、最終的には
ソースを読むしかないので、シンプルに書かれているフレームワークも触ってみると
いいかも。CI(Kohanaの方がいい?)とか、ちいたんwとか
0881nobodyさん2009/03/13(金) 11:31:43ID:???
ちいたん、って何かの罠なんですか?
0882nobodyさん2009/03/13(金) 11:37:52ID:???
>>879
ZFの方がお勧め
0883nobodyさん2009/03/13(金) 12:52:43ID:gvTYRnry
デザインとプログラムを分けて制作したいのですが
cakePHPは表示するのにデータベースを使うみたいで困ってます
データベースなしで使えるフレームワークがございましたら教えてください
0884nobodyさん2009/03/13(金) 13:46:06ID:???
cakePHP以外全部
0885nobodyさん2009/03/13(金) 13:51:29ID:???
表示にDBを使うって何に使ってるの?
0886nobodyさん2009/03/13(金) 19:09:47ID:???
>>883
それはあなたの思い込み。

さすがのcakePHPもDBをつかわないとHelloWorldも書けないとか、そんな終わっている仕様ではない。
0887nobodyさん2009/03/13(金) 19:11:45ID:???
>>879
国産FWでドキュメントがきっちりしてるのってEthnaしかないと思う。
EthnaのコミッタまでCakePHPを使い出してるらしいから、
もうだいぶ終わってる感があるけど・・・。

symfonyもCakePHPも日本語のドキュメントは充実してますよ!
0888nobodyさん2009/03/13(金) 19:44:23ID:???
前任者がmojavi2で作ったシステムのメンテしててずっとPHP4で
来てるんだけど、いい加減にPHP5以降を考慮してフレームワーク
移行かもしくはmojavi2のソースいじるかどうしようかと思案中。

mojavi2からシフトしやすいFWってどれがいいですかね。
どのみち多少のコード書き換えは発生するんだしと考えると
リセットして今後の運用のみ考えて選定したほうがいい気もするし・・・・

ちなみにシステムはとある業界の業務用アプリで大雑把に
ソースファイル数で2000近くある。当初2,3百ファイル程度の
規模だったのが客の要望にこたえているうちに雪だるま式に
膨らんでしまった。
規模がもう少し小さければ書き直すんだけど・・・

あと前任者はドロップアウトしてもう居ません(泣
0889nobodyさん2009/03/13(金) 19:52:48ID:???
>>888
やっぱりsymfonyでしょう
もう大分原形とどめていないとはいえ、mojavi3ベースだし
0890nobodyさん2009/03/13(金) 20:11:12ID:???
さあ、お前の代からRoRにするんだ。
0891nobodyさん2009/03/13(金) 20:57:17ID:???
>>886
cakePHPはDBないと動かないぞ
0892nobodyさん2009/03/13(金) 20:58:41ID:???
げ、調べたらDBないと動かないみたい
cakephpw
0893nobodyさん2009/03/13(金) 21:35:38ID:???
さすがカビたケーキと言われるだけあるな
0894nobodyさん2009/03/13(金) 21:59:40ID:???
いや普通に$uses = nullって書くだけでDB(モデル)使わないアプリ作れるけど
同じシステム内でだって画面によっちゃDB使わない画面もあるわけで、
そういうところでモデル呼び出さない設定ができて当たり前なわけで、
当然Cakeだってそういう設定はできる。
0895nobodyさん2009/03/13(金) 22:45:25ID:???
DBなくても動くんじゃないの?
0896nobodyさん2009/03/13(金) 22:54:58ID:???
さすが毒入りケーキ
0897nobodyさん2009/03/13(金) 23:56:22ID:???
>>894
ない
あるならソースよろ
0898nobodyさん2009/03/14(土) 01:10:31ID:???
http://www.1x1.jp/blog/2007/08/cakephp_no_db.html

usesの件は使ってりゃ誰でも気がつくだろ
0899nobodyさん2009/03/14(土) 11:26:46ID:???
>>883
CakePHPは少ししか使ったことないから詳しくは知らないけど、
大抵のphpで作るアプリケーションはデータベース使うよね。
別にデータベース使わないと駄目というつもりはないんだけど、

> デザインとプログラムを分けて制作したいのですが

この発言からすると、データベースについてなにか勘違いをしている気がするんだ。

デザインとプログラムを分けるには、
ロジックを普通にphpで書いて、デザインはテンプレートの仕組みで作ることだよ。
で、そのテンプレートに表示する内容は、
ロジックに含めず大抵はデータベースに格納する。
小規模な場合は、CSVファイルに保存する事もないとはいわないけど、
その方が逆に面倒だと思う。
0900nobodyさん2009/03/14(土) 11:33:54ID:???
>>899
フレームワークというより、Smarty等を勧めるだけでいいような気がする。

> 小規模な場合は、CSVファイルに保存する事もないとはいわないけど、
> その方が逆に面倒だと思う。
つSQLite
そろそろブラウザにも搭載されようかって勢いだし、正直データベース前提で
何の問題もないような。
0901nobodyさん2009/03/14(土) 15:07:22ID:???
hoge/fuga/100

hoge/fuga/100/
どっちのURLがいいと思う?
上は冗長じゃないけど100がファイル名みたいでちょっと違和感あるし
下は冗長だし、悩む
0902nobodyさん2009/03/14(土) 15:22:56ID:???
そもそも前提条件がわからん
各パラメタがデータなのかディレクトリなのかコントローラなのかアクションなのか
0903nobodyさん2009/03/14(土) 15:24:12ID:???
冗長の意味を知って使わないと笑われるぞ
0904nobodyさん2009/03/14(土) 16:41:43ID:???
簡単な線引きするなら、さらに下位層に当たる名前があるなら
末尾にスラッシュつけるかな、俺なら

ってか、よくわかってないなら普通にGETでパラメータ渡しておけばいいんじゃね
スラッシュの有無なんて気にしないですむよ^^
0905nobodyさん2009/03/14(土) 17:02:04ID:???
>892
>893
>896
>897
カビてたり毒入りだったりするのは君らの頭みたいだねw
0906nobodyさん2009/03/14(土) 17:09:10ID:???
caker乙ww
0907nobodyさん2009/03/14(土) 18:51:50ID:???
どれ使えばいいの?
個人的には初心者なのでcakephpの名前が入っていき安い感じがしたんですが
0908nobodyさん2009/03/14(土) 18:54:54ID:???
名前で決めるのか。斬新だなw
0909nobodyさん2009/03/14(土) 19:01:24ID:???
下痢したければカビケーキをどうぞ
ただし正露丸を忘れずに
0910nobodyさん2009/03/14(土) 19:02:12ID:???
http://www.google.co.jp/trends?q=cakephp%2Csymfony%2Cmojavi%2CEthna&ctab=0&geo=all&date=all&sort=0

困った時は「調査機関G」に聞くといい
0911nobodyさん2009/03/14(土) 19:14:44ID:???
なんでZend抜いたんだ
http://www.google.co.jp/trends?q=cakephp%2Csymfony%2Cmojavi%2CEthna%2CZend+framework&ctab=0&geo=all&date=all&sort=0
0912nobodyさん2009/03/14(土) 19:31:00ID:???
CakePHPはデータベース無くても動く。

のはいいとして、データベース無くても
データベースを使ったのと同等のことができる
フレームワークってあるのかな?

つまり、設定をmysqlからfileに変えるだけで
動くようなもの。・・・まあ無いよね。
0913nobodyさん2009/03/14(土) 19:43:01ID:???
ZF使ってる身としてはお前らが一体何に悩んでるのか分からん
0914nobodyさん2009/03/14(土) 19:45:21ID:???
ZFを使っているからわかんねーんじゃね?
ZFよりも早く開発できるものがあるということに。
0915nobodyさん2009/03/14(土) 19:50:27ID:???
早く開発することだけ考えた結果がこのざまだよw
0916nobodyさん2009/03/14(土) 19:51:16ID:???
開発の早さ意外に何を求めてほしいんだ?
0917nobodyさん2009/03/14(土) 20:12:56ID:???
CakePHPしか使ってないからわかんねーんじゃね?
0918nobodyさん2009/03/14(土) 20:54:22ID:???
CodeIgniterを忘れてもらっちゃ困るぜ
ttp://www.google.co.jp/trends?q=cakephp%2Csymfony%2CEthna%2CZend+framework%2CcodeIgniter&ctab=0&geo=all&date=all&sort=0
0919nobodyさん2009/03/14(土) 21:21:54ID:???
PHP雑魚いwww

http://www.google.co.jp/trends?q=cakephp%2Csymfony%2CZend+framework%2CcodeIgniter%2CRuby+on+Rails&ctab=0&geo=all&date=all&sort=0
0920┌【 ┐=゚ω゚=】┐2009/03/14(土) 21:32:09ID:???
うひ
0921nobodyさん2009/03/14(土) 21:34:42ID:???
railsの影響受けてないphpフレームワークなんてほとんどないしな
0922nobodyさん2009/03/14(土) 21:35:33ID:???
cakephp設置してみたんですが
何もクリックするものないんですが
何かをクリックしたら、作成画面とか出て粉インすか?
0923nobodyさん2009/03/14(土) 23:14:21ID:???
php.iniでエラー設定にstrict使ってるからボロボロなんだよね、cakePHPって
エラーが大量に出過ぎてフイテそのままゴミ箱に移動した
レス数が900を超えています。1000を超えると表示できなくなるよ。