トップページ⇒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/
0039nobodyさん2009/01/06(火) 19:38:50ID:???
JavaScriptオフの環境への対応でもある
0040nobodyさん2009/01/06(火) 19:47:32ID:???
このサイトはInternetExplorer6.0でのみ確認しています

ってエラーメッセージ出せばよくね?
0041nobodyさん2009/01/06(火) 19:53:28ID:???
>>36のやり方だと、結局レスポンス待ちだから画面遷移しないってだけであんまり、ねえ。
まあありっちゃありか。
やるとするなら、最初からエラーチェックのJavaScriptを吐き出すか読み込んでおくような形に
するほうがまだスマートな気もするけど。
そういうライブラリあるのかどうかは知らないけど、XMLか何かで、鯖・クラ共用するものは作れそう

>>38
んで、そのセッションに突っ込むデータはどこから飛んでくるんだw
>>39の言うとおり、クライアント側のみの検証はあり得ない
処理するデータが無検証の可能性があるってのは、DBに突っ込む時のみならず後々いろいろまずい、はず。
JavaScriptの検証をスルーしてPOSTデータが飛んでこないっていう保証があるんならいいけど。
0042nobodyさん2009/01/06(火) 20:10:38ID:???
ネタレスなんだけどさ、
JSでチェックするスクリプトを書く
そのチェックスクリプトをインクルードしてバリデートして返すページを作っておく。
サーバー上のチェックはそのページにCURLでPOSTして結果を取得する。

これなら、バリデーターはJSだけで済む。
0043nobodyさん2009/01/06(火) 20:21:09ID:???
>>42
それ、JavaScript動くの?JSのエンジンはどこにあるんだろう・・・
0044nobodyさん2009/01/06(火) 20:24:31ID:???
昔ここで見た
サーバサイドもJavaScriptで書いちゃえばいいんだよ!
ってネタレスを思い出した。

その時に聞いたJavaScriptインタプリタなんだったかな?
0045nobodyさん2009/01/06(火) 20:27:27ID:???
あ、そか。JSのエンジンが必要だった。逆に、それがあればCURLは関係ないなw
サーバーサイドJavaScriptを使うしかないか。
0046nobodyさん2009/01/06(火) 20:30:15ID:???
rinoとか
0047nobodyさん2009/01/06(火) 20:36:03ID:???
SpiderMonkeyのPHPバインディングとか、サーバサイドJavaScriptの選択肢もいくつかあるよ
0048nobodyさん2009/01/06(火) 21:48:54ID:???
俺ならバリデーション規則だけJSONで書いて、それを適用する関数をJavaScriptとPHPで別箇に実装するに留める。
バリデーションルールのデータフォーマット設計が面倒だが、Kwalifyとかを丸パクリかな。
0049nobodyさん2009/01/06(火) 21:58:01ID:???
YiiのJPフォーラムに投稿があってうれしい
0050nobodyさん2009/01/06(火) 22:25:49ID:???
最近サーバサイドJSも現実的な選択肢になってきたみたいね
故にPHP脂肪www
0051nobodyさん2009/01/06(火) 23:00:54ID:???
>>41
そうなんです、できれば>>36の方法じゃなくて、クライアントサイドでできるチェックはクライアントサイドだけで完結させたいです。

>そういうライブラリあるのかどうかは知らないけど、XMLか何かで、鯖・クラ共用するものは作れそう
残念、ご存じないですか。需要はあると思うんですけど、思ったほど作られてないようですね。
Railsでも探したんですけど、やっぱりないみたいです。

>>48
>俺ならバリデーション規則だけJSONで書いて、それを適用する関数をJavaScriptとPHPで別箇に実装するに留める。
あーつまり、JSONで書かれた規則をPHPで読み込んで、フォーム入力がそれに従っているかどうかをチェックするという感じですか。
そして同じことをJavaScriptでもやると。なるほど。頭いいですね。

