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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/08/10(水) 02:21:08ID:CBjrwwHd
※フレームワーク
Phrame本家
http://phrame.sourceforge.net/
Mojavi Project
http://www.mojavi.org/
mojavijapan
http://mojavi.p0t.jp/
Agavi本家
http://agavi.org/
Agavi.JP
http://agavi.jp/
[ 日本発 ] Maple Project
http://kunit.jp/maple/
[ 日本発 ] Ethna -PHPウェブアプリケーションフレームワーク-
http://ethna.jp/ethna-tutorial-startup-practice1.html

※関連スレ
【PHP】フレームワークMapleに舌鼓
http://pc8.2ch.net/test/read.cgi/php/1122105465/
【PHPフレームワーク】Ethna【スケルトン自動作成】
http://pc8.2ch.net/test/read.cgi/php/1123070439/
PHPでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1113724557/

その他>>2-5参照汁
0611nobodyさん2005/11/25(金) 21:04:56ID:???
PHP5.1.0リリースだというのに静かなものだね・・・。

俺が思うに、ある程度知識がないとMojavi使いきれないと思うよ。
とりあえずMojaviでいうViewが必要ないフレームワークにしてみたら?
0612nobodyさん2005/11/26(土) 01:25:15ID:a7zffmpw
mojavi2.0を使っています。

http://www.stackasterisk.jp/tech/php/mojavi02_01.jsp
ここを参考にディレクトリ構造を変えたのですが、
レンタルサーバでhtdocsをベースに指定する事って出来るのでしょうか?

0613nobodyさん2005/11/26(土) 04:50:35ID:???
そんな解決はできても難しいし、やるべきじゃない方法だよ。
多分、フレームワークの理解を根本的に間違えてるんじゃないかな。
DocumentRootにindex.phpを置いて、外部からアクセス禁止してる箇所にmojaviフォルダとwebappフォルダを置く。
あとはpath調整して動かすんだよ。
0614nobodyさん2005/11/26(土) 08:50:15ID:???
そうそう
わかんないうちはとかくなにもかもマニュアルの通りにしないといけない、と鵜呑みにしがちだけど、
少し冷静に考えてみるとどうでもいい事なんてたくさんあるぜよ。

つーわけでindex.phpはどんな名前のディレクトリにあろうがブラウザから参照できる位置に置くべし
まーほとんどのレン鯖の場合public_html以下に適当な名前のディレクトリ作ってほりこんでるんでないかね。
0615nobodyさん2005/11/26(土) 10:50:33ID:???
mojaviで "class IndexAction extends Action"のようにIndexでactionを指定しても
"http://xxx/?module=xxx&action=Index"とわざわざ書かないと
Only variable references should be returned by reference と怒られてしまって困ってます。

環境は
PHP 4.4.1-pl1
mojavi 2.0.3 beta です。
0616nobodyさん2005/11/26(土) 11:21:14ID:???
それは困りましたね^^;;;;;
06176152005/11/26(土) 11:41:56ID:???
すみません、解決しました
0618nobodyさん2005/11/26(土) 12:33:18ID:2543W0TM
>>617
最近流行ってるね
0619nobodyさん2005/11/26(土) 13:54:07ID:???
>>618
よくわかったね
0620nobodyさん2005/11/26(土) 14:23:28ID:???
>>619
スキだからさ
0621\_________/2005/11/26(土) 15:15:03ID:???
         V
    _____
   /::::::::::::::::::::::::::\                 
  /::::::::::::::::::::::::::::::::::::::\            
  |:::::::::::::::::|_|_|_|_|           
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          
  |::( 6  ー─◎─◎ )         
  |ノ  (∵∴ ( o o)∴)         
/|   <  ∵   3 ∵>         
::::::\  ヽ        ノ\          
:::::::::::::\_____ノ:::::::::::\        
0622nobodyさん2005/11/26(土) 15:36:40ID:???
PHPでフレームワーク(笑)
0623nobodyさん2005/11/26(土) 20:37:10ID:???
あなたも技術者の端くれなら何か有用な情報を書き込んでください。
ここはWebプログラミング"技術"の板です。
煽りは必要ないです。
0624nobodyさん2005/11/26(土) 21:19:29ID:???
>>623
迷惑掛けて申し訳ない
しばらくロムります
06256122005/11/26(土) 22:44:49ID:???
>>613,614
レスありがとうございます。
なるほど。アドバイスありがとうございます。

出来るだけアドレスを短くしたいんで
index.phpはDocumentRoot直下に置きたいんです。
でもレンタルサーバを借りているんで、そうするとmojaviフォルダとwebappフォルダも
DocumentRootになってしまうなと思いお聞きしました。

