トップページ⇒php
1001コメント282KB

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2008/08/24(日) 21:43:37ID:???
前スレ
http://pc11.2ch.net/test/read.cgi/php/1202521438/
0810nobodyさん2008/12/06(土) 02:45:59ID:???
例えばDBからのデータをとるとき。

オブジェクトの中に保持する
$WB = new Weblog;
$WB->findById( 1 );
echo $WB->getTitle() ;
みたいなヤツと

データセットを返すやつ
$WB = new Weblog;
$data = $WB->findById( 1 );
echo $data['title'] ;

どっちが好きですか??

オブジェクト思考っぽいのは前者かなぁとか思うのですけども
後者のほうが、なんか使いやすい感じもする。
0811nobodyさん2008/12/06(土) 02:55:55ID:???
前者はActiveRecordパターン、後者はDataMapperパターンですね。
自分はDataMapperのほうが好き。
0812nobodyさん2008/12/06(土) 03:01:45ID:???
>>810
前者はActiveRecordっぽいってことになるのかな?それなら、

$WB->findById( 1 );
echo $WB->getTitle() ; // $WB->title もたぶん可
$WB->title = 'new title';
$WB->save();

とかできるメリットが結構大きいような。あんまり直接比較できないような気がする。
例えば前者でも、後者との折衷で返値を持つようにして、

$data = $WB->findById(1);
echo $data->title; // 配列で返せば echo $data['title'] も可

とかやることは可能だろうし。
08138102008/12/06(土) 03:14:49ID:???
あ、すみません。状況を書いていませんでした。
初心者教育みたいな感じで使うものです。

PHPの基礎的なこと、PHPとHTMLが混在するアレをやったあとで
実践編としてMVC的な考え方を導入しようと思っています。

Vの切り出しはわりとすんなりできるのですが
Mの例はどっちかなぁ。。という。

善し悪しは一概には言えないと思うので
いっそ、好き嫌いを聞いてみようとw
0814nobodyさん2008/12/06(土) 03:31:39ID:???
>>813
使うモノによるんだろうけど、>>810の前者の方は、「〜〜パターン」っていう思想をまず理解し、
そのライブラリのドキュメントのサンプルなんかを熟読して勉強しないと使えない気がする。
後者は、とりあえずニュアンスで使える感じ。
そんなざっくりした感想。

自分の好みはどちらかというと前者の、なんか有機的で乾いてない雰囲気でしかもよく考えられていて
またしっかり作り込まれている、っていうライブラリだけど、そんなものある程度以上は幻想な気がする
ので、どうせ中途半端になるんだからどっちでもいいやって思う。
言い方は悪いが、前者はトリッキー、後者は土方的、に感じる。
0815nobodyさん2008/12/06(土) 03:39:49ID:???
>>812

>あんまり直接比較できないような気がする。

はいw
なので好き嫌いを聞いてみようかな、と。
または感じるメリットかな?

有名そうなフレームワークを見てみましたが
どっちが優勢というわけでもないようです。
0816nobodyさん2008/12/06(土) 03:47:56ID:???
>>814
オブジェクトは実際に存在するモノ、という説明があるるじゃないですか。
それにメッセージを投げて、状態を変える、みたいな。

そうすると、前者のほうが、Weblogオブジェクトとしてより理解しやすいかな、と。
後者は、どっちかとういうとデータベースオブジェクトって感じ。


って、感覚ばっかりいってますね私。
0817nobodyさん2008/12/06(土) 14:38:17ID:???
>>810
$weblog = new Weblog();
$weblog->getTitle(); // コンストラクタ実行した直後にメソッドが死んでるってふざけてるの?
$weblog->findById(1); // 何を見つけるの?え、getTitle が生き返るの?ザオリクなの?
$weblog->setTitle('new title');
$weblog->save(); // 今の状態を永続化しますね
$weblog->findById(2);
if ($weblog->getTitle() !== 'new title') {
  // setTitle 呼んでないのになんでタイトル変わってるの?findById 呼んだせいなの?
  // findById で始まるトランザクションはどこまで続くの?野をこえ山をこえるの?
  // というか働きすぎじゃないの?コンストラクタ以上にコンストラクタ味なの?
}

