[PHP]フレームワークについて語るスレ4[総合]
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/07/01(土) 07:35:07ID:Pg6bOKC2[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/
よく話題になるフレームワーク
■Zend Framewoek
http://framework.zend.com/
http://framework.zend.com/manual/ja/ (日本語マニュアル)
■symfony
http://www.symfony-project.com/
■[ 日本発 ] Ethna
http://ethna.jp/
0137nobodyさん
2006/07/11(火) 16:42:51ID:???0138nobodyさん
2006/07/11(火) 23:51:32ID:???0139nobodyさん
2006/07/12(水) 00:27:55ID:???0141nobodyさん
2006/07/12(水) 01:27:34ID:???これから仕様が変わることだって十分ありえるのに、
本なんか出しても駄目だろ。
0142nobodyさん
2006/07/12(水) 10:02:52ID:4pg7evUR0143nobodyさん
2006/07/12(水) 11:16:14ID:???0144nobodyさん
2006/07/12(水) 13:24:34ID:???0145nobodyさん
2006/07/12(水) 17:26:34ID:???かなり初歩的なことで申し訳ないんだが・・・。
もう3日間も苦しんでいるんだ。
0147nobodyさん
2006/07/12(水) 18:16:06ID:???どんとこいや。
0148nobodyさん
2006/07/12(水) 18:21:16ID:???バッチコーイ
0149145
2006/07/12(水) 21:25:52ID:VCwrc9Rp一応、読んだけど、うまくいかないんだ。
何がうまくいかないかって基本中の基本。
↓みたいに、zendディレクトリ内にindex.phpを置いて構築しているんだけど、
コントローラーとアクションを認識してくれず、noRouteAction()が実行されてしまう。
http://localhost/zend/Index/index/
他のactionも定義してみたんだけど、全然ダメなんだ。
rewrite関連で問題あるのかな?
これ、基本中の基本だよな?まずいよな〜。こんなところで躓くなんてさ。。。
・・・という訳で助けてください。
0150nobodyさん
2006/07/12(水) 21:36:23ID:???0151nobodyさん
2006/07/12(水) 21:45:32ID:???RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
って内容の.htaccessを、index.phpと同じディレクトリに置いてる?
.htaccessは有効になってる?
mod_rewriteはロードされてる?
あと、0.1.4には、index.phpがサーバのドキュメントルートに無いと
動かないバグがあった模様。そのせいかも。
ttp://framework.zend.com/developer/ticket/79
0152nobodyさん
2006/07/12(水) 22:21:05ID:???レスありがとう。
.htaccessはindex.phpと同じところに置いてるし、
mod_rewriteも有効になってる。
でも、動かないんだ。
コントローラークラスの内容はコピペだから、問題ないんだ。
やっぱり、rewrite関連で上手く言ってないのかな?
それとも、Apacheの設定か何か・・・。う〜ん、わかんね。
0154nobodyさん
2006/07/12(水) 22:38:16ID:???問題を切り分ける。
mod_rewiteが、本当に動いているのか確認する。
動いていない。apacheの問題。
動いている。PHPの問題。
0155nobodyさん
2006/07/13(木) 00:21:50ID:???俺みたいな塩豚野郎にレスしてくれて本当にありがとう。
マジで感謝してるよ。
mod_rewriteだけど、試しにテストのルール作って動作確認してみた。
RewriteRule ^list-(.*) list.php?id=$1
動作は確認できたって事はrewrite問題なしって事?
・・・あっれ〜?
0156nobodyさん
2006/07/13(木) 05:45:02ID:???「The CakePHP Framework: Your First Bite(英語)」が公開されました
0158nobodyさん
2006/07/13(木) 09:22:08ID:???http://del.icio.us/tag/CakePHP
0159nobodyさん
2006/07/13(木) 10:30:21ID:???0160nobodyさん
2006/07/13(木) 14:33:12ID:???zendディレクトリに置いてるなら、.htaccessのRewriteBaseも
変更しなくちゃいけないんじゃない?
ちなみにIndexControllerはどうなってるの?
0161nobodyさん
2006/07/13(木) 17:07:29ID:???レスありがとう。
コントローラーには問題ないと思うんだけど、一応、載せてみる。
Zend :: loadClass('Zend_Controller_Action');
class IndexController extends Zend_Controller_Action {
/*アクション*/
public function indexAction() {
echo ("IndexController の表示です");
}
/* アクションコントローラ名が見つからない */
public function noRouteAction() {
//リダイレクトを行います
echo "No Route";
exit;
}
}
0163nobodyさん
2006/07/14(金) 03:05:44ID:???フレームワーク初心者の俺には
Cakeが分かりやすいと感じた。
しかし今後デファクト取りそうなのは
どっちかというとSymfony。
悩みどころです。
0164nobodyさん
2006/07/14(金) 03:14:20ID:???あえてcakeやっておくといいよ。
とことんrailsの劣化コピーだから、railsに移行したとき、
rubyの恩恵が激しく実感できる。
たとえば日付を拾ってくるとき、
rec.created_at
で、2006-07-14が返ってくる。でも、これがstringじゃ無くてdateオブジェクトなんで
rec.created_at.strftime("%Y年 %m月 %d日")
なんてできたりするし。
phpも6でできるようにするみたいだけど、そこまで待ってられんしね
0165nobodyさん
2006/07/14(金) 04:04:12ID:???0166nobodyさん
2006/07/14(金) 05:12:54ID:???echo でフォーマット出力したければ、継承したクラスで __toString() を適当に定義すればよし。
require "Date.php";
class Date2 extends Date {
public function __toString() { return $this->format("%Y-%m-%d %H:%i:%S"); }
}
$d = new Date2;
echo $d;
Ruby や Python みたいに日付オブジェクト同士の加算・減算はできんけどねー。
(PECL の operator extension を使うという手もある)
以下余談。
個人的には Rails より TurboGears のほうが面白そうに思う。
PHP なら v3.0 で一皮剥けたっぽい PRADO も試してみたい。
0171nobodyさん
2006/07/14(金) 12:42:45ID:???所詮Rubyだよ。
0172nobodyさん
2006/07/14(金) 12:51:59ID:???0173nobodyさん
2006/07/14(金) 14:52:55ID:???もっと広まれRuby
0174nobodyさん
2006/07/14(金) 15:10:05ID:???今時 {} でない構造はどうよというか、なんというか。
0176174
2006/07/14(金) 16:11:11ID:???IDEが充実しててインデントを処理してくれるからかな?
Rubyって開発環境はどうなんだろう?
0177nobodyさん
2006/07/14(金) 16:14:51ID:???0178nobodyさん
2006/07/14(金) 16:28:47ID:???VisualStudio 2005 の快適っぷりとかもはや異常
Java や PHP も(Rubyも)あれくらい快適に開発できればいいのにと思う
0179nobodyさん
2006/07/14(金) 16:40:54ID:???そこでこの記事に期待ですよ。
http://www.phppro.jp/news/31
0180nobodyさん
2006/07/14(金) 17:06:10ID:???今のところは
PHP はデバッガが使いにくいんだよな
0181nobodyさん
2006/07/14(金) 21:21:18ID:???0182nobodyさん
2006/07/14(金) 22:36:05ID:???「名前空間がサポートされたきれいなPHP」ぐらいの感覚でつかうとよさげ
特にキーワード引数は便利。Railsチックなフレームワークにはとてもよくあう機能だ
Rubyはいい言語だけど、Perlちっくなところがあって、分かりづらいコードもよくみかける
0183nobodyさん
2006/07/14(金) 23:11:23ID:???ちょっと興味がわいてきますた。>Python
ところでPythonにはどんなフレームワークがありますか?
もうフレームワーク梨の開発は考えられないです。
0184nobodyさん
2006/07/14(金) 23:19:14ID:???0185nobodyさん
2006/07/15(土) 02:21:46ID:???コンストラクタが def __init__(self, x): とかダサすぎ。
0186nobodyさん
2006/07/15(土) 02:59:20ID:???いや、ダサく感じるのは、むしろお前のセンスが悪いから。
コードひとつにダサいとかオシャレとか感じる奴はキモ過ぎる。
0187nobodyさん
2006/07/15(土) 06:50:14ID:???だな。PHPとくらべて、
・try - finally がつかえる
・モジュール化がされてる
・バイトコードコンパイラがある
・関数オブジェクトが使える
・配列とハッシュとが分かれている。表記も簡単
PHPはたしかに掲示板つくったりするのは簡単なんだけど、今のようにフレームワークを
使うのがあたりまえになると、PHPの手軽さという利点は薄れ、いきあたりばったりの
言語仕様のほうが問題になる。
それなら、きれいにかける言語を使うほうがいい。
フレームワークによる開発では、PHPの利点はほとんどない。対応サーバの多さぐらい。
>>183
「Python フレームワーク」でぐぐれ。
人気があるのはZope, TurboGear, Django
Zope - ほかに類をみないフレームワーク。一時はPythonのキラーアプリと目された。
TurboGear - 優れたライブラリの絶妙な組み合わせ。まさにベストオブブリード。
Django - 他のライブラリを使わずすべて自前実装。高速性がウリ。
>>185
あんまり聞かない意見だけど、その程度は慣れの問題じゃないか。
PythonやRubyのfoo.bar()よりPerlやPHPの$foo->bar()のほうが汚く見えるのはおれだけ?
0188nobodyさん
2006/07/15(土) 07:23:28ID:???マジックメソッドにアンダースコアをつけるのは通常のメソッドと区別するために
いいんじゃないかと思う。PHP(5)でもマジックメソッドは"__"で始まるし。
"->" が汚いとは思わないけど、OOで小気味よくタイプする妨げではあるね。
ZopeはWebアプリフレームワークよりちょっとレイヤーが上っていうか、
CMSとフレームワークの中間ぐらいのポジションな希ガス。
規模はぜんぜん違うんだけどPHPでいうとKinoWikiが似たような位置づけかも。
あれはWikiの皮をかぶったフレームワークだと思ってます。
あとTurboGears/Djangoみたいなガチフレームワークと違って
ゆるいフレームワークとしてweb.pyもいいかも。
これはPHPでいうとguesswork classicが近いかな。
0189nobodyさん
2006/07/15(土) 08:33:42ID:???>PHPはたしかに掲示板つくったりするのは簡単なんだけど
今はそうも言えない。
掲示板なんてコマンド一発で書き出せるじゃん。
表示や機能追加も、明らかにフレームワーク乗っかった方がつくりやすいし。
0190nobodyさん
2006/07/15(土) 18:46:50ID:???そうなの?
データベースのCRUD操作ならたしかに自動生成のコマンドが用意されているけど、
掲示板とかメール送信フォームとかのようなものまで自動生成コマンドが用意されているんだっけ?
>表示や機能追加も、明らかにフレームワーク乗っかった方がつくりやすいし。
それが成り立つには前提条件が必要だな。
・フレームワークをすでに習得済み
・追加したい機能がフレームワークの想定内に収まる
フレームワークが想定していないようなことをしようとしたら、逆に難しくなる。
仕方ないけど。
0191nobodyさん
2006/07/16(日) 22:53:58ID:???メソッド名の末尾にアンダースコアがあるとちょっと嫌かも
変数や定数名なら気になることはないんだけど
PythonとかRubyは言語使用は好きなんだけど、使ってると中カッコが恋しくなるんだよな
0192nobodyさん
2006/07/16(日) 23:18:59ID:???0193nobodyさん
2006/07/16(日) 23:23:56ID:???> 対応するカッコの表示 が効かないからソース見づらい
エディタがインデント見て判断してくれるだろ
メモ帳でも使ってんのかよwwwww
0195nobodyさん
2006/07/17(月) 07:42:08ID:???インデントで構造を表してるから、そもそも「対応するカッコの表示」自体が必要ない。
だいたい、ソースを読んで解釈するのに、人間は見た目のインデントで構造を判断して、
パーサはインデント無視してカッコで構造を判断するというギャップが存在することが
そもそもの間違いなんだよ。
両者を一致させるために、パーサもインデントで判断するという設計は悪くないと思うけどね。
Pythonネタ続くなー
そろそろPHPネタよろしく
つかSymphonyスレ分裂してからはネタなしだな
0197nobodyさん
2006/07/17(月) 11:18:28ID:???必要か必要じゃないか、じゃなくて、「見辛い」って言ってるじゃん。
おーまーえーはーあーほーかー。
indent 2 とかだと、もう読む気がしない。
Ruby は Perl よりキレイって、どこがだよ、と思う。
綺麗に書いた Perl の方がナンボかまし。
0198nobodyさん
2006/07/17(月) 11:28:40ID:???symfonyもrailsを真似たのかインデント2になっててむかつく。
rubyも変な記号をいっぱい使うから読みにくいプログラムが書きやすいよな。
http://jp.rubyist.net/magazine/?0010-CodeReview-pukiwikiparser.rb
とか読みやすいか?
132| def parse_inline(str)
133| @inline_re ||= %r<
134| ([&<>"]) # $1: HTML escape characters
135| | \[\[(.+?):\s*(https?://\S+)\s*\]\] # $2: label, $3: URI
136| | (#{autolink_re()}) # $4: Page name autolink
137| | (#{URI.regexp('http')}) # $5...: URI autolink
138| >x
139| str.gsub(@inline_re) {
140| case
141| when htmlchar = $1 then escape(htmlchar)
142| when bracket = $2 then a_href($3, bracket, 'outlink')
143| when pagename = $4 then a_href(page_uri(pagename), pagename, 'pagelink')
144| when uri = $5 then a_href(uri, uri, 'outlink')
145| else
146| raise 'must not happen'
147| end
148| }
149| end
0199nobodyさん
2006/07/17(月) 16:52:49ID:???複雑な正規表現を、xオプション使うことでコメントつきにしてるあたり、
かなり読み手に気を使ってるなーというのがわかる。
まさか、正規表現が難しいからわからないとか、
switch文がcase-whenだからわかりにくいとか、
throwじゃなくてraiseだからわかりにくいとか、
PHPには ||= がないからわからないとか、
そういうレベルじゃないよね?
0200nobodyさん
2006/07/17(月) 17:13:53ID:???case 〜 when 〜 then は普通に読みにくいと思うなぁ……
予約語と変数名やオペランドが入り乱れて区別しにくくなりそうだしな
0202nobodyさん
2006/07/17(月) 17:19:57ID:???Cと共通にしてくれればあれこれ迷わなくてすむし。
0203nobodyさん
2006/07/17(月) 17:23:21ID:???激しく同意。キーワードレベルで独自性を出す意味はないよなー。
機能は同じなのに、なぜ名前を新たに付けるのか。
Cと同じにしてくれれば、学習コストも下がるのに・・・。
0204195
2006/07/17(月) 20:31:34ID:???Rubyのことをいってるみたいだな。おれはPythonのことをいってるつもりだった。
Python知らない人だったのね。読めば分かると思ったけど、正直すまんかった。
>>195はわかってくれたみたいだけど。
>綺麗に書いた Perl の方がナンボかまし。
すげえ、そんな意見は初めて聞いた。
>>198
関係ないけど、GNUのコードってインデントが2じゃなかったっけ?コーディング規約でそうなってたはず。
最初はびっくりしたけど、そのうち慣れた。そんなもんかもしれん。
>>203
Cを参考にしてないからじゃない?
0205nobodyさん
2006/07/17(月) 20:47:22ID:???あー、うん。もういいよ…。
0207nobodyさん
2006/07/17(月) 22:01:30ID:???0208nobodyさん
2006/07/17(月) 22:03:58ID:???結局最初に覚えたもの1番的に凝り固まってる人間は、
思考変わらないし。
無駄なレスの消費になるだけ。
0209nobodyさん
2006/07/18(火) 02:02:02ID:???かなり読みやすいコードだと思う。
これが読みづらいと言ってる奴は、単にrubyが苦手なだけじゃないのか?
そんな連中が同じ動作をするコードをどう書くのか興味あるな(言語は問わない)。
0210nobodyさん
2006/07/18(火) 18:56:34ID:???CAKEPHPなんですが、
SymfonyのAskeet相当の事は大体できるもんなんでしょうか?
CakeのAPI眺めた限りでは、できそうな感じがするのですが・・・。
これで動作速度が(Cakeの方が)速ければ、CAKEでGO!というサインが
出そうなんですが・・・。
0212nobodyさん
2006/07/18(火) 21:12:33ID:???最低限、ruby の構文を知っているなら、問題ないとおもうけどな
134,135,136,137 あたりではわざわざそれぞれコメントも書いてあるし
0213nobodyさん
2006/07/18(火) 22:04:48ID:???0214nobodyさん
2006/07/19(水) 14:00:56ID:???http://www.phppro.jp/news/42/
0215nobodyさん
2006/07/19(水) 14:22:28ID:???0217nobodyさん
2006/07/19(水) 15:37:24ID:???0218nobodyさん
2006/07/19(水) 15:44:32ID:???差がついていては、APCの設定だけでどうにかできるようなレベルではないっしょ。
まあPHP 5.1.2のmod_php5はApache 2.2.0より2.0.5xのほうが安定稼働するし、
アクセラレータはAPCよりeAcceleratorを使った方がまだマシな結果がでたんじゃないかとは思う。
あとはApacheモジュールでもFastCGIでも基本的にインタプリタが常駐するだけのPHP & Symfonyと
プログラム全体がメモリに常駐しているRails/Djangoの差かなあ。
0219nobodyさん
2006/07/19(水) 16:38:16ID:???http://www.symfony-project.com/forum/index.php/t/2272/
0220nobodyさん
2006/07/20(木) 13:29:51ID:???0221nobodyさん
2006/07/20(木) 14:35:33ID:???おまいらなら出来る!>フラ公
0222nobodyさん
2006/07/20(木) 19:09:41ID:???動作速度が快速(と見込まれる)のって
どの辺?
0223nobodyさん
2006/07/20(木) 19:19:31ID:???0224nobodyさん
2006/07/20(木) 20:05:51ID:???FW使った時点で、相当量のコードを読み込む必要がある訳で、それだけで、それなりの
速度低下が起きる。
せめてrequireした部分だけでもメモリに常駐できる形で無いと、速度を求める必要がある
場合、PHPでのFWは、きつい様に思う。
まあ、要求される速度を出せれば良い訳で、FWの使用が有効なケースの方が多いとは
思うけど。
0225nobodyさん
2006/07/21(金) 02:07:37ID:???0226nobodyさん
2006/07/21(金) 22:28:20ID:???http://japan.zdnet.com/news/software/story/0,2000056195,20177627,00.htm
だいじょうぶか?
0227nobodyさん
2006/07/21(金) 23:38:08ID:???開発するための標準的な方法を提供する。また同フレームワークには、
データベースアクセスやWebサービス通信といったタスクのためのPHP
ソフトウェアモジュールが含まれている。さらに、Eclipseプログラミングツールと
の互換性も備えている。
Eclipseとの互換性ってなに??
0228nobodyさん
2006/07/21(金) 23:47:46ID:???0229nobodyさん
2006/07/21(金) 23:51:12ID:???色んな人がいるから仕様決めに時間がかかっているように見える
ちゃんとしたプロセスを経ないと仕様として決まらず、その後にコーディングだからな
0230nobodyさん
2006/07/22(土) 00:03:06ID:???0231nobodyさん
2006/07/22(土) 00:38:37ID:???0232nobodyさん
2006/07/22(土) 01:48:32ID:???0233nobodyさん
2006/07/22(土) 12:49:41ID:???Eclipse 一本にしてくれたほうが初心者を呼び込み安いとは思うが
0234nobodyさん
2006/07/22(土) 13:57:39ID:???http://pc8.2ch.net/test/read.cgi/php/1123912762/l50
0235nobodyさん
2006/07/23(日) 11:59:25ID:???■ このスレッドは過去ログ倉庫に格納されています