外部からアクセス禁止してるフォルダのあるレンタルサーバってあるのでしょうか?
それとも.htaccessで禁止するしかないでしょうか?
06266122005/11/27(日) 00:27:09ID:???
自宅鯖を立てることにしました。ありがとうございました。
0627nobodyさん2005/11/28(月) 02:21:48ID:???
mojavi3のviewにあるdecorator ってプロパティーはどんないみあるの
06281-6272005/11/28(月) 10:56:11ID:???
すみません、全て解決しました。
0629nobodyさん2005/11/28(月) 16:28:05ID:???
>628
流行ってんの?
0630nobodyさん2005/11/28(月) 17:36:24ID:???
なあに、かえって免疫力がつく
0631nobodyさん2005/11/30(水) 04:52:05ID:???
cakephpでADODBって実質使えないな…
selectLimitらへんとか、あの作り方じゃまともな対応期待できそうにないな
0632nobodyさん2005/11/30(水) 17:47:33ID:yPyLs/p1
>>631
詳しく
0633nobodyさん2005/11/30(水) 17:48:31ID:???
>>495
これどうなったんだろ
携帯に対応しやすいフレームワークって面白いかと思ったんだけど

Mapleの半角<-->全角とかも日本らしいくて、こっちも携帯とか期待できるのかな
0634nobodyさん2005/11/30(水) 18:21:22ID:???
>>632
一番てっとりばやいのは、oracle8iとかDB2とか動かすこと。
まともにうごかない。
cakephpのselectLimitのソース見るとわかるけど、adodbの機構一切つかわず
Limit生書き。コメントにも、「adodbがlimit句のsql文取得するためのもの持ってないんで対応できませーん」
みたいなこと書いてある。
0635nobodyさん2005/11/30(水) 22:27:42ID:???
ほんとだ...