そんな訳で後者が好きです
0818nobodyさん2008/12/06(土) 15:11:24ID:???
ようは、前者が参照渡しで後者が値渡しみたいな感じかな
前者でも、データセットを返す機能がほしければそういうメゾッドを実装すればいいわけで
基本的にはオブジェクトの中で簡潔してるほうがいいかなぁって気もするし
後者だけだと、なんか丸投げな感が機能不足って感じだから前者のが好みかな

ってか使用用途が微妙に違う気がする
0819nobodyさん2008/12/07(日) 00:31:50ID:???
前者も後者もドメインオブジェクトにデータベースへのアクセスロジックを持っているという点では
アクティブレコードに類似してるけど、教科書(PofEAA)にならうならfindByIdメソッドは
新たに生成したWeblogのインスタンスを返すべき。
function findById($id) {
...
$data = mysql_fetch...
$weblog = new Weblog();
$weblog->setTitle($data['title']);
return $weblog;
}
0820nobodyさん2008/12/07(日) 03:55:48ID:???
>>810のどっちかっていう話より、$obj->getTitle() が気になる
値を参照するだけならむしろ $obj->get('title') の方がわかりやすいし、場合によっては
配列使った方が楽できるような気もする
なんかこの辺の、Java風オブジェクト指向っぽいまわりくどい記述が好きになれない
0821nobodyさん2008/12/08(月) 01:26:16ID:???
>>817

ごめんなさい。例がよくなかったかもです。

もしやるなら>>819のような実装を考えております。

ご指摘のサンプルで言えば
$weblog->findById(2);
じゃなくて
$weblog2->findById(2);
という使いかたです。

メソッド名が不自然かな?
0822nobodyさん2008/12/08(月) 01:38:25ID:???
>>820
>値を参照するだけならむしろ $obj->get('title') の方がわかりやすいし

はい。
クラス変数を直接触らせないためのgetter,setterって目的だったら同じことですよね。

実は私も、それでいいんじゃないのかな?と思ったりしましたが
いろいろなフレームワークやOOPの説明を見ても
そういう実例がなかったので入れませんでした。
0823nobodyさん2008/12/08(月) 06:07:44ID:???
自分はget("title")よりgetTitle()派だなぁ
多機能メゾッドはあまり好きくない
0824nobodyさん2008/12/08(月) 10:55:37ID:???
get('title')だとエディタで補完できないし、スペル間違える可能性もあるよね
0825nobodyさん2008/12/08(月) 11:14:50ID:???
>>824
__call() での自動呼び出しとかじゃないの?全部書いちゃうの?

今はどうなのか詳しくは知らないけど、RDBのフィールド名って大文字小文字を区別しないことがあって、キャメルケースは使いにくかったように思う。
だから、いちいち login_password <=> LoginPassword みたいな書き換えが起こるってことだけでJavaっぽいのは違和感があるなー
0826nobodyさん2008/12/09(火) 00:15:24ID:???
>>824
補完したいならconst定義して
->get(BLOG::TITLE)
じゃない?
0827nobodyさん2008/12/09(火) 01:23:06ID:???
> $obj->get('title')
引数に title2 を与えたら何が返ってくるんだ?
汎用的なコンテナじゃないのだから
部品へのインターフェイス、getTitle() を用意すべき

>>826
824は静的テストでチェックできるかどうかを言いたいんでしょ
0828nobodyさん2008/12/09(火) 01:43:15ID:???
nullが返って来ればいいじゃん
0829nobodyさん2008/12/09(火) 01:51:48ID:???
DAOが扱うデータの構造を知らないなんてことはないし、
ユーザ側が直接文字列を投げ込まないといけないようなメゾッドはなんかイマイチ感
0830nobodyさん2008/12/09(火) 02:58:50ID:???
そもそも(特にPHPで実装されている)DAOがダサイっていう意見ではないのかと。
利用する側からしたら、補完機能付きエディタを使うんでなければ 'title' を 'tilte' なんて
書き間違えてあちゃーも getTitle() を getTilte() であちゃーも大して違いはない。
どっちでも例外吐こうと思えば吐けるし。
メソッド名の補完や静的チェックに関しては思想が違うとしか言いようがない。
ActiveRecordも流行の実装は自動的で動的なメソッド定義だし。そんなの静的チェック
なんて(むちゃくちゃ頑張らないと)できないんじゃ?
0831nobodyさん2008/12/09(火) 03:22:57ID:???
シングルトンやサービスロケーターは結局のところグローバルじゃないかね、ケシカラン
とか
DIコンテナって結局GoFのストラテジーじゃないか、イランイラン
とか

