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

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2007/12/11(火) 23:37:20ID:???
前スレ
http://pc11.2ch.net/test/read.cgi/php/1192604501/
0880nobodyさん2008/02/05(火) 07:08:25ID:???
>>879
別にPHPに限った事じゃないが、タブだと環境依存で変わる。
タブがスペース2相当だったり、4相当だったり、8相当だったりで。
純粋なスペースならどこでも必ず4マスなのは結構重要。

あとスペース4文字の何が面倒なんだ?
まさか毎回スペース4文字いちいち打ってるのか?
エディタにタブ押したら勝手にスペース4文字にしてくれる機能があるから、別に打つ方としては何も変わらないと思うんだが。
その設定しておけば普通にいつも通りタブ押してやるだけだし。

プロジェクトできっちりコーディング規約が決まっていて、タブをそのまま普通に使うとかあるなら問題ないが
例えばオープンソースにしたり何処かのを改修したりする時に、タブだともしタブのスペース相当が4以外だとレイアウトが崩れるが
スペース4マスそのものにしておけば誰がどの環境でみても崩れない。

基本的に1人で開発してたりの人間には縁のない話だが、色々な環境やプロジェクト外のプログラムを弄ったりする人間は
タブ=スペース4 というエディタ設定でやっているのが結構いる。
0881nobodyさん2008/02/05(火) 07:34:24ID:???
挿入は設定次第で一発で決まるだろうけど
削除もうまいこと処理できるの?
スペース1文字だけを削除したいのか
タブとして削除したいのかを判断するには
別々のキー受付処理をしないといけないじゃん。
そのへんがよく分からなくて抵抗あるな
0882nobodyさん2008/02/05(火) 09:59:46ID:???
タブ削除: Shift+Tab
スペース削除: Backspace

タブ=スペース4で
今まで使ってきたエディタはたいていできたよ。
0883nobodyさん2008/02/05(火) 13:13:33ID:???
フレームワークについて調べるためにこのスレよんだが、フレームワークの話は1割程度しかないんじゃ・・・w
ってか、ようするにこのスレの現状がPHPフレームワークの現状かw
0884nobodyさん2008/02/05(火) 13:16:49ID:???
初めて触ったFWがZend
何か新鮮だわ
0885nobodyさん2008/02/05(火) 13:28:35ID:U6V9FUnv
>>881
俺もソフトタブ(スペース4文字)にしたとき、削除が面倒くさいと思ってました。

>>882
キーバインドで、Tab+Shiftにタブ削除(スペース4文字削除)を割り付けておけばいいんですね!

すごく参考になりました!(・∀・)

ソフトタブでスペース4文字ってのは、インデントにこだわるPythonでも4文字が標準になってますなw
http://www.oldriver.org/python/pep-0008j.html
PEP 8 -- Style Guide for Python Code (和訳)
>ソースコードのレイアウト
> インデント
> インデント 1 段につき、スペース 4 個とする。
> とても古いソースコードを汚したくないなら、スペース 8 個幅のタブを使い続けてもよい。
> タブかスペースか
> タブとスペースを、決して混在させてはならない。
0886nobodyさん2008/02/05(火) 13:35:17ID:???
zendで日本語を使うと蹴られる時があるのよね
各国の言語に対応してくれよー
0887nobodyさん2008/02/05(火) 13:59:04ID:???
蹴られるってどういうことだ?
普通に使ってれば問題ないぞ
0888nobodyさん2008/02/05(火) 15:13:13ID:???
>>883
ここは基本雑談スレ
より詳細な話はFW毎の個別スレでやってるよ
0889nobodyさん2008/02/05(火) 22:11:55ID:???
>>878
> JavascriptによるPHP実装
> http://www.moongift.jp/2008/02/phpjs/
> PHPみたいな糞言語を何も好きこのんで実装しなくても…

しかたないだろ。JavaScriptでサーバーサイドアプリを作るのは
不可能ではないが、非現実的だ。