>バリデーションルールのデータフォーマット設計が面倒だが、Kwalifyとかを丸パクリかな。
Kwalifyって何ですか?
0052482009/01/06(火) 23:36:43ID:???
>51
バリデーションを行なうライブラリ。配列やJSON、YAMLなどのバリデーションを行なう。RubyとかPerlしかないが。
まあ、こんなデータフォーマットだとそれなりに漏れなく表現できるよってだけの意味。単なるサンプルに過ぎない。
自分でバリデーションルール用のJSONのフォーマット考えられるなら忘れておk。
(まあ、データフォーマットとかいちいち考えず、正規表現をJSONに格納しておけば十分っちゃ十分なのだが…)
0053362009/01/07(水) 00:37:15ID:???
>>39
そう、Progressive Enhancementというやつです。

>>47
Jaxerというのもある。
0054nobodyさん2009/01/07(水) 00:57:38ID:???
VBでクライアントアプリケーション作ってサーバサイドアプリと通信しなよ
0055nobodyさん2009/01/07(水) 08:08:02ID:???
>>34
今は亡きw HTML_QuickFormに、一応JavaScriptコードの自動出力機能がついてたなあ
0056nobodyさん2009/01/07(水) 10:01:31ID:???
DBクエリー必要なバリデーションもある
0057nobodyさん2009/01/07(水) 22:34:19ID:???
それ、バリデーションって言うか?
0058nobodyさん2009/01/07(水) 23:01:29ID:???
IDの重複チェックや郵便番号の存在チェックとかだろ
0059nobodyさん2009/01/08(木) 10:31:01ID:???
それは普通にAjaxでやればいいわけで
0060nobodyさん2009/01/08(木) 10:39:22ID:???
Ajaxっていったって、DB内のIDと重複するかチェックするなら(ry
0061nobodyさん2009/01/08(木) 11:31:26ID:???
>>59
まさか郵便番号何十万件もJSの配列につっこんどくつもりか
0062nobodyさん2009/01/08(木) 11:32:22ID:???
クライアントレベルでは簡易的なチェックでいいんだから問題なし
0063nobodyさん2009/01/08(木) 11:40:10ID:???
> 簡易的なチェックでいいんだから問題なし

へぇ。そうなんですか。メモっとこ。
0064nobodyさん2009/01/08(木) 12:08:22ID:???
ん? なんでAjaxでJSの配列?
0065nobodyさん2009/01/08(木) 12:44:42ID:???
AjaxからDBにクエリ投げて検証した結果のIDをhiddenなりtextなりに突っ込んでPOSTし
POST先のサーバコードでまたDBにクエリ投げて検証してってやるわけですね


まあPOSTする前、画面遷移せずにエラー警告文が出せるというのが利点か。
0066nobodyさん2009/01/08(木) 15:02:15ID:???
なんなのこの低レベルw
0067nobodyさん2009/01/08(木) 15:51:12ID:???
>>64
DBアクセスしないで何処からデータ持ってくるんだ
0068nobodyさん2009/01/08(木) 16:23:15ID:???
DBアクセスとJSの配列になんの関係が?
0069nobodyさん2009/01/08(木) 16:51:55ID:???
なんなのこの超低レベルw
0070nobodyさん2009/01/08(木) 19:17:03ID:???
>>68
0071nobodyさん2009/01/08(木) 21:05:54ID:???
Ajax万能説かw
0072nobodyさん2009/01/08(木) 21:47:23ID:???
隙を見せないように要点を得ない短文ばかりで話すらかみ合ってない
0073nobodyさん2009/01/09(金) 04:32:42ID:???
>要点を得ない
0074マジレス希望2009/01/09(金) 12:19:55ID:???
皆さん、JavaScriptはどうやって勉強されましたか?
・オススメの勉強方法
・オススメの解説書
・オススメのサイト
があれば是非ご紹介ください。m(__)m
0075nobodyさん2009/01/09(金) 13:04:59ID:???
ぐぐる
0076nobodyさん2009/01/09(金) 13:27:38ID:???
>>74
一撃必殺
0077nobodyさん2009/01/09(金) 19:17:31ID:???
>>74
スレチだろ、よそで聞いたほうがまともな答えが返ってくると思うぞ。
0078nobodyさん2009/01/11(日) 12:53:52ID:???
ストリームベースのフレームワーク
http://lll-framework.hikosha.jp/

なんだこれ
0079nobodyさん2009/01/12(月) 00:02:56ID:???
>>78
「解凍して、public_html/にアクセスするだけで、すぐに使えます!」
解凍したファイルをドキュメントルート以下に置いてpublic_html/にアクセスすると
Fatal error: LLL_Template::require()とでて真っ白の画面になった。
PieceFrameworkを思い出したよ。

ポィ(゚△゚)ノ⌒ ゚凵
0080nobodyさん2009/01/12(月) 11:46:05ID:???
>>79
すまない。orz

不具合を修正しました。
http://lll-framework.hikosha.jp/release/lll-framework-0.1.3.tar.gz

0081nobodyさん2009/01/12(月) 22:55:46ID:???
>>75-77
ありがとうございます。
一撃必殺JavaScript〜お気に入りに保存しました。
JavaScriptは中途半端な理解で十分に使いこなせていなかったので、PHPフレームワークの次はJavaScriptの習得を目指します^^
0082nobodyさん2009/01/12(月) 23:03:14ID:???
>>80
2chで釣りとか
作者必死だな・・・
0083nobodyさん2009/01/12(月) 23:12:01ID:???
>>78
知らないフレームワークがまだあったか。
とりあえず捕捉した。
0084nobodyさん2009/01/13(火) 00:52:46ID:???
>>78
ネタが増えるのはいいことだけど・・・
ざっくりサイトだけ読んでみて

> PHP4,PHP5両方で動作する事。
またか。

サイトにしろFWにしろ、これから新しくものを作るんならいい加減、PHP4を切り捨てた方が
すっきりといいものができるように思うのはおれが怠惰すぎるのだろうかね
0085nobodyさん2009/01/13(火) 01:01:58ID:???
今まではレンタル鯖に入ってるバージョンの都合ってのもあったけど
去年でPHP4もサポート終わったんじゃなかったっけ
0086nobodyさん2009/01/13(火) 01:26:26ID:???
試してみることもないからどっちでもいいよ
0087nobodyさん2009/01/13(火) 02:22:51ID:???
php4はさっさと切ってほしいな。
メソッドにアクセス修飾子がないといらいらする。
0088nobodyさん2009/01/14(水) 00:02:14ID:???
そんな事どうでもいいけどな
0089nobodyさん2009/01/14(水) 02:16:40ID:???
アクセス修飾子があるスクリプト言語の方が少ない
0090nobodyさん2009/01/14(水) 02:30:44ID:???
>>89
PerlにもRubyにもありますが
0091nobodyさん2009/01/14(水) 02:34:16ID:???
少ないね
0092nobodyさん2009/01/14(水) 02:35:52ID:???
protectedがあるスクリプトは少ない
0093nobodyさん2009/01/14(水) 05:57:49ID:???
protectedがないとtemplate methodが分かりにくいよな
その点で他のLLは糞
0094nobodyさん2009/01/14(水) 10:09:53ID:???
どうしようもないばかだな
0095nobodyさん2009/01/14(水) 15:21:39ID:???
>>94
自分への嘆きかw
0096nobodyさん2009/01/14(水) 21:39:54ID:???
Pythonのように
「全部public、ただし先頭にアンダーバーがついてたらよいこのみんなは呼ばないようにしようね」
というのもそれはそれでいいと思うけどな。
どうせprivateとprotectedとpublicで命名規則を変える事が多いわけだし。
0097nobodyさん2009/01/14(水) 21:47:37ID:???
本末転倒だな
0098nobodyさん2009/01/16(金) 16:43:30ID:???
http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/03/02.html
林氏:Javaを勉強した後、RubyやPerl、Pythonの文法が面白くて眺めてました。

↓

参考材料にもならないPHPは脂肪(><)www
0099nobodyさん2009/01/16(金) 18:21:10ID:???
文法が面白くてPHP使ってるんじゃないしな
CやJavaと殆ど同じようなもんだし
0100nobodyさん2009/01/16(金) 18:26:35ID:???
Perlの文法の何が面白いのかわからん
0101nobodyさん2009/01/16(金) 18:27:40ID:???
>CやJavaと殆ど同じようなもんだし

おいおい、お前らのレベルってこのくらいなの?
0102nobodyさん2009/01/16(金) 18:38:04ID:???
大きく間違ってはいないと思うけど?
つーか、そこにツッコミ入れる奴って…3年ROMってr(ry
0103nobodyさん2009/01/16(金) 18:58:53ID:???
CとJavaとPHPは意図的に似せて作ってるからな
その上で林さんって人はそれと全く文法が違う
Ruby、Perl、Pythonを面白がったってだけだろ
0104nobodyさん2009/01/16(金) 19:10:15ID:???
$とか.とかはPerl由来だったり、C系のポピュラーな言語に似せてあるよね。
(Perl由来の部分は単にPersonal Home Page Tools時代の名残かもしれないけど)
0105nobodyさん2009/01/16(金) 19:10:48ID:???
PHPはウェブありきで作られた言語だから面白みを問われたらちょっとな・・

C言語の有名サイトにこんなものがある
ttp://www.kojima-cci.or.jp/fuji/mybooks/cdiag/cdiag.14.6.html
0106nobodyさん2009/01/16(金) 19:25:15ID:???
Perlはelsifみたいなどうでもいい省略さえなければもっと使いやすいのに
逆に打ち間違うわ
0107nobodyさん2009/01/16(金) 19:27:33ID:???
そしてその不評な省略形式を丸々真似てしまったRuby
0108nobodyさん2009/01/16(金) 20:43:49ID:???
elsifだとどんなメリットがあるんだ?
0109nobodyさん2009/01/16(金) 23:54:23ID:???
else if
elsif

やったぁ!2文字もタイプ量が減るぞ!!
0110nobodyさん2009/01/16(金) 23:55:15ID:???
最初に触ったのがPerlだったせいで、
いまでもときどき elsif と elseif と else if がごっちゃになって困るw
0111nobodyさん2009/01/17(土) 00:12:33ID:???
シェルも触るとelifまで候補に入ってさらにカオスw
0112nobodyさん2009/01/17(土) 00:29:45ID:???
うわあああ
0113nobodyさん2009/01/19(月) 01:23:11ID:???
rubyやpythonも嫌いじゃないがタイプヒンティングがないのはどうにかならんのか
引数リスト見ても何投げたらいいから分からなくてまいっちんぐ
0114nobodyさん2009/01/19(月) 09:58:52ID:???
つコメント
0115nobodyさん2009/01/19(月) 12:07:45ID:???
>>113
vimになかったか?
0116nobodyさん2009/01/19(月) 22:45:12ID:???
何だかんだ言って一番馬鹿にされてるPHPが最強言語だよね(´・ω・`)
0117nobodyさん2009/01/19(月) 22:51:44ID:???
ラズベリー賞しかり、イグノーベル賞しかり。
0118nobodyさん2009/01/20(火) 10:49:51ID:???
>>116
Webで便利なだけでしょ。Web以外はPerl使ってるよ。最近PHPにも懲りてWebもPerlも使い出した。
Catalystマンセー
0119nobodyさん2009/01/20(火) 11:49:35ID:???
>>118
Catalystもそうだけど、CPAN万歳になるのが初動でのネックだと感じてる。
導入だけ、って考えるならPHPのフレームワークのほうがよほど楽。

結局は目的次第じゃないかと。
0120nobodyさん2009/01/20(火) 12:00:08ID:???
>>119
そう。PHPはWeb以外では殆ど使い物にならないから、
最強言語だよねとか言われると困る。

ちなみにこのネタは宗教論争を呼ぶので早めに切り上げたい。
0121nobodyさん2009/01/20(火) 12:23:13ID:???
PHPはWebでしか使えないというけど別に使えるんだけどな普通のスクリプトとしても
0122nobodyさん2009/01/20(火) 12:26:00ID:???
使えないとは言ってないよ。使わないけど。
0123nobodyさん2009/01/20(火) 12:26:09ID:???
ちょっとしたスクリプトもPHPで作ってる
普段使ってるから作りやすくて楽
0124nobodyさん2009/01/20(火) 12:58:05ID:???
*nixの管理ツールなどでPHPで作られたものなんて見たことない。
使われているのはPerl、Python、Rubyのどれかだろ。
0125nobodyさん2009/01/20(火) 13:08:13ID:???
PHPはmod_php以外だとはっきり言って魅力ないからな
0126nobodyさん2009/01/20(火) 13:15:22ID:???
>>124
たまにPHP自作ツール見かけて「ぷっ」と思う。
なんかそんなイメージ。
0127nobodyさん2009/01/20(火) 13:17:21ID:???
>>124
shを忘れないで下さい。
0128nobodyさん2009/01/20(火) 13:22:10ID:???
cronで回しているウェブ用データ整理はCLI
自作ライブラリ使い回せるし
0129nobodyさん2009/01/20(火) 13:31:39ID:???
>>128
他人がいじれない確率が高いのがネックだな。
0130nobodyさん2009/01/20(火) 13:37:08ID:???
>>128
それはWEBアプリの一部ではないのだろうか。

まあ一般論だとしても、これは実は結構大きいんだけどね。
WEBでPHPを使ってるんなら、CPANとかいちいち使い方調べるのは効率悪いとも思う。

でも、それをやっとくと比較的汎用的なスキルにはなってそうな気もするから迷う。
(自作ライブラリが陳腐化した時とか、そもそも違う環境で作業しなきゃいけないとか)

結局 得意な言語が1〜2個あり、その他も好き嫌いしないで使えるってのが理想では
あるんだけど。
0131nobodyさん2009/01/20(火) 14:53:10ID:???
>>124
監視しない方ですか
0132nobodyさん2009/01/20(火) 15:09:20ID:???
>>124
RubyはないだろJK
いや少しはあるかもしれんが、
基本はPerlかPython。
0133nobodyさん2009/01/20(火) 15:15:18ID:???
おれの基本はbash
0134nobodyさん2009/01/20(火) 15:52:58ID:???
OSやM/W自体の監視と、そこで動くアプリケーションの監視を混同してないか?

前者ならPerlが多いと思うし、後者でDBも監視するなら
そのアプリケーションで使ってるライブラリ使ってDBアクセスしたほうがいいだろうし。
0135nobodyさん2009/01/20(火) 19:57:05ID:???
>>132
言っちゃダメーwwww

本人はPerlかPythonに並ぶメジャー言語だって思ってんだからwww
0136nobodyさん2009/01/20(火) 20:29:13ID:???
は?puppetなんかはrubyで書かれてますが何か
今時perlなんて類人猿しか使ってねーし
0137nobodyさん2009/01/20(火) 22:54:13ID:???
このスレでそんなこと言ってもねぇ
0138nobodyさん2009/01/21(水) 00:00:34ID:???
Agaviの次のリリースではコマンドラインからの呼び出しがサポートされるよ。
http://trac.agavi.org/ticket/480
■ このスレッドは過去ログ倉庫に格納されています