OOPって偉い人同士でいつもそんな事言い合ってる、と俺印象。
0832nobodyさん2008/12/09(火) 03:36:48ID:???
>>831
うむ、正しい
えらいひとがはまりやすいところ

でも分かってくると、OOPは大変強力なのも確か
0833nobodyさん2008/12/10(水) 02:22:33ID:???
cakePHPとsymfonyの違いってどんなところ?
0834nobodyさん2008/12/10(水) 03:09:07ID:???
こんなこと言う奴がいたらアホかと思うけどな
>DIコンテナって結局GoFのストラテジーじゃないか、イランイラン
0835nobodyさん2008/12/10(水) 05:29:58ID:???
これでいいだろ。
error_reporting(E_ALL);
print $row['tilte'];
0836nobodyさん2008/12/10(水) 09:01:52ID:???
>>834
http://www.infoq.com/jp/news/2007/12/does-di-pay-off
http://kohari.org/2007/08/15/defending-dependency-injection/
0837nobodyさん2008/12/10(水) 15:41:06ID:???
>>836
アホって言ってんのは >結局GoFのストラテジーじゃないか、イランイラン
の論理展開のことね。ストラテジーと似通う部分はあるにしても要らんっていうのは飛躍
0838nobodyさん2008/12/10(水) 17:21:51ID:???
ああそこか。
雰囲気を伝えたかっただけで正確に書いたわけではないのだ。
0839nobodyさん2008/12/10(水) 17:25:33ID:???
下らん議論してないで早く833の質問に答えろやゲリクソ野郎ども
0840nobodyさん2008/12/10(水) 17:34:12ID:???
>>833
すみません、おもしろい話が思いつきません
0841nobodyさん2008/12/10(水) 17:41:40ID:???
symfony使ったことない
PEARでインストール出来るみたいだけど、PEARに依存してる?
本体や拡張のどこかで PEAR.php をrequireしたりしてたりしないよね。
0842nobodyさん2008/12/10(水) 19:36:26ID:???
シンフォニー JAVA的
cake ROR的
CI PHP的

俺印象。どれも使った事は無い。
0843nobodyさん2008/12/10(水) 19:38:31ID:???
的外れでしかも使ったことがないとかなんで書き込んだのか分からん。
0844nobodyさん2008/12/10(水) 19:42:03ID:???
お前の意見を言えば
0845nobodyさん2008/12/10(水) 20:00:37ID:???
Java的とかPHP的とか例えが狂ってるだろ
使ったことがないんじゃなくて使えないんだろ
0846nobodyさん2008/12/10(水) 20:27:01ID:???
人の事いいから
お前の意見は
0847nobodyさん2008/12/10(水) 20:35:59ID:???
下らんことで荒らすなカス共
0848nobodyさん2008/12/10(水) 20:43:48ID:???
>>846
意見も何も>>842のやりたいことが意味不明だから
使ってないのに俺印象とか、何の印象だよ エスパーかよ
PHPとかJavaとかRoRとか何のカテゴライズだよ
なんでフレームワークと言語がごっちゃになってるんだよ
お前の意見は、意見は、って何が聞きたいんだよ
0849nobodyさん2008/12/11(木) 00:23:14ID:???
>>848
〜的は使った人から聞いての俺なりの印象。

クリケットは英国的
これ聞いてスポーツの話してんのに国の話して狂ってるとか言ってるのがお前。イメージ伝わらなかったらそれでいいんでスルーしろよ。