サーバーサイドアプリといえば、PHPの独壇場。
それがクライアントで動けばなおよい。
0890nobodyさん2008/02/05(火) 22:48:35ID:???
電波は人体に有害だな
0891nobodyさん2008/02/06(水) 02:33:23ID:???
どういうボケなんだろうな・・素なのかな

その記事はPHP関数仕様をクライアントのJS上でラップする品であり、サーバサイドとか関係ないんだが。

RhinoやAJAJAという成果物が有る今、非現実的だとは酷い物言いだろう。
IISで良けりゃJScriptなASPもあるよ
古くはiPlanetのサーバサイドでも・・・まあこれは余談

PHPがクライアントサイドに実装される余地は夢物語じゃねえか。
MSとApple WebkitとMozillaが揃って価値見出さないと意味ないし、
JavaScriptは必要十分に良く出来てるし。
0892nobodyさん2008/02/06(水) 03:57:25ID:???
isHoge()ってメソッドのドキュメントの説明どう書く?
俺は「〜か否か」とか「〜か否か調べる」とか書いてるけど
0893nobodyさん2008/02/06(水) 04:57:55ID:???
>>891
(笑) まあ、これは柔軟で大胆な発想力がなければ思いつかないだろうね。

ヒント、以下のコード。言語は何でしょう?

$sosuu = array_push(1,3,5,7);
for($i=1; $i<10; $i++) {
 if(in_array($i, $sosuu)) {
  foo($i);
 }
}
08948932008/02/06(水) 05:13:00ID:???
>>893はちょっと勘違いで動かなかった。訂正版。

$sosuu = array(1,3,5,7);
 for($i=1; $i<10; $i++) {
  if(in_array($i, $sosuu)) {
   foo($i);
  }
}
0895nobodyさん2008/02/06(水) 06:04:31ID:???
↑何が言いたいのかさっぱり分からない
0896nobodyさん2008/02/06(水) 06:06:22ID:???
>>895
> ヒント、以下のコード。言語は何でしょう?

いいから答えは?
0897nobodyさん2008/02/06(水) 07:12:06ID:???
>>893
ソスウって変数名にワラタw
1は素数じゃねぇw
0898nobodyさん2008/02/06(水) 07:38:41ID:???
>>893
マジで意味がわからんから教えて
0899nobodyさん2008/02/06(水) 07:54:37ID:???
ってか、ちょっと怖いんだが。
頭がおかしい方では?
0900nobodyさん2008/02/06(水) 08:25:07ID:???
>>897
〜ならtrue
0901nobodyさん2008/02/06(水) 09:19:54ID:???
>>897
そうだったね。ただのサンプルだからきにすんな。

>>898
もうちょっと引っ張ってみるw
少しは発想力のある人間、でてこないのかな?
0902nobodyさん2008/02/06(水) 09:27:25ID:???
発想力とか何いってるの?
自己完結しすぎててあんた以外ポカーンだよ
0903nobodyさん2008/02/06(水) 09:38:26ID:???
>>889
> サーバーサイドアプリといえば、PHPの独壇場。

JavaのStrusに比べてPHPはどうですか?


0904nobodyさん2008/02/06(水) 09:42:56ID:???
>>902
せっかくヒントだしてるんだから、
何言語のコードか言ってくれてもいいのにw
いくら理解できなくてもそれぐらい出来るでしょ。
0905nobodyさん2008/02/06(水) 09:59:03ID:???
きもいよぅ
0906nobodyさん2008/02/06(水) 10:02:27ID:???
>>904
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1201425479/
0907nobodyさん2008/02/06(水) 11:26:44ID:???
$sosuuには失笑した
0908nobodyさん2008/02/06(水) 11:39:52ID:???
>>893
恥ずかしくないの?
0909nobodyさん2008/02/06(水) 11:52:17ID:???
>いいから答えは?

「分かる=頭がいい。分からない=頭が悪い。」という判断基準、観念、勘違い

俺には分かるけど、御前には分からないだろう?

「俺は頭がいい」と思い込んでいる幸せな方ですか?

傲慢さは人の知性の発達を阻害する=プライドというフタを被せたヤカンには、他人の教えという水が入らない。

