【PHP】フレームワークについて語るスレ13【総合】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/03/24(火) 01:21:08ID:???●国外産●
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】フレームワークについて語るスレ12【総合】
http://pc11.2ch.net/test/read.cgi/php/1229960175/
0369nobodyさん
2009/08/19(水) 22:11:17ID:???最後の2行が余計だな。
スレ違かもしれんが、PHP5以降に対する要望としてはお門違いでも無いし、
嫌なら他の言語使えってのは極論過ぎる。
0370nobodyさん
2009/08/19(水) 22:23:43ID:???0371nobodyさん
2009/08/19(水) 22:27:23ID:???0372nobodyさん
2009/08/19(水) 22:27:48ID:???0373nobodyさん
2009/08/19(水) 22:30:50ID:???0374nobodyさん
2009/08/19(水) 22:34:53ID:???http://php.benscom.com/manual/ja/language.oop5.typehinting.php
0375nobodyさん
2009/08/19(水) 22:36:05ID:???0377nobodyさん
2009/08/20(木) 09:41:50ID:???2〜3枚の軽いけど、DBを一応使う。みたいな要件の時FW使うまでもないかなと考えてるのですが、
そういう時皆はどうやって作ってますか?
規模に関係なくFW使ってる?
それとも、pdoとか使ってべた書き?
0379nobodyさん
2009/08/20(木) 16:29:50ID:???ああ、それは大きいな。しょせんHTTP(というかHTML)には限界がある。
try {
int $num = $_REQUEST['age'];
} catch (Exception $e) {
die("age is not number");
}
こういうのがベスト。連想配列とかオブジェクトを直接REQUEST出来たり名。
0381nobodyさん
2009/08/20(木) 18:26:24ID:???0382nobodyさん
2009/08/20(木) 20:18:13ID:???レスどうもありがとうございます。
コピーしてちょっと設置とか取り回しが面倒だし、
propelだけ入れるってのも手間かけるメリット薄いので、躊躇してました。
0383nobodyさん
2009/08/20(木) 20:28:03ID:???そして会社には絶対に持っていかない
0386nobodyさん
2009/08/20(木) 21:39:30ID:???おかしいことなので例外が発生。
そのとき「値がおかしいぜ!」ってダイイングメッセージ残して
phpが死ぬって意味だろ。
しかしせめて
int $num = Integer.parseInt($_REQUEST['age']);
とかだろ。
0387nobodyさん
2009/08/20(木) 22:03:58ID:???0388nobodyさん
2009/08/20(木) 22:11:25ID:???何か問題でも?
0389nobodyさん
2009/08/20(木) 23:16:59ID:???そもそも、それはPHPのコードなのか?
0390nobodyさん
2009/08/20(木) 23:42:04ID:???静的および強い型付けの支持者と動的および自由な型付けの支持者の間では衝突が度々おきる。
前者のグループは厳密な型付けの使用によって、処理系がより多くのエラーを
問題が大きくなる前に発見できるようになると主張している。
後者のグループはより気軽な型付けによってコードはよりシンプルなものになり、
そのようなコードは解析しやすいとされるので、エラーは減少すると主張している。
型推論がある言語では型を手で宣言する必要はほとんどないので、強い型付けに伴う開発のオーバーヘッドは低減される。
個人がどのグループに分かれるかは、開発しているソフトウェアの種類やチームのメンバーの能力、
他のシステムとの対話性の度合い、開発チームの規模などに依ることが多い。
少人数で小回りのきくプロジェクトには気軽な型付けがより合い、フォーマルで大人数で仕事が分断されている
(プログラマ、アナリスト、テスト部隊、など)プロジェクトは厳密な型付けのほうがうまくいくことが多い、と結論づける者もいる。
0391nobodyさん
2009/08/20(木) 23:51:57ID:???実行速度という面では静的型に劣ると考えられている。反面多態性や記述の容易さで動的型は融通が利き、
Smalltalkなどのオブジェクト指向言語、スクリプト言語は動的型を採用するケースが多い。
動的型と静的型のどちらが安全なプログラムを記述できるのかは長年論争の的であるが、
双方とも適した問題領域、適した開発スタイルが存在し、異なった安全観念を持つ点を理解しなければならない
通常、静的型付けはオペレーティングシステムやシステムプログラムのような大規模で厳密性が要求される領域に適合するといわれている。
反面最初の型定義を誤ると一部分の影響が全体に波及すること、また柔軟性に乏しくわずかな変換に手間のかかる経路を用意したり
同じような機能を型別に実装しなければならないことなど、いわばお役所仕事的な煩雑さを伴うという弱点を持つ。
(なお近年の研究により静的型付けの言語も文脈から型を推論する型推論能力を持つなど簡略化の方向へ向かってはいる)
一方動的型付けの言語ではそもそも対象に特定の構造を期待しないため変更への対応は柔軟である。
特に配列、辞書、集合といったコレクションの利便性が顕著で、そのため近年いわゆるスクリプト言語は多くが動的型付けを採用している。
動的型付けの難点である最適化の弱さは、コンピューターの能力が増すことで相対的に小さな問題になっており、
スクリプト言語を中心に今後も動的型付けは発展するものと思われる。
0392nobodyさん
2009/08/20(木) 23:55:54ID:???部分的に強い型付けが出来る程度がPHPの理想系な気がする。
0393nobodyさん
2009/08/20(木) 23:58:39ID:???0394nobodyさん
2009/08/21(金) 00:09:49ID:???ライブラリが揃ってない時点でPHPerは移行しないだろ。
なぜなら自前で実装する知識が無いから。
フォームデータのパースすら出来ない人がほとんどなんじゃない?
0395nobodyさん
2009/08/21(金) 00:12:22ID:???0396nobodyさん
2009/08/21(金) 00:25:19ID:???0397nobodyさん
2009/08/21(金) 00:28:39ID:???0398nobodyさん
2009/08/21(金) 00:30:56ID:???0399nobodyさん
2009/08/21(金) 01:28:55ID:???俺は自作のフレームワークもどきを使っているよ。
最小でPHPファイル1つで完結する。
フレームワークというより、ファイルの置き方を決めた程度だけどな。
PHPを使わないでベタで書いたものから
簡単に移行できる設計になっているから、
ベタでかいていたけど、PHPファイルが数枚になって
ディレクトリ構造とか考え出したときに、すぐに変更できる。
0400nobodyさん
2009/08/21(金) 01:45:00ID:???0401nobodyさん
2009/08/21(金) 02:00:22ID:???CakePHPスレで見た希ガスwww
http://pc11.2ch.net/test/read.cgi/php/1236563737/617
0402nobodyさん
2009/08/21(金) 02:28:35ID:???0403nobodyさん
2009/08/21(金) 03:10:01ID:???0405nobodyさん
2009/08/21(金) 12:24:36ID:???http://www.ibm.com/developerworks/jp/xml/library/x-agavipt1/?ca=drs-jp
何故か今agaviが!
0406nobodyさん
2009/08/21(金) 16:00:04ID:???var_dump(strpos(100, '10'));
何で結果が違ってくるの?
0409nobodyさん
2009/08/21(金) 17:34:09ID:???ttp://jp.php.net/manual/ja/function.strpos.php
> needle が文字列でない場合は、 それを整数に変換し、
> その番号に対応する文字として扱います。
0410nobodyさん
2009/08/23(日) 14:47:30ID:???0411nobodyさん
2009/08/23(日) 15:53:07ID:???0412nobodyさん
2009/08/23(日) 15:53:16ID:???0413nobodyさん
2009/08/24(月) 02:01:45ID:???よく見たら<?=$val ?>じゃないのね。
そりゃ構文エラーだわ。
0415nobodyさん
2009/08/24(月) 12:42:48ID:???キー打つ時間がもったいねーだろ
0416nobodyさん
2009/08/24(月) 14:52:54ID:???0418nobodyさん
2009/08/25(火) 00:20:28ID:???0419nobodyさん
2009/08/25(火) 13:33:43ID:amBbmp7F補完を知らない暇人乙
0420nobodyさん
2009/08/25(火) 16:12:34ID:???俺も自作って言うか、ZendFWを自分の使い易いようにラッパーした物使ってる。
つうかZendFWが予想以上に出来る子だった。
0422nobodyさん
2009/08/25(火) 17:36:36ID:???やぁ俺。だが現実的にphp4の環境で動いているところが多くて、結局自前ラッパーフレームワーク互換の
php4用自前フレームワークもどきを作って2つをメンテナンスしていく羽目になって泣いている。えーん。
0423nobodyさん
2009/08/25(火) 18:57:14ID:???フォーム入力のバリデーションをしてエラーがあった場合、HTTP Response のステータスコードは何にすればいいでしょうか。
今までは特に指定してなかったので、結果として 200 OK を使っていたわけですが、
今度から Ajax 用のAPIを用意することになり、フォーム入力にエラーがあるかどうかを
HTTP Response のステータスコードで表すことになりました。
しかしどのステータスコードを使っていいのかよくわかりません。
フォーム入力にエラーがあることを表すにはどのステータスコードが適切でしょうか。
このスレはレベルの高い人が多いようなので、アドバイスをよろしくお願いします。
0424nobodyさん
2009/08/25(火) 19:42:58ID:???そもそも用途が違う
ページリクエストに対して返すもので、コンテンツのエラーは管轄外
0425nobodyさん
2009/08/25(火) 20:10:47ID:???通信自体は成功しているから200にしておくべき
XMLかJSONかわからないけど、status項目等を追加してシステム独自のエラーコードなりエラーメッセージで判断するのが普通と思われる。
0426nobodyさん
2009/08/25(火) 20:33:19ID:???補完云々以前に
> <?=$val?>
> <?php echo $val ?>
こういうコーディングする時点で終わってる。
0428nobodyさん
2009/08/25(火) 21:28:37ID:???0430nobodyさん
2009/08/25(火) 21:59:54ID:???0431nobodyさん
2009/08/25(火) 22:19:15ID:???PHP5.3に入れ替えてプログラム実行したら
ソースコードが表示されて混乱した。
0434nobodyさん
2009/08/25(火) 22:55:34ID:???うん。詳しくは検証していない。
php.iniで設定できるのかもしれないし、
自分がやったのがCLIだったので、CLIだけかもしれないし、
include/requireで読んでいるものは関係ないかもしれない。
が詳しくは検証していない。
考えてみれば、パスワードが含まれたファイルでミスってたら危険だね。
0435nobodyさん
2009/08/26(水) 00:35:59ID:???くだすれ行け
0436nobodyさん
2009/08/26(水) 02:01:58ID:???頭悪いとかってレベルじゃねーぞ…
そういう基本的なことすら理解してないって、よく恥ずかしげもなく宣言できるもんだなw
だいたいショートタグなんて使う意味がないだろ
1ファイル中に何度も書くもんでもないし、XMLとぶつかるし、こういうアホ達がやらかすし、
使わないようにしよう言われるようになってからもだいぶ久しいってのに…
0437nobodyさん
2009/08/26(水) 02:29:31ID:???0438nobodyさん
2009/08/26(水) 02:31:38ID:???そもそもHTTPリクエストに対するレスポンスのステータスを示すものであって
一般的にはバリデート結果の通知に用いるような使い方はするべきでない
そういうアホなことやってる企業とかもあるにはあるし、
解釈の仕方ではそういう用途に使えると曲解できなくはないと思うけど、
悪いこと言わんからレスポンスのなかにフラグでも持たせて判断するべき
つーかスレ違いだし、まず ftp://ftp.rfc-editor.org/in-notes/rfc2068.txt 嫁
0439nobodyさん
2009/08/26(水) 02:33:38ID:???0440nobodyさん
2009/08/26(水) 03:57:01ID:???センスを疑うよ、まったくwww
0441nobodyさん
2009/08/26(水) 10:01:33ID:???0442nobodyさん
2009/08/26(水) 10:57:59ID:???単に、<? と ”間違って” 書いただけだろ。
俺は人生で今まで一度も間違ったことが無いってやつは
挙手しろよ。
うそつき認定してやっから(爆笑)
0443nobodyさん
2009/08/26(水) 12:45:13ID:???0444nobodyさん
2009/08/26(水) 13:16:19ID:???0445nobodyさん
2009/08/26(水) 13:29:22ID:???コードレビューしたら笑われても文句言えないレベル。
>>421
スニペットとかコードテンプレートでぐぐれ。
0446nobodyさん
2009/08/26(水) 14:56:15ID:???0447nobodyさん
2009/08/26(水) 14:56:32ID:???0448nobodyさん
2009/08/26(水) 14:59:35ID:???0449nobodyさん
2009/08/26(水) 15:03:19ID:???参っちゃう
0450nobodyさん
2009/08/26(水) 15:09:20ID:???0451nobodyさん
2009/08/26(水) 15:14:27ID:???てかHTML5が出たからXMLなんてもはや下痢便以下の存在だろ
そんなもののために便利なショートタグ使わないことが許されるのは小学生まで
0452nobodyさん
2009/08/26(水) 15:18:50ID:???0453nobodyさん
2009/08/26(水) 15:29:16ID:???えっ
0454nobodyさん
2009/08/26(水) 16:18:36ID:???どうしてもって言うなら、JSPみたいに<%なんかに変えちゃった方が良かったと思う。数少ないPHPのメリットなのに。
0455nobodyさん
2009/08/26(水) 16:28:09ID:???0456423
2009/08/26(水) 16:41:30ID:???>通信自体は成功しているから200にしておくべき
えー、そうでしょうか。「通信の成功」って、どのことを指してます?
>XMLかJSONかわからないけど、status項目等を追加してシステム独自のエラーコードなりエラーメッセージで判断するのが普通と思われる。
そういう項目を追加したくないので status code を使いたいんですけどだめですか。
>>429
>通信自体は成功しているから200にしておくべき
>
>これは無いだろう
ですよねー。
>>432
>400 Bad Requestじゃね?
最初はそのつもりだったんですけど、仕様書によると、400はHTTP Requestの構文が違っていることを表すものなので、
validation errorを表すのには不適切ではないかとおもいました。(それで今回質問したわけです。)
0457nobodyさん
2009/08/26(水) 16:49:29ID:???少なくとも推奨されるべきものでは無い。
0458423
2009/08/26(水) 17:01:58ID:???こちらのページを参考にした結果、422 Unprocessable Entity を使うことにしました。
このステータスコードは、たとえば送信されたXMLデータが妥当でなかった場合などに
使われるようなので、validation error のときもこれでいいだろうと思います。
以下引用:
> 422 Unprocessable Entity
>
> | 422 (Unprocessable Entity) ステータスコードは、サーバはリクエストエンティ
> | ティの内容タイプは理解でき (そのため 415 (Unsupported Media Type) ステー
> | タスコードは不適切である)、リクエストエンティティの構文は正しい (従って
> | 400(Bad Request) ステータスコードは不適切である) が、含まれる命令を処理
> | できないという事を意味する。 例えば、XML リクエストボディが
> | well-formed である (すなわち、構文的に正しい) が、意味的に誤った XML 命
> | 令を含む場合、このエラー状態が生じるであろう。
>
>
> ステータスコード 422 は、WebDAV について記述されている RFC 4918 内で定
> 義されています。
>
> リクエストに同封されるエンティティが処理できない場合に、このステータス
> コードが返されます。 例えば、上の文にあるように、エンティティ中の XML
> が妥当{valid} でない場合が考えられます。
すれちがいすみませんでした。
0459nobodyさん
2009/08/26(水) 17:49:16ID:???> PHPが書かれたファイルにXMLが書かれてるケースなんてほとんどないだろ
確かに
> てかHTML5が出たからXMLなんてもはや下痢便以下の存在だろ
HTML5の規格は調べてないから知らないが、どうせXML文書だろ。
XMLとXHTMLの違いも分からないのか?
> そんなもののために便利なショートタグ使わないことが許されるのは小学生まで
非推薦のショートタグを使うことが許されるのは素人だけ
0460nobodyさん
2009/08/26(水) 18:05:09ID:???ショートタグの何を恐れているのか
理解できない。
0462nobodyさん
2009/08/26(水) 19:10:34ID:???0463nobodyさん
2009/08/26(水) 19:27:27ID:???未対応設定になってるサーバがあったり、
顧客の社内規約で禁止になってたりするからじゃない?
個人的にはオープンソースなスクリプトでショートタグ使ってたら、一気に醒める。
利便性より汎用性。
0465nobodyさん
2009/08/26(水) 19:48:29ID:???finally 実装しないでgotoだもんな。
しかも try/catchより goto の方がコードが綺麗になるとか言っちゃうくらいだし・・・
PHPユーザの質の低さがばればれだよね。
(ネームスペースもgotoもユーザ意見で最終決定したと思われる)
ここもいずれ、goto厨が湧いて「便利なのになんで使わないんだ!」とか言い出すんだろうね。
0466nobodyさん
2009/08/26(水) 20:36:58ID:???goto hell
hell: die('\(^o^)/オワタ');
0468nobodyさん
2009/08/26(水) 23:06:50ID:???■ このスレッドは過去ログ倉庫に格納されています