それ以上やりたいならURL指定してくれ。そこでいくらでも粘着つき合ってやる。
0850nobodyさん2008/12/11(木) 02:09:29ID:???
>>849
それどういうイメージ?
0851nobodyさん2008/12/11(木) 08:36:06ID:???
>>849
スポーツとかいきなり例えにもなっていないもの持ち出してどうすんだよ
使ったことすら無い人間と議論して何を得られると思ってるんだよ
0852nobodyさん2008/12/11(木) 08:42:59ID:???
得られた答えが使ったことない人の先入観だけとは・・
cakeとsymfony両方使った人いないのですか?
早く答えろよ、ミクロちんぽ男どもが。
0853nobodyさん2008/12/11(木) 11:13:45ID:???
yiiフォーラム、日本だけ書き込みないってのもなんか寂しいなw
0854nobodyさん2008/12/11(木) 12:00:39ID:???
きっと日本人はみんな英語のフォーラムで十分なんだよ!
と言ってみる。
0855nobodyさん2008/12/11(木) 13:11:31ID:???
yiiを試用したみたいなページが日本語であったので、参考に少し触ってみた。
viewファイルの拡張子が .php 決め打ちに見えるorz
CController.phpにハードコードしてるように見えるんだが、どこかで変えられるのかな・・・

ってのを、誰か英語で質問よろしく。
0856nobodyさん2008/12/11(木) 16:09:30ID:???
>>855
どこだろう。ぐぐったら出てくるかな?
ためしに触ってみた的なblogは一つみつけたけど
0857nobodyさん2008/12/11(木) 21:20:06ID:???
>>856
ねらーっぽい記述なら多分それ
0858nobodyさん2008/12/11(木) 23:07:29ID:???
なんだこの無茶振りしときながら上から目線
0859nobodyさん2008/12/12(金) 01:15:47ID:???
被害妄想?
0860nobodyさん2008/12/12(金) 04:32:30ID:???
>>857
あの途中からどんどんふぁびょってってるようなアレかw
なかなか面白かったけどw
他のフレームワークの使用経験も殆どないけど、yiiちょっと触ってみるかなー
せっかくだしお勉強してみよう
0861nobodyさん2008/12/12(金) 05:09:09ID:???
'urlFormat'=>'path'指定したら
 〜hogehoge/index.php/hagehage〜
みたいにはできるけど、このindex.phpもどうせなら表示しないようにしたいな
英語超苦手だけどちょっとドキュメントとにらめっこしてみるか…
0862nobodyさん2008/12/12(金) 13:27:05ID:???
>>861
それはpathinfoみてやってるんだろうね。
mod_rewriteなんかを使わないと、実行スクリプトの省略はたぶん無理。
mod_rewriteでいいなら、railsでもcakeでもZFでも何でもいいから.htaccessをパクってくればおk。
フロントコントローラ置いてるフレームワークなら大概同じ。
0863nobodyさん2008/12/12(金) 15:55:13ID:???
>>862
rewrite前提なのは理解してます
直接アンカータグ書いてURI決めうちしとけば問題ないんですが

たとえば、(略) array('label'=>'Home', 'url'=>array('site/index')), (ry)
て感じに指定してURL吐かせると /appname/index.php/site/index
といった絶対パスになるんすよ(urlFormat=>path設定しておいた場合)