知っているか、知らないかというのは単なる知識のレベルの話。
知っている=頭がいい、知らない=頭が悪いというのは、人間の知的活動の全容について、充分理解できていない場合に陥りがちな過ち。
これはテストで成績を判定する学校教育の弊害。
0910nobodyさん2008/02/06(水) 11:52:53ID:???
【知的活動のレベル】
レベル1:知識→情報、データ
レベル2:知能→知識を使いこなす才能
レベル3:知恵→知識、知能から得られないものを発見する能力

素数 - Wikipedia
http://ja.wikipedia.org/wiki/%E7%B4%A0%E6%95%B0
素数(そすう、prime number)とは、1とその数自身以外に正の約数を持たない(つまり1とその数以外のどんな自然数によっても割り切れない)、1 より大きな自然数をいう。
100以下の素数を小さい順に列挙すると次の通り。
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97

素数を理解していないという事実から>>893の人物像をプロファイリングすると、リアルな小学生〜中学生(または小学生〜中学生レベルの知識を持つ人物)と分かる。
=上記のレベル1すら充分に確立されていない。
0911nobodyさん2008/02/06(水) 11:56:00ID:???
【アドバイス】
朝型まで起きてるのか?
夜更しは健康に良くないぞ?
先に学校の宿題を済ませてから2chで遊ぼう!(・∀・)

(参考)
ひきこもり情報|NHK福祉ネットワーク
http://www.nhk.or.jp/fnet/hikikomori/qa/index.html#q09
Q9 昼夜逆転の生活は改めさせるべきでしょうか?

昼夜逆転は、ひきこもりの人にはよくみられる状況です。
明け方眠って夕方起きてくるという生活は、家族にしてみれば一番腹立たしい状態ともいえます。
まずこうした生活態度から何とかしようとする家族は多いのですが、生活リズムだけを家族と同じようにさせようとしても、本質的な解決には結びつかないということを知っておいていただきたいと思います。
 
こうした逆転が起きるにはさまざまな理由があります。
ひとつは、昼間太陽光線に当たらないため、体内時計が狂ってしまい、日内リズムがずれてしまうというもの。
もうひとつは心理的な理由です。
昼間みんなが学校や職場に通ったりして、活発に活動している時間帯に、何もしないでひきこもっていると、世間にどんどん取り残されていってしまうような不安感や焦燥感、劣等感にさいなまれるものです。
昼夜逆転は、こうした苦痛を避け、周囲を意識しないための工夫であるとも言えるでしょう。
0912nobodyさん2008/02/06(水) 11:57:27ID:???
>>893よ、キミはまだ若い。
人生はこれからなんだろ?

この失敗を教訓にして、次からうまくやろう。
人間は誰でも失敗するし、傷付ついて痛みを得る。
そこから学ぶこともあるんだ!

頑張れ!
0913nobodyさん2008/02/06(水) 12:08:06ID:???
>ヒント、以下のコード。言語は何でしょう?
>foo($i);

>>893の書いたコード中にはfooという名前の関数(あるいはメソッド)が定義されていない。
fooという関数がいきなり使える=エラーにならないということは、その言語にfooという関数が標準で実装されていなければならない。

もしかしたら、>>893はマイ言語を開発しているが、公開していない人物かもしれない。
今世に知られているオープンソースの言語ではないことは確かだな。

よってこの問いには答えは存在しない。
ゆえに>>893は単なる釣り師
Q.E.D.
0914nobodyさん2008/02/06(水) 12:13:40ID:???
この過剰反応ぶり、何かに触れられたのだろうか?
0915nobodyさん2008/02/06(水) 13:16:53ID:???
>>898ぐらいか。まともな反応をしているのかw

> 知っているか、知らないかというのは単なる知識のレベルの話。
残念ながら的外れ。なぜならこれは知識レベルの話ではなく
思いつくかどうかの話だから。

> >>893の書いたコード中にはfooという名前の関数(あるいはメソッド)が定義されていない。