でもこれ、lastInsertId()が単なるプレースホルダーで、呼んだ瞬間にdie()だから、
動かないのは当然だよね? Model::save()で死ぬし(w
wikiのドキュメントにあるadodb対応っていう看板はまだ外しておくべきだな。
0636nobodyさん2005/12/01(木) 13:07:20ID:???
でもよく考えたら adodb にdbごとの適切なLimit節文字列を返す機構ってあったっけ?
adoのドライバのレベルの話?

AdoConnection::selectLimit() を使えよって話なら、そもそも "to get correct limit string"
するためのものじゃないし、上のレベルのModelはこのために全面改装が必要になるし。
0637nobodyさん2005/12/01(木) 13:12:50ID:???
関係ないがadodbはReplaceの形でinsertとupdateもできるようにしてくれ。
あとautoquote時に数字もquoteしてくれ。
text型に入れてても000000が0になる。
0638nobodyさん2005/12/01(木) 15:46:10ID:???
どのフレームワークでもいいんですが、フレームワークを使ったオープンソースな
ソフトってご存じないですか?

0639nobodyさん2005/12/01(木) 15:57:03ID:???
存じております
0640nobodyさん2005/12/01(木) 16:17:39ID:???
ttp://www.horde.org/ の IMP や Chora とか。

Mojavi の知りたい。
0641nobodyさん2005/12/01(木) 16:57:05ID:???
>>636
>でもよく考えたら adodb にdbごとの適切なLimit節文字列を返す機構ってあったっけ?
文字列を返すのはないよ。
適切に実行することはできるけど
0642nobodyさん2005/12/01(木) 21:07:40ID:???
>>639
存じておりましたら存じているものをここへ書いて下さい
0643nobodyさん2005/12/01(木) 23:21:16ID:???
quickformでプルダウンメニューの入力チェックしたいんだけど、addruleでやってもうまく機能しません。
何故?
0644nobodyさん2005/12/02(金) 01:43:30ID:???
BasicSecurityFilter使うと無限forwordループならね〜か?
0645nobodyさん2005/12/02(金) 06:04:33ID:???
>>642
WaWaWa

>>643
多分書き方がおかしい

>>644
使ったこと無い
0646nobodyさん2005/12/02(金) 07:05:58ID:???
日経システム構築に、
セキュリティーの観点からは
DB格納の直前にもバリデーション行うべきって書いてた。
確かにそう思うけど、
となるとフレームワーク使った場合、
プレゼンテーション層とビジネスロジック層の
両方でバリデーションすることになるよね。
そのあたりどうしてる?
同じ一つの定義を読むのか、
ビジネスロジック層のバリデーションを簡易的なものにするか…
0647nobodyさん2005/12/02(金) 07:11:52ID:???
>DB格納の直前にもバリデーション行うべき
なにこれkwsk
0648nobodyさん2005/12/02(金) 07:28:41ID:???
>>647
普通はだいたい、
フレームワークに用意されたバリデーションをまず行ってから、
そのデータをDAO的なクラスに渡してDBに書き込むじゃん。
DAO的なクラスでも、
一度バリデーションを受けてるはずだからといってデータを信用するのではなく、
そこでも精査すべきだということ。
コードコンプリートでいう
防御的プログラミングというやつだね。
0649nobodyさん2005/12/02(金) 08:58:48ID:???
>>648
了解
djb的思想だね
0650nobodyさん2005/12/02(金) 10:37:43ID:???
みんなDAOな作りしてんの?
なんかDAOにしちゃうと、リッチなSQL書けなくならない?
又は、ビジネスロジックがDAOに入っちゃう。

だって、リッチなSQLってビジネスロジック含むじゃない?
0651nobodyさん2005/12/02(金) 14:09:33ID:???
RDBMSはオブジェクト指向じゃないから。それをオブジェクトで取り出そうとすると、どこかしらに無理が出てくるのはしょうがない。
0652nobodyさん2005/12/02(金) 14:37:00ID:???
そんなのは前提としてさあ
0653nobodyさん2005/12/02(金) 14:37:10ID:???
DAOって再利用性けっこう低くない?(スキル低いだけって言われそうだけどorz)
再利用性を高くしようとすると、SQLを直につっこんでもあんま変わらないし。
特定の用途にカスタマイズすると再利用がだんだん難しくなるし。
できる奴はうまいことDAO作ってんのかな?
それともDAOって毎回がんばって作る宿命?
0654nobodyさん2005/12/02(金) 16:01:31ID:???
>>653
DAOを上手く利用しようとするなら自分独自のクエリーを作ってそれを
各SQLに対応したクエリーに変換するclassを自分で作るしかない。
今の段階のDAOは・・・あまり意味がない。
0655nobodyさん2005/12/02(金) 16:12:42ID:???
一人で開発してて、手が早いひとならSQLを直に書いたほうがいいんじゃないの。
大規模開発なら、APIを統一しないとやってられないだろうね。
0656nobodyさん2005/12/02(金) 21:18:36ID:???
mojavi2ってPHP5で動かないの?
0657nobodyさん2005/12/02(金) 21:37:14ID:???
mojavi3 が PHP5 用。
0658nobodyさん2005/12/02(金) 22:16:38ID:???
>>657
mojavi3は終了して今mojavi4作ってます。
agaviも0.10 目指してガンガッテます。
0659nobodyさん2005/12/03(土) 02:41:18ID:???
>>658
Mojavi4進んでなくない?
これじゃagaviと合体する前に消滅の悪寒。
0660nobodyさん2005/12/03(土) 06:50:17ID:???
シンフォニー力入ってんなぁ。
0661nobodyさん2005/12/03(土) 06:53:47ID:???
新興フレームワークの方が発展していきそうだね
いずれにしろまだどれも固まってないから実務には使えない…
0662nobodyさん2005/12/03(土) 10:52:29ID:???
今一番日本語のドキュメントがまとまっているのがEthnaかな?
現在勉強中。
0663nobodyさん2005/12/03(土) 11:44:20ID:???
maple、DI入ってるからよさそう。EthnaはまだDIないし。
0664nobodyさん2005/12/03(土) 11:45:19ID:???
まあ、Struts→Ethna Seaser→Mapleっていう構図だよな。
0665nobodyさん2005/12/03(土) 13:18:46ID:???
>>663
そうだね。
Spring frameworkの紹介記事読んでMapleに興味持ったけど、
フレームワーク初心者にはちとドキュメントが足りない・・・。
後、データアクセス層のサポートがホスィな。
0666nobodyさん2005/12/03(土) 19:53:00ID:???
EthnaやMapleは絶対にスタンダードにはなり得ない。
Mojaviでギリギリだろ。実質Zendフレームワークのだけじゃね?
EthnaやMapleなんか勉強しても無駄だからやめておけ。
0667nobodyさん2005/12/03(土) 20:18:20ID:???
>>666
できればその理由なんかも・・・
0668nobodyさん2005/12/03(土) 20:30:55ID:???
リリースされたZEND謹製フレームワークを見て
ケツから血を流すがいいです
0669nobodyさん2005/12/03(土) 20:46:32ID:???
kunitタンはEthna,Maple,Seasar PHPと手を広げすぎないで
完成度を高めてほしい、というのはある。どれも中途半端。
0670nobodyさん2005/12/03(土) 21:37:16ID:???
どっちかっていうとDI/AOPやらRoRやら概念的なことに手を広げすぎているような
あれもこれも取り入れたいってのは分かるんだけどね・・・いつまでたっても完成は出来んわな
0671nobodyさん2005/12/03(土) 23:22:07ID:???
mojavi2を使用しているのですが、
php4.4.1でエラーが発生する事を今知りました。
もう開発は終わっているとの事ですので、修正される事はないんですよね?

このような点を考慮するとagaviというのを使った方がいいのでしょうか?

レンタルサーバの関係でphp5での使用は考えていません。
mojaviは気に入っていたのでmojavi系が良いと思っています。
0672nobodyさん2005/12/03(土) 23:31:37ID:???
ソースはあるんだし、修正すればえぇやん
06736712005/12/03(土) 23:58:35ID:QwnhGijP
>>672
確かにその通りです。
今回のエラーは修正できますが、割と時間がかかりそうな場合や
自分では修正できないような時を考えてできるだけメンテが活発に行われている
物を使用したいと思ったまでです。
0674nobodyさん2005/12/04(日) 00:14:45ID:???
どっかにパッチあったよ。
どっかに。
0675nobodyさん2005/12/04(日) 00:34:35ID:???
>>671
http://www.stackasterisk.jp/tech/php/mojavi08_01.jsp
06766712005/12/04(日) 00:50:01ID:OBVYrvMK
>>675
どうもありがとうございます。
助かりました。
0677nobodyさん2005/12/04(日) 02:19:47ID:???
>>676
というか、バグがあるからmojaviJapanのエラーの修正入っているやつにしれ
0678nobodyさん2005/12/04(日) 02:25:41ID:???
ユーザ登録、メール送信、URLのクリックで認証というのをmojavi2でやりたいんですが
そういうコードないですかね
06796462005/12/04(日) 04:33:57ID:???
一番嫌なのが巨大なデータをSQLに仕込まれることなので、
データのサイズチェックだけすることにしたよ。
後はサニタイズだけちゃんとしておけば致命的にはならないだろう。
06806712005/12/04(日) 22:56:24ID:gXRf3OY+
>>677
そんなのがあるんですか。知りませんでした。
0681nobodyさん2005/12/05(月) 02:11:12ID:dkL9yz1o
>>666
PHPの言語仕様自体がころころ変わっている最中なのに、
スタンダードなものは作れないと思われ。
でもオレオレフレームワークで好き勝手に作るよりは、上手い人の
エッセンスを流用して作る方がいいと思うので、現時点でマニュアルが
充実してて、開発を放棄されていない奴を選べばいいのでは?
0682nobodyさん2005/12/05(月) 09:12:05ID:???
>681
そうですね、私は別にスタンダードじゃなくても、使いやすければいいか、と思ったりします。
フレームワーク使い始めるまでは無手勝流でコード書いてたし、いまだにmojavi2使ってるし。

また新しいのがでてた。
XOAD
http://www.xoad.org/
0683nobodyさん2005/12/05(月) 12:48:08ID:???
フレームワーク祭りだなほんまに
決め手にかけるところがPHPらしいというかなんというか・・・
0684nobodyさん2005/12/05(月) 16:13:57ID:???
Mjavi2が主流ですか? それともEthnaやMapleですか? おすすめ教えて
0685nobodyさん2005/12/05(月) 16:17:35ID:dKNEsuCU
>>684
個人的には maple。
もっとも、そのままじゃ実用に耐えないからかなり改造して使ってるが。
0686nobodyさん2005/12/05(月) 16:20:36ID:???
俺は大したもん作らないからguessworkの自主改造版ぐらいで丁度いい。
0687nobodyさん2005/12/05(月) 16:20:50ID:???
>>685
ありがとう。Mapleは実用に耐えられないわけですね。 やはりMojavi2かな。
0688nobodyさん2005/12/05(月) 16:21:48ID:???
>>686
ありがとう。guesswork ってののあるわけですか・・・。 guessworkはいいですか?
0689nobodyさん2005/12/05(月) 16:22:28ID:???
M2も結構手入れしないといけないから
グチャグチャになりがち
0690nobodyさん2005/12/05(月) 16:27:15ID:???
>>688
guessworkはvalidatorが貧弱だったりするからその辺を補完して、認証とかサイト毎に
必要な機能を付ければ俺的には充分。
作成するファイルが少ないってのも俺好み。
0691nobodyさん2005/12/05(月) 16:37:22ID:???
PHP5用のguessworkは結構期待してるんだが
なかなか出ないね
0692nobodyさん2005/12/05(月) 16:43:21ID:???
mojavi2ってPHP4用ですよね?
一応ご確認あれ>>684

日本語の資料が一番まとまってそうなのは速構Web Frameworkかな?
ttp://www.pm9.com/newpm9/itbiz/php/framework/
但し有料。

次点はEthnaじゃなかろうか?
http://ethna.jp/

0693nobodyさん2005/12/05(月) 16:45:27ID:???
つーかガキじゃないんだから日本語の資料とかいらんでしょ?
英語でも読めて当然だろ、普通のSEなら大学ぐらい出てるんだからさ。
0694nobodyさん2005/12/05(月) 16:55:24ID:???
>>690
guesswork素敵でつた。 補完したのコッソリ下さい。 
0695nobodyさん2005/12/05(月) 16:59:09ID:???
「このフレームワークを選ぶ理由は何ですか?」
つー質問に答えなきゃいけない立場の人は大変だろうねぇ。
0696nobodyさん2005/12/05(月) 17:12:31ID:???
>>693
なにいきり立ってんの?
日本語の資料の充実度っていう軸でみてなんか不都合でも?
0697nobodyさん2005/12/05(月) 17:14:56ID:???
>>696
たとえばメンテナの数や、たとえばコーディングのしやすさ
先に見るべき場所がほかにあるでしょ。
日本語マニュアルなんて、あればいいな程度のものを最初に持ってくる神経を疑う。
0698nobodyさん2005/12/05(月) 17:22:54ID:???
>>697
まあそうだけど、フレームワークの概念自体を勉強したいっていうニーズだって
あっていいでしょ?
自分がプロのSEだからって視野が狭すぎ。
>>684が学生か社会人かもわからんだろうに。
06996982005/12/05(月) 17:25:34ID:???
あ、でも貴方の意見には全面的に賛成なんで、プロの目からみたお勧め教えて。
0700nobodyさん2005/12/05(月) 17:33:00ID:???
理解するためのコストが高いと
取り組むリスクが大きくなるから
日本語資料があるに越したことはないね。
0701nobodyさん2005/12/05(月) 17:34:02ID:???
>>699
俺が使ってるのはmojavi系。正確には2.00にパッチ当てたりして少しだけ拡張した奴。
メンテナの数が違う…が2,3,4,agaviとメンテナが分離気味なので動向を見守っているところ。
ことフレームワークなどに関しては、勝ち馬に乗るべきだと思ってる。
俺もメンテナが多いのが生まれたらそれに乗り換える。

ただ残念なのは、そうやってフレームワークが普及しても思ったよりネットでのコード共有が進まなかったこと。
みんな自分の書いたものは見せずに、他人のものばかり見たがる。俺もだがw
0702nobodyさん2005/12/05(月) 17:34:38ID:???
英語の出来ない部下を持つ身としては、日本語資料は必須。
0703nobodyさん2005/12/05(月) 17:38:15ID:???
言い方キツかったのは謝るよ。
すまないね。

>>702
それ結構悲惨だな…でもサンプルコードあったら理解してくれない?
PEARとでも英語しかマニュアル無いもの結構あるけど、どうするんだよ。
0704nobodyさん2005/12/05(月) 17:43:02ID:???
>>703
サンプルを用意してあげて、ケツを蹴る。
0705nobodyさん2005/12/05(月) 17:45:54ID:???
日本人雇わなきゃいいだけ
07066982005/12/05(月) 17:55:32ID:???
>>701
どうもありがとう。参考になります。

mojaviはagaviと統合してから手を出そうかと思ってました。
こちらも英語ができない部下(しかも直属じゃない)がいて、
しかも自分を含めて本職はSEじゃ無かったりします。
なんで、「わからないならソース嫁」と言いたいところですが飲み込むこともありw

でもメンテなの多さは魅力だな。早いうちにmojaviの資料にも当たっておこう。
0707nobodyさん2005/12/05(月) 18:05:20ID:dKNEsuCU
mojavi はゴチャゴチャしててちょっとなぁ…。
0708nobodyさん2005/12/05(月) 18:24:01ID:???
>693
うはっw
こういう奴ってまだいるんだw
0709nobodyさん2005/12/05(月) 18:28:40ID:???
愛して欲しいのさ、本当はね
0710nobodyさん2005/12/05(月) 18:33:47ID:???
お師様、温もりを…
■ このスレッドは過去ログ倉庫に格納されています