なんで、これを相対( ./site/index ) とかで吐かせれないかなーと思いまして
0864nobodyさん2008/12/12(金) 17:46:15ID:???
関係ないけど、そのURLの仕組みで相対は厳しくない?
/hoge/page の絶対指定が定番だと思ってた。てかデザイナにもそう頼んでるw
0865nobodyさん2008/12/12(金) 17:59:27ID:???
そうでした。勘違いしてました
0866nobodyさん2008/12/12(金) 19:28:34ID:???
>>861
CUrlManager#showScriptName
0867nobodyさん2008/12/12(金) 21:22:48ID:???
>>866
きたこれ
ありがとう大感謝
0868nobodyさん2008/12/16(火) 10:35:42ID:tHoVMtEc
hoge.com/poge/categoryId/100
って感じのPATHINFO的パスって、一時期はSEO的な意味もあったかもしれないが
今となっては何の意味もなくね?
むしろ今となっては非本質的で気持ち悪い気ガス
0869nobodyさん2008/12/16(火) 10:43:14ID:???
俺も前からそう思ってた。
結局は&や?を/に置き換えてるだけだもんな。
グーグルとかのクローラーは知らんけど、人間が読む分には、すなおにindex.cgi?name=foo&passwd=barとやった方がわかりやすいよな。
0870nobodyさん2008/12/16(火) 10:45:25ID:???
あ、ただ、フロントコントローラーを採用してて、アクションクラス名を指定する場合は、スラッシュ区切りの部分に含めた方がいいと思う。クエリパラメーター部分は?以降でいいと思うが。
0871nobodyさん2008/12/16(火) 12:00:14ID:???
<a href="../">上のカテゴリへ</a>

とかできて便利じゃないか。

<a href="./">やりなおし</a>

とかも、パラメタが全部引っ付いてきてお得じゃないか。
0872nobodyさん2008/12/16(火) 14:05:02ID:???
意味があるならアリだと思う
けどただのパラメータを/区切りにする意味はないと思ってる
ようは>>871の言うようなことが出来ないただのデータの羅列なら素直に>>869的にやるべき
08738712008/12/16(火) 17:04:46ID:???
>>872
俺はPATH_INFO賛成派だが、

http://.../user/yamada/pass/word/sex/male

みたいなパラメタ付けは好きじゃない。

http://...../map/pref/12/

で、"../13/"で隣の県が参照できたり、"../"で都道府県一覧が
表示されるのが美しいと思う。
0874nobodyさん2008/12/16(火) 17:17:06ID:???
順序が固定されちゃうのが好かんな
0875nobodyさん2008/12/16(火) 18:01:40ID:???
>>874
>>873が言うのは、URLの見た目通りに、ディレクトリ階層っぽい作りがいいって話だろ。多分。
順番はむしろ固定しなきゃ。
0876nobodyさん2008/12/16(火) 18:05:28ID:???
>>875
そうそう。代弁ありがとう。
0877nobodyさん2008/12/16(火) 20:05:52ID:???
>>869
ndex.cgi?name=foo&passwd=baが読みやすいというのは
プログラマー的な視点だと思う。
しかもpasswd筒抜けやんw
初心者は
hoge.com/poge/categoryId/100
で区切られてる方がわかりやすい
0878nobodyさん2008/12/16(火) 20:09:51ID:???
グーグル様が(=^_^=) をよく拾うなら
俺は迷わずURLに(=^_^=) を使う

hoge.com(=^_^=) poge(=^_^=) categoryId(=^_^=) 100

URL形式はまさにグーグル様次第だ
0879nobodyさん2008/12/16(火) 20:11:17ID:???
google様的には、pathinfoとクエリで差はないんじゃね?
0880nobodyさん2008/12/16(火) 20:16:09ID:???
一度根付いた最適化をやめるのは
根拠となるデータがないとまず無理
0881nobodyさん2008/12/16(火) 20:18:34ID:???
少しでもページランクが上がるなら
顔文字でも何でも使うよ
まずクエリでも差がないという信用できるデータが欲しい
0882nobodyさん2008/12/16(火) 20:31:31ID:???
具体的には分からないが、
yahoo等の大手サイトでは、
めっきり「必然性のないpathinfo形式」を見なくなった気がする
0883nobodyさん2008/12/16(火) 20:42:43ID:???
yahooはどちらかといえばページを収集する主役の方だから
yahooのURLはSEOのお手本というより
自社都合のURL形式にしてるんじゃないかな

0884nobodyさん2008/12/16(火) 22:18:32ID:???
コントローラとアクションはセパレータじゃないと嫌だ。
ディレクトリと同じで、コントローラの中にアクションがあるっていう
入れ子関係なんだし。

ドメイン/大枠/小枠/パラメータって決まってた方が綺麗じゃん。
ユーザが、URIを削ったりした時に、indexでカテゴリーの目次に飛んだり出来るじゃん。