fooってのは、特に意味が無い変数・関数を例として出すときに良く使われる単語だよ。
覚えておいたほうが良い。ぐぐって調べよう。

> もしかしたら、>>893はマイ言語を開発しているが、公開していない人物かもしれない。
だれもマイ言語を開発しているなんて言ってない。というか逆にこれは既存の言語だ。

さてなーんでしょ? ここにいる人ならわかると思うんだが・・・。
0916nobodyさん2008/02/06(水) 13:23:44ID:???
>>889の意味が理解できない人へ。

ヒント1

以下のコード。言語は何でしょう?

$sosuu = array(2, 3, 5, 7);
 for($i=1; $i<10; $i++) {
  if(in_array($i, $sosuu)) {
   foo($i);
  }
}

ヒント2

GWTとQuickFormの共通点はなんでしょう?


柔軟な発想力があれば、>>889の意味を理解できるよ!
0917nobodyさん2008/02/06(水) 14:22:33ID:???
>>916
で、何でわざわざ問題だしたの?
あと、スレ違いだから、よそいってやってくれるかな。
0918nobodyさん2008/02/06(水) 14:33:58ID:???
>916
その話は>891で全て終わっている。
知識からいっても論理性からいっても>891が正しい

google trendでPHPの各フレームワークを比較しているブログがあって、
面白そうなのでいまやってみたら、CakePHP > Symfony > Zend > ... という順番だった
やはりCakeがお手軽なのか。ただ、どれも頭打ちというかんじはする。
0919nobodyさん2008/02/06(水) 14:51:36ID:???
最近Pieceに興味を持って使っているんだけど、スレがないのがさびしい…
0920nobodyさん2008/02/06(水) 14:55:27ID:???
>>917
気づかないのかなぁ? この面白いコードに。

>>918
これのこと? だとしたら的外れなんだよね。
> PHPがクライアントサイドに実装される余地は夢物語じゃねえか。

