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

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

■ このスレッドは過去ログ倉庫に格納されています
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/
0797nobodyさん2009/03/07(土) 15:46:06ID:???
http://sportsnavi.yahoo.co.jp/info/help/recruit.html
0798nobodyさん2009/03/07(土) 16:11:45ID:???
>>796
Java経験者なら普通C++やらせないか?C++も使ってないの?
定期的にスレチで盛り上がるねここ。
0799nobodyさん2009/03/07(土) 16:18:37ID:???
スポナビ的に連携してる部分だとリクルート関連はJavaだな
0800nobodyさん2009/03/07(土) 16:39:26ID:???
たいして面白くもない無関係な話題引っ張りすぎの変なのが沸いてる
マ系の職場あちこち回ってると、たまにいるんだよねこういう奴w
0801nobodyさん2009/03/07(土) 16:44:07ID:???
>>798
C++は使ってる。でも、なんつうか、毛色の違う人たちなんだよね。
中途採用の奴はたいがい、糞サービスのメンテに回される。

まぁ、スレチにもほどがあるので、この辺で。スンマソン
0802nobodyさん2009/03/07(土) 16:44:37ID:???
俺はヤフーのすべてを知ってるんだぜ自慢をしたいんだろ。
使ってるの見たって奴がいるなら、それていいじゃんかな。
0803nobodyさん2009/03/07(土) 17:25:34ID:???
あんな大企業を単一言語で回してたらそっちのほうが衝撃だわ。

国内PHP大規模サイトトップ10に入る某社にいるが、内部じゃRubyもJavaもPerlも使ってる。フロントじゃ当然FlashやJS使うしな。
スクリプトまで通さずにCで書いたApacheモジュールでケリをつける部分だってある。
会計システムと繋ぐならJava以外の選択肢なんぞ考えたくもない。

だいたい、単一言語に社運をかけるなんて、上場企業クラスになったらあり得ない。
急に別言語に乗り換えてもプログラマはいくらでも確保できるだろうが、インフラ側の経験値蓄積が間に合わない。
エンジニア側も同じ。最低2つはスキルがないと簡単に切られるぞ。
経営層的に言ってPHPの利点の一つは、使い捨てるエンジニアが市場に腐るほどいる(いなくとも1月も研修すれば完成する)点だしな。
0804nobodyさん2009/03/07(土) 18:55:58ID:???
自信満々にCとかjavaとか使ってるとか言うけど
俺みたいにPHPで足りない機能をCでライブラリ作ったり
apacheのモジュール作ったりしてるやつは少ないだろうな
0805nobodyさん2009/03/07(土) 19:57:58ID:???
自分はその程度のスキルすらないゴミの部類だけど
プログラマ一本を主軸にやってくつもりならそれくらいはできないと正直この先生
きのこれないと思う
0806nobodyさん2009/03/07(土) 20:15:20ID:???
>>804
どうやってやんの?
0807nobodyさん2009/03/07(土) 20:29:23ID:???
>>806
知識がない人がよく質問するね、それ
0808nobodyさん2009/03/07(土) 20:37:43ID:???
知らないから聞いてるんだけど意味が分からないw
0809nobodyさん2009/03/07(土) 20:44:35ID:???
知らない人に説明しても、説明の意味がわからないでしょ
意味がわからないぐらいだからもっと勉強してからおいで
0810nobodyさん2009/03/07(土) 20:46:11ID:???
>>804
普通やりますがな
0811nobodyさん2009/03/07(土) 20:47:23ID:???
イメージ的には、なんかSDKみたいなソースの固まりを落としてきて
ごにょごにょしてコンパイルすると.soができるって感じ?
いや当てずっぽうだけど
0812nobodyさん2009/03/07(土) 21:53:23ID:???
PHPに足りない機能ってなんだった?
0813nobodyさん2009/03/07(土) 21:55:12ID:???
オフィシャルのソース落としてきて、
中に入っているモジュール部の近い物を選んでコピペして
名前変更して、Makefileとかをごにょれば出来るお
0814nobodyさん2009/03/08(日) 01:15:23ID:???
生き残る奴は技術力が高い奴じゃなくて単価が安い奴だけどな
高い技術力なんてさほど要求されない
単なるオナニー
0815nobodyさん2009/03/08(日) 02:19:51ID:???
使い捨ての中華みたいな扱いの奴は、そうだろうな
0816nobodyさん2009/03/08(日) 05:17:12ID:???
Yahooは募集が多いのは、PHPかJavaだと思う。部署によってはそれ以外の言語も使ってるだろうけど。
0817nobodyさん2009/03/08(日) 05:45:29ID:???
言語なんて適材適所。
phpだと作りにくいもの・規模はやっぱりあるし、
phpだけに絞るのは、プログラマー個人もとしても開発会社としても、
どう考えてもお勧めできないな。
0818nobodyさん2009/03/08(日) 09:56:10ID:???
PHPはどう考えても特殊だし、配列操作1つ取っても関数群が充実してるから
アルゴリズムに弱いヤツが多そうだな。遊びでもいいから他の言語も覚えるに
越したことはない。時代が変わると潰しが利かなくなりそう。

プログラマ自体が潰し利かないんだからPHPしか書けませんとかヤバイと思う。
0819nobodyさん2009/03/08(日) 10:02:31ID:???
ショートタグ使わない奴って馬鹿だよね?
0820nobodyさん2009/03/08(日) 10:03:04ID:???
逆だろ
0821nobodyさん2009/03/08(日) 10:07:22ID:???
短くて便利なのに使わないんだから馬鹿だろ
0822nobodyさん2009/03/08(日) 10:42:34ID:???
>>821
俺も逆だと思う。理由は自分で考えるなり調べるなり汁。
0823nobodyさん2009/03/08(日) 10:42:49ID:???
>>818
ライブラリの充実度なら、C++のほうが上だぞw
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:???
さすが毒入りケーキ
■ このスレッドは過去ログ倉庫に格納されています