クエリに&使う場合って、w3cのストリクトな文法ではHTML内でリンク書く時でも
HTML2.0の頃から、本当は&って書かなきゃいけない事になってるんだぜ。
0885nobodyさん2008/12/16(火) 22:20:21ID:???
変換されちゃった。
下の&は&amp;な。
0886nobodyさん2008/12/16(火) 23:07:56ID:???
>>877
> >>869
> ndex.cgi?name=foo&passwd=baが読みやすいというのは
> プログラマー的な視点だと思う。
> しかもpasswd筒抜けやんw
> 初心者は
> hoge.com/poge/categoryId/100
> で区切られてる方がわかりやすい
name=fooなら、nameとfooが対応してるのが誰でも分かるだろう。&ってANDが文章をつなぐ単語って小学生でも知ってる。
/で区切るとどこまでがURLでどこからがクエリパラメータか分からない。
http://example.com/news/name/10で、nameがアクションクラス名なのかクエリパラメータのキー名なのか、誰にも分からない。
0887nobodyさん2008/12/16(火) 23:59:17ID:???
まあ、ちっちゃな利点を上げてみると、
http://example.com/news/name/10.html というURLだったとして、
動的に出力されているのか静的に置かれているのかも誰にもわからない。
そしてそれは、いずれ静的なファイルに置き換えてもリンクを変更する必要がない。
こういう事をいうと You Aren't Gonna Need It とか言われるのかも知れないけど、あくまで一利点として。
0888nobodyさん2008/12/17(水) 01:16:44ID:???
>>886
>name=fooなら、nameとfooが対応してるのが誰でも分かるだろう
おまえがプログラマだからだろ?
初めてPCさわったとき、URLの意味が全く不明でした
URLつかってデータ飛ばしてるということ知らなかったし
だからURLは/区切りの方が単純明快でわかりやすい
わかりやすいといっても素人的観点からのわかりやすいという意味だよ
nameがわからないとかはプログラマ視点やろ
0889nobodyさん2008/12/17(水) 01:21:40ID:???
クエリは小さいサイトならわかるかもしれんけど
yahooとかのクエリて
どんだけパラメータはいってんねん、
これ何の変数なん?てくらい
長いで
あそこまで長いパラメータなら区切てのクエリでも
変わらんわな。ロボットも長いURL拾わんやろうし
0890nobodyさん2008/12/17(水) 01:24:05ID:???
残念ながらそれはお前が低脳なだけだ
0891nobodyさん2008/12/17(水) 06:45:41ID:???
本来ディレクトリを示す記号をほかの事に使ってるというのがまず気持ち悪い
いっこ削って上の階層にいけないようならスラッシュ区切りにする意味ないとおもうわー
0892nobodyさん2008/12/17(水) 08:45:42ID:???
普通にウェブをみる分にはURLなんて意識する必要ないんだよ。リンクをクリックするだけ、ブックマークするだけなんだから、URLを見る必要はない。
携帯のブラウザなんかだと、URLが確認出来なかったりするぐらいだから。
あえてURLを見ようと思った時に、/区切りでパラメータとURLが一体になってる方がわかりやすいか、パラメータがハッキリ区別されてる方がわかりやすいか。当然、後者。
/区切りが有効なのは、昔のSEO対策ぐらいなもの。それ以外は開発者の自己満足。
0893nobodyさん2008/12/17(水) 11:19:55ID:???
でも wikipedia.org/WebProg が wikipedia.org/index.cgi?q=WebProg だったら面倒だろ。要は使いどこ
0894nobodyさん2008/12/17(水) 19:49:31ID:???
パラメータが多いときは普通両方合わせて使うだろ
0895nobodyさん2008/12/17(水) 20:58:37ID:???
>>886
URLで何を表してるか、なんじゃないかなぁ。。

そこで出てるニュースの例なら

news.php&year=2009&mon=12&day=17

よりも

news/2009/12/17