俺はPHPがクライアントサイドに実装されるなんて一言も言ってないよ。
0921nobodyさん2008/02/06(水) 15:02:57ID:???
PHPって、そもそもがページ指向フレームワークみたいなものだよな
いま、コンポーネント指向のフレームワークを作っているのは実は過渡期で、
それらは最終的には言語仕様に取り込まれて、またページ指向に戻るんじゃないだろうか
なんかPHPでJavaみたいなコードを書いていると、すごく違和感があるんだよな
それはJavaでやれよ、みたいな
0922nobodyさん2008/02/06(水) 15:06:23ID:???
ああ、コンポーネント指向じゃなくて、アクション指向が正しいか
コンポーネント指向は別にページ指向と競合しない
0923nobodyさん2008/02/06(水) 15:19:26ID:???
       __ 
      |・∀・|ノ  よい
     ./|__┐
       /  調子
    """"""""""""""
         .__
       ((ヽ|・∀・|ノ  しょっと
         |__| )) 
          | |
          調子
    """""""""""""""""

フレームワークの話しようぜ!
0924nobodyさん2008/02/06(水) 15:46:18ID:???
>fooってのは、特に意味が無い変数・関数を例として出すときに良く使われる単語だよ。
この場合のfooには呼び名があって、「メタ構文変数」って言うんだ。(学校で習ったかな?)
覚えておいたほうが良い。Googleで調べよう。

>>893は自分でも分かっている通り、キミのコードにはバグがあって動かないんだ。
フォンノイマン型のコンピューターでは、キミのプログラムは動かないよ。(残念だったね)

894 :893:2008/02/06(水) 05:13:00 ID:???
>>893はちょっと勘違いで動かなかった。訂正版。

$sosuu = array(1,3,5,7);
 for($i=1; $i<10; $i++) {
  if(in_array($i, $sosuu)) {
   foo($i);
  }
}

↑このコードがエラー無しで動く言語、コンピューターはないんだ。
さあ、キミも働いて、本物のパソコンを買ってみよう!
0925nobodyさん2008/02/06(水) 16:00:10ID:???
Rubyの作者さんはパソコン持ってますよw
http://www.rubyist.net/~matz/20071203.html
0926nobodyさん2008/02/06(水) 16:01:11ID:???
>>919
You 立てちゃいなよ
0927nobodyさん2008/02/06(水) 16:11:47ID:???
「他人のふり見て我がふり直せ」

人間の傲慢さ、愚かさというものが、実によく理解できるインターネットですね。
0928nobodyさん2008/02/06(水) 16:14:33ID:???
>>924
お前頭悪すぎだ。
0929nobodyさん2008/02/06(水) 17:07:52ID:???
>しかたないだろ。JavaScriptでサーバーサイドアプリを作るのは
>不可能ではないが、非現実的だ。
>
>サーバーサイドアプリといえば、PHPの独壇場。
>それがクライアントで動けばなおよい。

マジレス。

ウェブアプリは極論言えば標準出力と環境変数を受け取ることができる言語ならどんな言語でも作れる。
サーバーサイドJavaScriptも>>891が言ってる様に普通にあるし、最近ではJaxerなんてのも出てきてる。
非現実的とは言うほどではない。

それに、ウェブアプリのシェアは別にPHPの独壇場でもないし、
言語機能がJavaScriptよりも貧弱なPHPをクライアントサイドで使う意味もわからんのだが。
0930nobodyさん2008/02/06(水) 17:09:48ID:???
ペチパーなんてそんなもんってことですね。
0931nobodyさん2008/02/06(水) 17:12:40ID:2puW0wQc
>>916
それに答えたらちゃんと続きを書くんだろうな?

> ヒント1
> 以下のコード。言語は何でしょう?

PHP

> ヒント2
> GWTとQuickFormの共通点はなんでしょう?

しらね。
0932nobodyさん2008/02/06(水) 20:32:51ID:???
>>928
無知は損だぞ
これからは頭がなぜついているのか
考えながら生きろよ
0933nobodyさん2008/02/06(水) 21:31:27ID:???
>>931
やっとまともなレスがついたかw

> > ヒント1
> > 以下のコード。言語は何でしょう?
>
> PHP

半分正解。答えは、PHPとJavaScript。
一見PHPコードのように見えるが、実はJavaScripコードとしても
解釈できるのだ。
(もちろんJavaScriptに無い関数はphp.jsなどで実装する)


> GWTとQuickFormの共通点はなんでしょう?
答えは、両方とも、別の言語からJavaScriptコードを生成するというところ。

GWTはJavaで書いたコードからJavaScriptコードを生成する。
QuickFormもPHPのライブラリで、PHPで入力チェック部分を書くと
それに対応するJavaScriptコードを生成してくれる。
0934nobodyさん2008/02/06(水) 21:38:21ID:???
ここまで言えば何を言いたいかわかると思うが、一匹
どうでもいい所(fooとか)にこだわる虫けらがいるみたいなので。

サーバーサイドでのエラーチェックは必要不可欠。
いくらクライアントのJavaScriptでエラーチェックをしても
JavaScriptを回避して値を送ることは可能。

それじゃクライアントでエラーチェックをすることに意味が無いかというと
サーバーで処理して返すよりも、レスポンスが良い。サーバーの負荷が減る。
という利点がある。

理想を言えば両方書くのが良いわけだが、同じチェックコードを
違う言語で二回書くのは面倒すぎる。それを回避することができるものに
GWTやQuickFormがあるが、GWTはJava。QuickFormはチェックの仕方が
特殊でいけてないし面倒。

php.jsとうまく考えられた書き方をすることで、PHPコードを
そのままJavaScriptコードとして利用できる。
もちろんある種の制限はあるが、エラーチェック部分になら十分実用的だろう。
0935nobodyさん2008/02/06(水) 21:49:29ID:???
並のアタマなのに「俺あたまいい」という勘違いがすげえw
高校生か
0936nobodyさん2008/02/06(水) 22:04:52ID:???
>>934
要するに、PHP.js使って気をつけて書けばPHPでもJavaScriptでも使えるコードかけるよ!って言いたいのか。


まあ君がいいならそれも悪くないんじゃないかな。うん。

ただこのスレはフレームワークを語るスレだからさ、
これ以降君の自説の披露は別のところでやってもらえると助かるな。
0937nobodyさん2008/02/06(水) 22:09:18ID:???
JavaScriptって$で始まる変数名って使えるの?
動くかどうかじゃなくて、規格として。
0938nobodyさん2008/02/06(水) 22:11:04ID:???
>>937
問題でも?
0939nobodyさん2008/02/06(水) 22:14:38ID:???
いや、PHPとしてもJavaScriptとしても動くコードってのは面白いんだけど、
普通変数名ってのは、アルファベットかアンダーバーで始まるものじゃない?
0940nobodyさん2008/02/06(水) 22:15:57ID:???
フレームワークに絡めて答えるなら、
エラーチェック(バリデーション)のような定型的な処理は、
DIのような手法で、依存部分のみをYAMLやXMLなどで定義して、
テスト済みのライブラリを使うべきでは?
0941nobodyさん2008/02/06(水) 22:17:26ID:???
いや、バリデーションとかご託並べる前に、array(1,3,5,7)にsosuuとかつけちゃう恥ずかしい頭をなんとかしろよ

クライアントサイドでもサーバサイドでもいいけど、「素数のチェックで1が通って2が通らない」なんて
狂った検査じゃ意味ないだろw
0942nobodyさん2008/02/06(水) 22:17:58ID:???
PHPとJavascriptが答えって、鼻水吹くわ。
マジでそれだけだと思ってるの?
もうやめとけや、その話題は。
0943nobodyさん2008/02/06(水) 22:18:17ID:???
878の記事見たら一目でわかることを
なんでくどくどしく説明し出したんだこの馬鹿は
しかもクイズ形式でw
0944nobodyさん2008/02/06(水) 22:21:07ID:???
後だし恥ずかしいよ。
後からわかっていたといっても説得力皆無。
0945nobodyさん2008/02/06(水) 22:26:53ID:???
>>940
バリデーションは定型的な処理とはいわないんじゃないか?
このフィールドに、これこれの値が入るってのは
業務ごとに違うんだし。

それにいくつかのフィールドを総合的に見なければいけないような
複雑な条件処理の場合、YAMLやXMLで対応できるのか?
できるとしても大変そう。
0946nobodyさん2008/02/06(水) 22:33:56ID:???
>>939

http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide:About:Core_Language_Features

> アプリケーションで値を識別する名前として変数を使用します。変数の名前はあるルールに従って付けなくてはなりません。
> 変数の名前は識別子とも呼ばれます。
> JavaScript の識別子は必ずアルファベットかアンダースコア (_) かドル記号 ($) から始まらなくてはなりません。

って書いてあるから問題ないんじゃない? prototype.jsには$関数ってのもあるし。
0947nobodyさん2008/02/06(水) 22:38:42ID:???
もしデータバリデーションを毎回書いているのなら、
次回からライブラリを使うことをお薦めする
また、複雑な条件処理ができてこそライブラリなので、それは全く問題ない。

PHPとJSでコード共用できるという話で思ったけど、
コピペコードは必ずしも生産性を上げない。
同じコードを書かないという原則からいえば、
検証条件だけを抜き出して、PHPもJSもそこからコードジェネレーションした方がいい
0948nobodyさん2008/02/06(水) 22:42:38ID:???
コード共用できるのだから
コピペする必要ないじゃない。

一つは、コード部分を、requireとかで読み込んだり、evalを使う。
一つは、そのファイル・コードをhtmlに埋め込んで渡す。
0949nobodyさん2008/02/06(水) 22:42:44ID:???
>>944
「JSでPHPを実装した」というたった一言の情報に
何一つ付け加えてねーじゃねえか
「1+1は2です。さて、1+1は?」
「???」
「柔軟な発想力があれば分かりますよ」
「…???(何言い出したんだこの人)」
「おやおや、分からないのですかぁ〜?」
「……(キモうぜぇ〜)」
「答えは、2ですよ」
( ゚д゚)( ゚д゚)( ゚д゚)キティガイ???
0950nobodyさん2008/02/06(水) 22:46:04ID:???
> $sosuu = array(2, 3, 5, 7);
>  for($i=1; $i<10; $i++) {
>   if(in_array($i, $sosuu)) {
>    foo($i);
>   }
> }

へぇ。これってJavaScriptとしても実行できるのか。
言われてみればわかるけど、目からうろこ
0951nobodyさん2008/02/06(水) 22:46:28ID:???
>>949
お前の負け。
0952nobodyさん2008/02/06(水) 22:48:49ID:???
斜め読みだけど、結局言い出しっぺ(>>889)の言いたいことは

・サーバサイドと(リッチ)クライアントサイドで同じ言語で記述できれば楽できる
・だからJavaScriptでPHP実装をすることに意味がある

ってこと?
ただここにいる多数の感覚では、わざわざPHPを実装せんでもなあ、と。

それなら、むしろサーバ側でJavaScriptで書ければイイじゃんって>>891とかで
言ってるし、確かにそれでいいと思う。なんで>>889はJavaScriptよりもPHPがいいと
思うんだろう。

現状でも、JavaScriptエンジン組み込んだApacheモジュール(mod_javascript?)とか
あっても不思議はなさそうだけど、誰か作ってないのかな?
もしくはコマンドラインインタプリタとか。それでCGIはできるな >>929 が言うように。
(Windowsはまったく知らないのであしからず)

>>889の為にまとめてみたが、この辺りにちゃんと答えないとただの馬鹿で終わり?
0953nobodyさん2008/02/06(水) 22:49:09ID:???
>948
いや、プロジェクトは一つきりじゃないでしょ?
次のプロジェクトで新しいバリデーションコードを書くとき、
コードをコピペするのであれば、それは「よく似た違うコード」を生み出すことになる

結局、コードを主体に考えているからPHPとJS共用コードという発想になるので、
本質的な依存条件を考えた方がいいんじゃないの?という話
0954nobodyさん2008/02/06(水) 22:49:33ID:???
>>935
こいつはどう見ても並"未満"なのに、優しいんだなw
0955nobodyさん2008/02/06(水) 22:49:49ID:???
>>949
すべての勝負がお前の脳内だけで行われてるんだから勝てる奴なんていねーだろw
0956nobodyさん2008/02/06(水) 22:49:50ID:???
おもろい。
>>891で終わっている話といっている奴がいたが、
ぜんぜん違うや。こりゃ完全に>>891を覆したなw
0957nobodyさん2008/02/06(水) 22:51:35ID:???
>>952
> 現状でも、JavaScriptエンジン組み込んだApacheモジュール(mod_javascript?)とか
> あっても不思議はなさそうだけど、誰か作ってないのかな?

はるか昔はあった。ネットスケープのサーバーかなにか。
最近また出てきたみたいだが、まだベータ版。
選択しにはならないと思うよ。
0958nobodyさん2008/02/06(水) 22:52:30ID:???
>>950
自演恥ずかしいwww
0959nobodyさん2008/02/06(水) 22:52:39ID:???
>>953
> 次のプロジェクトで新しいバリデーションコードを書くとき、
> コードをコピペするのであれば、それは「よく似た違うコード」を生み出すことになる

なんで? バリデーションコードをそのまま使えばいいじゃん。
0960nobodyさん2008/02/06(水) 22:55:00ID:???
>959
うん、だからそれをするのがバリデータでしょ?
PHPでもJSでもそれを使えばいいんじゃないと言ってるわけ
0961nobodyさん2008/02/06(水) 23:00:01ID:???
>>960
だけど、俺が知る限りバリデータでは複雑なチェックはできないんだよね。
未入力チェックとか、正規表現の比較とか、数値の範囲とか、その程度。

ラジオボタンでAの値が選択されているときは、チェックなし。
Bの値が選択されているときはチェックあり。とかできる?
0962nobodyさん2008/02/06(水) 23:02:35ID:???
>889がPHPとJS共用のフレームワークを作るということでFA?

>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:???
>>963
> そういうのは多分設定ファイルでは無理で、バリデータクラスのサブクラスの指定メソッドに個別処理を書く、とかいう
> 対処になるんじゃないかなぁ、と勝手にライブラリ仕様を想像してみる。

で、そういうメソッドを書くとき、
PHPでもJavaScriptでも動くコードを
書けば楽って事でしょ?彼が言いたいのは。
0966nobodyさん2008/02/06(水) 23:08:08ID:???
あー。なるほどそういうことか。やっと納得した。
0967nobodyさん2008/02/06(水) 23:09:18ID:???
>>964
素でやると物凄く不自由なコードになってそうだw
foreachやsprintfが使えないPHPなんて本当に何のメリットもない糞言語だろ。

あと、文字列結合が素直には出来なさそう?
本当に限定された局面のみ有効になりそうだ。PHP.jsってそういうのはうまくやってくれるの?
0968nobodyさん2008/02/06(水) 23:11:56ID:???
http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_abs/

このリストを見る限り、sprintfは使えるようだな。
0969nobodyさん2008/02/06(水) 23:12:12ID:???

PHPとJavaScriptではオブジェクトの仕組みとかお互い全然違うから、
もしコード共有しようとしたらオブジェクト指向できなくなるし、いちいち二つの環境で確認するのめんどくさい。

YAMLとかでヴァリデーションの条件書いて各実装でそれを実現するのがよっぽどスマートだと思うんだけどな。

少なくともサーバーサイドJavaScriptよりもさらに現実味がないと思うよ俺は。
0970nobodyさん2008/02/06(水) 23:17:49ID:???
でも>>961のような、YAMLのバリデーションで
対応できないような場合には使えそうな気もする。
0971nobodyさん2008/02/06(水) 23:28:42ID:???
>>967
PHP.jsはPHPの関数をjavascriptに移植しただけ。
JavaScriptでのPHP実装とかじゃない
0972nobodyさん2008/02/06(水) 23:29:05ID:???
予想に反して流れが良スレ化しててワロタw
0973nobodyさん2008/02/06(水) 23:32:41ID:???
>961
俺が使ったことのあるのはCake, CodeIgniter, Piece_Rightだけど、
その程度だったら問題ないし、追加の検証メソッドもサポートしてる。

しかし、やはりコード共用をやるなら、最終的にはコード生成に落ち着くような気がする。
結果的にその方が楽だと思う(例として挙がっているGWTもそういうことだし)。
後は、「実際にやってみて」としかいいようがない。
0974nobodyさん2008/02/06(水) 23:44:25ID:???
というか、それならJavascriptでサーバサイドできるよね
PHPとして動くようなJavascriptを書けばいいんでしょ?

それはともかく、同じECMAScript系だとFlex/ColdFusionもある
ActionScriptのフレームワークも揃いつつあるし、
ECMAScriptでサーバサイド・モジュールというのは十分現実的
0975nobodyさん2008/02/06(水) 23:53:13ID:???
>>889は今すぐJaxerでググレ。
お望みのものがあるから。
0976nobodyさん2008/02/06(水) 23:53:57ID:???
> というか、それならJavascriptでサーバサイドできるよね
> PHPとして動くようなJavascriptを書けばいいんでしょ?

なかなか難しいことを言ってるな。
JavaScriptの場合、オブジェクト指向がデフォだから、
array.push("1"); とか str.length とか良くある関数が使えない。
また、PHPの制約により、$から始まる変数名じゃないといけないし。
0977nobodyさん2008/02/06(水) 23:54:33ID:???
Jaxerってこの間ベータ版が出たばかりのあれ?
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を使えば、PHPの一部の関数が、JavaScriptのコード内でも使えるようになりますよ、という話じゃん。
単なる関数名のラッパーか?

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で使える。
これを手動ではなくて、自動でやれば、コードジェネレーターを使うみたいに楽ができるよね?という話ですか。
そのコードジェネレーターは、もう誰か作ってくれてるの?
レス数が950を超えています。1000を超えると書き込みができなくなります。