【PHP】フレームワークについて語るスレ9【総合】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2007/12/11(火) 23:37:20ID:???http://pc11.2ch.net/test/read.cgi/php/1192604501/
0952nobodyさん
2008/02/06(水) 22:48:49ID:???・サーバサイドと(リッチ)クライアントサイドで同じ言語で記述できれば楽できる
・だからJavaScriptでPHP実装をすることに意味がある
ってこと?
ただここにいる多数の感覚では、わざわざPHPを実装せんでもなあ、と。
それなら、むしろサーバ側でJavaScriptで書ければイイじゃんって>>891とかで
言ってるし、確かにそれでいいと思う。なんで>>889はJavaScriptよりもPHPがいいと
思うんだろう。
現状でも、JavaScriptエンジン組み込んだApacheモジュール(mod_javascript?)とか
あっても不思議はなさそうだけど、誰か作ってないのかな?
もしくはコマンドラインインタプリタとか。それでCGIはできるな >>929 が言うように。
(Windowsはまったく知らないのであしからず)
>>889の為にまとめてみたが、この辺りにちゃんと答えないとただの馬鹿で終わり?
0953nobodyさん
2008/02/06(水) 22:49:09ID:???いや、プロジェクトは一つきりじゃないでしょ?
次のプロジェクトで新しいバリデーションコードを書くとき、
コードをコピペするのであれば、それは「よく似た違うコード」を生み出すことになる
結局、コードを主体に考えているからPHPとJS共用コードという発想になるので、
本質的な依存条件を考えた方がいいんじゃないの?という話
0957nobodyさん
2008/02/06(水) 22:51:35ID:???> 現状でも、JavaScriptエンジン組み込んだApacheモジュール(mod_javascript?)とか
> あっても不思議はなさそうだけど、誰か作ってないのかな?
はるか昔はあった。ネットスケープのサーバーかなにか。
最近また出てきたみたいだが、まだベータ版。
選択しにはならないと思うよ。
0959nobodyさん
2008/02/06(水) 22:52:39ID:???> 次のプロジェクトで新しいバリデーションコードを書くとき、
> コードをコピペするのであれば、それは「よく似た違うコード」を生み出すことになる
なんで? バリデーションコードをそのまま使えばいいじゃん。
0960nobodyさん
2008/02/06(水) 22:55:00ID:???うん、だからそれをするのがバリデータでしょ?
PHPでもJSでもそれを使えばいいんじゃないと言ってるわけ
0961nobodyさん
2008/02/06(水) 23:00:01ID:???だけど、俺が知る限りバリデータでは複雑なチェックはできないんだよね。
未入力チェックとか、正規表現の比較とか、数値の範囲とか、その程度。
ラジオボタンでAの値が選択されているときは、チェックなし。
Bの値が選択されているときはチェックあり。とかできる?
0962nobodyさん
2008/02/06(水) 23:02:35ID:???>956
いや、後から出てる反論のほとんどは>891で出てる。
それはいいんだけど、やはり実行に移さないことには価値がない
0963nobodyさん
2008/02/06(水) 23:04:45ID:???WEBアプリの入力チェックなんて、定番があっても良さそうなのに。
テンプレートエンジンと比べてえらい寂れようだ。フレームワークに結合されてしまってるのが多いからかな?
HTML_QuickFormも、結局入力がフォームデータ限定でしか使えないし、バリデータ部分だけ切り出せないのかな。
良いのがあるんだったらエロイひとお勧めして。
>>961
そういうのは多分設定ファイルでは無理で、バリデータクラスのサブクラスの指定メソッドに個別処理を書く、とかいう
対処になるんじゃないかなぁ、と勝手にライブラリ仕様を想像してみる。
>>960がどんなのをつかってるのかは知らないけど
0964nobodyさん
2008/02/06(水) 23:05:35ID:???先に(PHPでもJSでも動く)コード書いた奴の勝ちって事だな。
0965nobodyさん
2008/02/06(水) 23:06:59ID:???> そういうのは多分設定ファイルでは無理で、バリデータクラスのサブクラスの指定メソッドに個別処理を書く、とかいう
> 対処になるんじゃないかなぁ、と勝手にライブラリ仕様を想像してみる。
で、そういうメソッドを書くとき、
PHPでもJavaScriptでも動くコードを
書けば楽って事でしょ?彼が言いたいのは。
0966nobodyさん
2008/02/06(水) 23:08:08ID:???0967nobodyさん
2008/02/06(水) 23:09:18ID:???素でやると物凄く不自由なコードになってそうだw
foreachやsprintfが使えないPHPなんて本当に何のメリットもない糞言語だろ。
あと、文字列結合が素直には出来なさそう?
本当に限定された局面のみ有効になりそうだ。PHP.jsってそういうのはうまくやってくれるの?
0968nobodyさん
2008/02/06(水) 23:11:56ID:???このリストを見る限り、sprintfは使えるようだな。
0969nobodyさん
2008/02/06(水) 23:12:12ID:???PHPとJavaScriptではオブジェクトの仕組みとかお互い全然違うから、
もしコード共有しようとしたらオブジェクト指向できなくなるし、いちいち二つの環境で確認するのめんどくさい。
YAMLとかでヴァリデーションの条件書いて各実装でそれを実現するのがよっぽどスマートだと思うんだけどな。
少なくともサーバーサイドJavaScriptよりもさらに現実味がないと思うよ俺は。
0971nobodyさん
2008/02/06(水) 23:28:42ID:???PHP.jsはPHPの関数をjavascriptに移植しただけ。
JavaScriptでのPHP実装とかじゃない
0972nobodyさん
2008/02/06(水) 23:29:05ID:???0973nobodyさん
2008/02/06(水) 23:32:41ID:???俺が使ったことのあるのはCake, CodeIgniter, Piece_Rightだけど、
その程度だったら問題ないし、追加の検証メソッドもサポートしてる。
しかし、やはりコード共用をやるなら、最終的にはコード生成に落ち着くような気がする。
結果的にその方が楽だと思う(例として挙がっているGWTもそういうことだし)。
後は、「実際にやってみて」としかいいようがない。
0974nobodyさん
2008/02/06(水) 23:44:25ID:???PHPとして動くようなJavascriptを書けばいいんでしょ?
それはともかく、同じECMAScript系だとFlex/ColdFusionもある
ActionScriptのフレームワークも揃いつつあるし、
ECMAScriptでサーバサイド・モジュールというのは十分現実的
0976nobodyさん
2008/02/06(水) 23:53:57ID:???> PHPとして動くようなJavascriptを書けばいいんでしょ?
なかなか難しいことを言ってるな。
JavaScriptの場合、オブジェクト指向がデフォだから、
array.push("1"); とか str.length とか良くある関数が使えない。
また、PHPの制約により、$から始まる変数名じゃないといけないし。
0977nobodyさん
2008/02/06(水) 23:54:33ID:???0978nobodyさん
2008/02/07(木) 00:16:59ID:???サーバーサイド=PHPでプログラミング…(1)
クライアントサイド=JavaScriptでプログラミング…(2)
【php.jsを使ったプログラミング作業】
サーバーサイド=PHPでプログラミング…(3)
クライアントサイド=PHPでプログラミングしたコード(3)をphp.jsで動かす。…(4)
(4)php.jsを使うことによって、(2)の手間が省けるという話ですか?
=バリデータくらいなら作れるのではないか?と。
PHPがJavaScriptの代替になるか?
=php.jsをテストしてみて、どの程度PHPのコードが動くものか確認しなければなりませんね。
0979nobodyさん
2008/02/07(木) 00:27:55ID:???単なる関数名のラッパーか?
php.js の検索結果 約 770,000 件
http://www.google.co.jp/search?q=php.js
PHPで使える便利関数をJavaScriptでも使えるようにする「php.js」 2008年02月05日
http://phpspot.org/blog/archives/2008/02/phpjavascriptph.html
>php.js をインクルードすれば、次のPHP関数と同名かつ同機能を使うことが出来ます。
>JavaScriptに慣れ親しみたいと思っているPHPプログラマの方は、これを元に、JavaScriptに移行していくのも手かもしれませんね。
PHPで書いたバリデーターに、PHPの関数が入っていても、コピペでJavaScriptで使える。
これを手動ではなくて、自動でやれば、コードジェネレーターを使うみたいに楽ができるよね?という話ですか。
そのコードジェネレーターは、もう誰か作ってくれてるの?
0980nobodyさん
2008/02/07(木) 00:50:45ID:???>半分正解。答えは、PHPとJavaScript。
http://jp.youtube.com/watch?v=yOS4GJf60gw
「はい!ここ、テストに出ま〜す♪」
>>975
http://www.google.co.jp/search?q=Jaxer
Jaxer の検索結果 約 222,000 件
0981nobodyさん
2008/02/07(木) 01:22:02ID:???0982nobodyさん
2008/02/07(木) 02:08:52ID:???JSでPHP関数のクローンを使うという発想が気持ち悪い
PHPは少なくとも「積極的に書きたい言語」ではないし
0983nobodyさん
2008/02/07(木) 02:18:25ID:???一回書こうとしたことあったけど
バリデーションて複数の層と、それなりに密接に関わるから
だんだんそれ自体がミニFW化していくんだよね
コントローラでは判定とaction分岐、
ビューではFormコンポーネントや値、エラーメッセージの生成や管理nado
なかなかキレイにまとめるのはむずかしす
0984nobodyさん
2008/02/07(木) 02:26:50ID:???気になるのは
ビデオチュートリアルでhello worldなんかを作ってるあたり。
そこはブログっぽいのとか作っとかなきゃダメだろ。
そこここにセンスのなさを感じて
ださいコードや構造になっているんじゃないかと危惧してしまう
0985nobodyさん
2008/02/07(木) 02:44:18ID:???ヒゲチェンはcakephpで作られてるらしい
0986nobodyさん
2008/02/07(木) 04:14:13ID:???しかし、CIの普及も十分とは言えないのに、なぜ派生プロジェクトが…
0987nobodyさん
2008/02/07(木) 04:25:36ID:???0988nobodyさん
2008/02/07(木) 07:29:28ID:???phpでもautoloadに頼らず
自分でinclude_once()するのが一番いいんじゃね?
0989nobodyさん
2008/02/07(木) 17:18:10ID:???StringとかIntがないのって何なの?
頭おかしいの?
0990nobodyさん
2008/02/07(木) 17:54:08ID:???特におかしいことではありません。
0991nobodyさん
2008/02/07(木) 20:05:31ID:???そもそもarrayのtype hintingすら5.1っつー中途半端なタイミングで入れられたんだ
大絶賛中言語PHPではIntegerのタイプヒンティング入れた日にゃ
初心者がリクエストパラメータそのまま引数に投げて
型が違うよっておこられるんだけどうわーんな惨状を回避するためさ、嘘だけど
実際でもstringとintegerの区別に関しては
何故か寛容なPHPだからあながち100%嘘でもなさそうなのがPHPの凄い所
0992nobodyさん
2008/02/07(木) 20:17:54ID:???0993nobodyさん
2008/02/07(木) 20:29:22ID:???少し前、ちょうどそんな感じでphp.internalがフレームしてた。(なんかまた再燃してるっぽい)
除算しただけでいつの間にかintがfloatになってた、みたいな罠もあるので
厳密なスカラーのタイプヒンティングは嬉しくないかも。
int, float, 数値文字列まで受け入れる「numeric」なら妥協できるようなやっぱりキモいような。
まあ、外部から来るスカラーはバリデーション通しとけってことで。
0994nobodyさん
2008/02/07(木) 20:49:26ID:???ハマっちゃうと慣れてない人は良く分からないだろうな
そういう意味ではちょっとでも型違うとエラーになる方が
分かりやすいしハマりにくい
さすがMatzにDISられる言語だけある
0995nobodyさん
2008/02/07(木) 20:53:13ID:???0996nobodyさん
2008/02/07(木) 21:49:13ID:???そもそもruby界隈だと型チェックでduck typing殺す意義が疑問視されそうだ
0997nobodyさん
2008/02/08(金) 06:40:44ID:???でpythonみたいに対話的に使えるの初めて知った
Ruby脂肪www
0998nobodyさん
2008/02/08(金) 08:07:20ID:???クライアントサイドのJavaScriptでも動くようにすればPHP最強。
0999nobodyさん
2008/02/08(金) 09:31:46ID:???1000nobodyさん
2008/02/08(金) 09:43:30ID:???> for($i=1; $i<10; $i++) {
> if(in_array($i, $sosuu)) {
> foo($i);
> }
> }
へぇ。これってJavaScriptとしても実行できるのか。
言われてみればわかるけど、目からうろこ
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。