のほうが、意味あいとして分かりやすいと思うけど。
0896nobodyさん2008/12/18(木) 01:49:52ID:???
別に http://example.com/news.cgi?2008&12&18 ってやったっていい。
URL本体とクエリストリングは本来機能が違う物なのに、わざわざごちゃ混ぜにしてるところに問題がある。
しかも、mod_rewriteに頼らないと行けない。
画面とURLのマッピング表を参照しなければ、クエリストリングが取り出せなくなるのは、開発性の低下。
手間がかかるくせにメリットが少ないから、/区切りにするのはくだらないと思う。
0897nobodyさん2008/12/18(木) 01:54:25ID:???
> しかも、mod_rewriteに頼らないと行けない。

そんなことはない
0898nobodyさん2008/12/18(木) 02:07:07ID:???
どうやるわけ?
0899nobodyさん2008/12/18(木) 02:09:31ID:???
問題は、要素によってpathinfoとクエリを使い分けたいのに、
ヘルパを通すと一括してpathinfoにされることではないか。
0900nobodyさん2008/12/18(木) 02:10:07ID:???
PATH_INFOだな。
例えばnucleusのfancyモードもmod_rewirte使ってない。
0901nobodyさん2008/12/18(木) 02:16:40ID:???
もう好みの問題だな
0902nobodyさん2008/12/18(木) 02:16:47ID:???
それだとApacheに別の設定を加えないと行けないじゃん。
0903nobodyさん2008/12/18(木) 02:20:07ID:???
俺も好みだと思うよ。けど、記号が少ない分、見た目が良いぐらいしかメリットないじゃん。後はどこまで効果があるか分からないSEO対策か。
開発効率落としてまでやる事じゃないと思うけど、それがこだわりだって言われれば、そりゃ勝手ではあると思う。
0904nobodyさん2008/12/18(木) 02:21:36ID:???
>>902
.htaccessで済む。まぁ許可されていればの話しだが。

> 画面とURLのマッピング表を参照しなければ、クエリストリングが取り出せなくなるのは、開発性の低下。

フレームワーク使っているのなら、わざわざクエリストリングを直接弄るようなことはないだろうに。
>>901に同意。俺は/区切りの方がスッキリする。
0905nobodyさん2008/12/18(木) 02:31:24ID:???
意味のない区切り出なければ/で区切るのが自分の中での最適解
0906nobodyさん2008/12/18(木) 02:40:08ID:???
画像のサムネイルをキャッシュする場合は/区切りだとフェイクできるな
画像加工済みであれば、ファイルが存在するからそれを返して
まだであれば、加工して保存後それを返すって感じで
0907nobodyさん2008/12/18(木) 02:42:33ID:???
mod_rewriteだって、.htaccessで出来るだろ。
例えばhttp://example.com/news/2008/12/18だって、年月日の順で引数が渡されることを把握してなければいけない。
こんなのすごくくだらない。
func(2008,12,18)ってプロトタイプよりfunc(array(year=>2008,mon=>12,day=>18))の方がメンテナンス性の高いプロトタイプだよ。
0908nobodyさん2008/12/18(木) 02:53:47ID:???
symfonyだと名前を付けられるよ
順番変更になってもルーティング弄れば全部反映されるし
ただパフォーマンス的にコストがちょっとかかるけど
0909nobodyさん2008/12/18(木) 03:21:10ID:???
>>907
いや、>>904では、「mod_rewrite必須。でなければ、Apache別設定必要」という意見に答えたまで。

> こんなのすごくくだらない。

だからくだらないかどうかは好みの問題でいいんじゃね。
メンテナンス性も大事なのはわかるが、糖衣構文と同じで慣れもあるし。
09108952008/12/18(木) 04:24:35ID:???
>>896

うーん。。そういうのが>>877が言ってる
プログラマ的視点ってことじゃないかなぁ。。

URLは場所やリソースを表すって意味じゃ
階層的にで表現できるものは/区切りがキレイな感じがする。

year=2008&month=12&day=18
ならまだしも
month=12&year=2008&day=18
って、なんか気持ち悪くない?

RESTにちょっと興味あるからかも知れんけどw
レス数が900を超えています。1000を超えると表示できなくなるよ。