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

[PHP]フレームワークについて語るスレ2[総合]

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/12/29(木) 18:03:44ID:PQZNoJbD
::フレームワーク一覧::
■Phrame
http://phrame.sourceforge.net/
■Mojavi Project
http://www.mojavi.org/
■Agavi
http://agavi.org/
■[ 日本発 ] Maple Project
http://kunit.jp/maple/
■[ 日本発 ] Ethna -PHPウェブアプリケーションフレームワーク-
http://ethna.jp/ethna-tutorial-startup-practice1.html
■[ 日本発 ] guesswork
http://www.guesswork.jp/
■Biscuit
http://bennolan.com/biscuit/
■PHP on TRAX
http://phpontrax.com/
■Web Application Component Toolkit (WACT)
http://www.phpwact.org/
■symfony
http://www.symfony-project.com/
■XOAD
http://wiki.xoad.org/index.php?title=Wiki_Home
■[ 日本発 ] pokox
http://www.glamenv-septzen.net/pukiwiki/index.php?pokox
■[ 日本発 ] 速構Web Framework
http://www.pm9.com/newpm9/itbiz/php/framework/
■CakePHP
http://cakephp.org/
0083nobodyさん2006/01/08(日) 15:29:57ID:???
>>81
Zendのフレームワークも、べた書きなんてありえないバリバリのOOデザイン
だとおもうよ。なにせあのPHP5を作ったZendだからね...

>>82
PHPの拡張ってこと?
そうすっと今度は微妙な振る舞いをCソースがよめないせいで確認できなくて
困る人が多発する気が...
0084nobodyさん2006/01/08(日) 16:07:45ID:???
Zendのフレームワークみたら、PEARとか全然生かしてなさそうだね。
0085nobodyさん2006/01/08(日) 16:12:08ID:???
>>82
エクスパンション == extension ?
Webcastでは全てPHPでオープンソースで書くって言ってた希ガス

>>83
そうかなぁ。
フレームワークのコード自体はOOで書いてあっても、我々ユーザにはOOの設計を強要しないって感じになってもらえるとありがたいんだけど(つまりOOは「使う」だけであって「作る」必要がないって感じ)。
フレームワークのコンポーネントを最小限の部分だけ継承して2〜3行ちょろっと書いとけばあとは勝手に動いてくれる、みたいな。

>>84
Pearはおろか既存のものはSmartyなども含めて一切使わない方針で、完全に独自の設計になるらしい。
テンプレートも独自のものみたいだし。
そこに批判もけっこうあるみたいだけど。
0086nobodyさん2006/01/08(日) 19:15:49ID:???
ちょっとしたもんに使える、手軽な奴ってない?
0087nobodyさん2006/01/08(日) 19:54:48ID:???
使ったことないけどguessworkとかCakePHPとか。
0088nobodyさん2006/01/09(月) 08:33:20ID:???
フレームワークとか使ったことなくて、
とりあえずmaple見てみたんだけど、なんかディレクトリ深すぎない?
設定とかで変えれるのかも知れないが、
あっち行ったりこっち行ったり面倒なような。
どんな環境でどのくらいのファイル数になるのを想定してるのかな…。
0089882006/01/09(月) 08:38:56ID:???
補足。特に批難とかしたい訳じゃなくて、
単にああいう構成になってる理由が疑問って話。
他のは違うのかもしれんが…。
0090nobodyさん2006/01/09(月) 09:14:18ID:???
>>88
少ないディレクトリにファイルがゴッソリあるよりマシ。
0091nobodyさん2006/01/09(月) 13:05:13ID:???
agavi
UPDATE 2005-01-08: 0.10.1b has been released!
0092nobodyさん2006/01/09(月) 15:50:42ID:???
>>86
cakeの場合、データ構造が単純ならscaffoldingが使えるから、死ぬほどお手軽。
0093nobodyさん2006/01/09(月) 17:20:33ID:???
Mapleは
オレオレフレームワークのたたき台を目指してるみたいだね。
標準になるべくZendフレームワークが出てきたので
戦略的に正しいと思う。
0094862006/01/09(月) 18:22:40ID:???
>>92
いや、88ともダブるんだけどさ、なんかみんな大げさすぎない?
そういうのが必要な場合があるってのは分かるんだけどさ、、

ちょっとしたもん書く時にさ、ベタで書くより
なんちゃってMVCにしとけば、楽じゃん?みたいな感じなのないかな。
逆流してる?

0095nobodyさん2006/01/09(月) 18:39:27ID:???
カウンター作成専用のフレームワークつーのには興味無いな。
そのフレームワークが対象とするもののうち一番大掛かりなものになるのは当然と思われ。
0096nobodyさん2006/01/09(月) 22:12:40ID:???
フレームワークはリロード対策とかしれくれないのか?
0097nobodyさん2006/01/09(月) 22:21:01ID:???
>>96
MapleにはTokenフィルタってのがあるね
0098nobodyさん2006/01/10(火) 00:10:58ID:???
mojaviのaction.class.phpの上にあるライセンス表示って別に残さなくてもいいんだよね?
0099nobodyさん2006/01/10(火) 09:07:54ID:???
>>98
mojaviを改造でもしてんの?そうでなかったら編集する必要すらないと思うけど。
一応LGPLだしランセンス表示を含めどんな改変をしても構わないけど、改変後のプログラムはGPLかLGPLのもとでオープンソースとして再頒布しなきゃいけないんじゃないかな。
間違ってたら訂正よろ。
0100nobodyさん2006/01/10(火) 10:23:12ID:???
LGPL表記と著作権表示を削るのは多分よくないでしょう。空のファイルでもLGPL配布物の一部ならば。
ここは堂々と著作権者に自分の名前を追記して配布汁。

頒布っていうか、べつに広く配布する必要は無いし、ソースを売って金にしてもいいけど、
そのソースコードをもらった人にLGPLによるソース再配布の権利を認めないといけない。
だからLGPLコードを暗号化して顧客に納品しちゃダメ


...て感じだと思う。
0101nobodyさん2006/01/10(火) 11:07:16ID:???
>>100
なるほど。フォローサンクス。
ちょっと気になったけど、LGPLはソース保持者が配布することができる「権利」ではなくて、(要望があれば必ず)配布しなければならないことを使用条件とする(というか強要する)ものじゃないかな。
だから売って金にするってのはまずいのでは?
0102nobodyさん2006/01/10(火) 11:39:38ID:???
>>101
売って金にしても問題ないはず。
ただし同時に無料配布する必要もある(実費程度はとってもよい)。
0103nobodyさん2006/01/10(火) 12:05:36ID:???
成果物(ソフトウェア)の所有者にのみソース公開の義務が生じるだけだから、
広く一般に公開する必要は必ずしもあるわけじゃない。どんな高い金で売ってもOK

ただし、ソースをもらった方はLGPLに基づきいくらでも再配布出来る。そしてそれを縛ることはできない。
0104nobodyさん2006/01/10(火) 12:14:40ID:???
LGPLで言う所の、"work based on the library(ライブラリを基にした著作物)" と
"work that uses the library(ライブラリを利用した著作物)"は違うから、
mojavi部分と独自のビジネスロジック部分とを分離して独自部分を配布する場合は
LGPLの範疇にならないんじゃないかなぁ。

まぁ、>>98のライセンス表示削除は確実にアウトですが。。。
0105nobodyさん2006/01/10(火) 12:49:50ID:???
mojaviをフレームワークとして通常の利用する分には今の話の流れとは関係ないよ(GPLではないのでこれらは売ろうが隠蔽しようが公開しようが自由だと思う)。
飽くまでmojaviを改変した場合の話。
ライセンス表示は削除したとしても、新たにLGPLの全文か全文へのポインタ相当のものを示せばいいんじゃないの?
著作者の表示に関しては、元の著作者(mojaviの場合Sean Kerr)を載せる必要ってあったっけ?
PHP Licenseだとそういうのは明示的に書かなきゃダメってなってるけどLGPLはそういう項目ある?
0106nobodyさん2006/01/10(火) 14:54:44ID:???
変更する場合は変更箇所の明示と著作権の追加をすべしっていう項があった気がする。
ライセンスはどうか知らないけど、ファイル中の著作権表記の削除はGPL以前に著作権的によくないと思う。


あと、一緒に配布するかぎりはLGPLでもGPL的縛りを逃れられないような...
このへんの成果物の扱いはGPL/LGPLで記憶も理解も混乱しているのでよくわからん。
0107982006/01/10(火) 16:03:17ID:???
というかMojaviを改変したわけでなく、新しくLoginAction.class.phpなどを
自分で作ったのです。
それの著作権は自分にあるのでサンプルにあるような著作権表示は削除しても
いいと思っていたのですがどうですか?

または、Mojaviからextendsしたファイルとかはどうなるんでしょうかね。
要らないと思っていたんですが、違うのかな。
01081052006/01/10(火) 16:14:49ID:???
>>106
たしかに著作権の表記を削除ってのは仁義的にもよろしくないな。
なんかpublic domainとか著作権放棄とかの話がごっちゃになってた。

GPLかLGPLかはwork that uses the libraryにも同じ制限が課されるかってのがあると思った。
LGPLの場合はmojaviを使用するだけなら、その使用したコードにはLGPLの制限は一切かからないんじゃないかな。

以下はLGPLのTERMS AND CONDITIONS 〜 から一部抜粋。
> 5. A program that contains no derivative of any portion of the Library, but is
> designed to work with the Library by being compiled or linked with it, is
> called a "work that uses the Library". Such a work, in isolation, is not a
> derivative work of the Library, and therefore falls outside the scope of this
> License.

コンパイルやリンクってPHPには適用しづらいけど、include/require等によって使うことと考えて差し支えないと思う。
01091052006/01/10(火) 16:25:47ID:???
と思ったけど、「in isolation」ってなってるな・・・。
mojavi使って作ったソースって、GPL/LGPLを明記する義務があって且つ再配布されても文句言えないってこと?
なんかわからなくなってきた。
0110nobodyさん2006/01/10(火) 16:46:51ID:???
work と Library を まじぇまじぇして配布するなってことでしょ?
0111nobodyさん2006/01/10(火) 16:49:43ID:???
まじぇまじぇさえしなければLGPLの呪縛から完全に逃れられるってこと?(mojavi本体がLGPLなことは除いて)
0112nobodyさん2006/01/10(火) 17:23:22ID:???
Mojaviみたいなフレームワークの場合、APIのみ同じであるようなフレームワークを
自分であらたに開発すればいいので、それを使うスクリプトは独立しているとみなしていいはず。


だから、自分の製品の一部に組み込んでmojaviを配布する場合はLGPL縛りで、
独立したものとして配布する場合のライセンスは自由なんじゃないかな。
スクリプトの場合、全部のファイルが独立しているという見方も出来るから、
このへんは難しいとこだとおもうけど。
01131092006/01/10(火) 17:49:43ID:???
紛らわしいこと書いて失礼・・・

> Such a work, in isolation, is not a derivative work

ってのはmojaviを使った著作物「単体」では派生物と見なさない(つまり著作物+mojaviをひっくるめて「派生物と見なさない」わけではないってことをin isolationで単に明示してる)って意味っぽい。
つまりmojaviを使用することを前提にしてつくったActionとかViewとかModelとかはLGPLの影響は一切ないってことかな。

>>107
というわけで自分で作ったActionにはLGPLやSean Kerrは必要ないと思う。
0114nobodyさん2006/01/10(火) 23:55:03ID:???
ActionとModelの違いって何?
0115nobodyさん2006/01/11(水) 00:04:17ID:???
Action=親方
Model=作業員
0116nobodyさん2006/01/11(水) 02:52:36ID:0BNMEQyQ
フレームワークで作ってたら、
どこか変更する必要がある時、
「どのファイルをいじったらいいのか?」が
パッとイメージしにくくない?
とりあえずAction開いて、
そこから読んでるけど。
何かいい方法ないかなぁ…。
0117nobodyさん2006/01/11(水) 03:05:05ID:???
フレームワークで分けられてるだけマシだと思ってやってる。
0118nobodyさん2006/01/11(水) 07:49:18ID:SLuQbgaX
>>116
保守性を考えるならまともな仕様書/設計書を残しておけ。
0119nobodyさん2006/01/11(水) 09:31:07ID:???
>>114
共通点のほうが見つからないじゃん
0120982006/01/11(水) 18:53:00ID:???
>>116
やりかた次第じゃないのか?
わかやすいように機能ごとにファイルにしたりとかもできるんじゃない?
0121nobodyさん2006/01/11(水) 20:25:19ID:???
>>119
それぞれの役割は何か答えよ。
0122nobodyさん2006/01/11(水) 22:58:55ID:0mCKrO3o
agavi使ってるんだけど、エラー処理どうしてる?
action の initialize で false を返すとexception投げて来るんだけど、
どこでどうやって捕捉すればいいのかわかんね。
0123nobodyさん2006/01/11(水) 23:01:22ID:SURfFh1U
>>115
ワロタ
0124nobodyさん2006/01/12(木) 09:51:00ID:9A+OuFoz
Agaviサイトが…
ttp://agavi.org/

ParseException
Message: Configuration file "/var/www/sites/agavi.org/webapp/config/autoload.ini"
       specifies class "MailAppender" with nonexistent or unreadable file
       "/var/www/agavi/logging/MailAppender.class.php"
Code: N/A
Class: AutoloadConfigHandler
File: /var/www/agavi/config/AutoloadConfigHandler.class.php
Line: 7
0125nobodyさん2006/01/12(木) 10:09:00ID:???
>>124
またagaviのとこかw
つーかagaviのサイトってagavi使ってたんだ。
0126nobodyさん2006/01/12(木) 15:06:57ID:???
mojavi2でのポストフィルタの使い方がわかりません。
GlobalFilterでregistして、executeのあとに処理を書けばいいんでしょうか?

googleで3時間程検索しましたが全然出てきませんでした。
よろしくお願いします。
0127nobodyさん2006/01/12(木) 16:02:51ID:???
>>126
こんな感じになるんじゃないかな。
<filter>.class.php
class <filter名> extends Filter{
 function execute(&$filterChain,&$controller,&$request,&$user){
  static $loaded;
  // ActionChainやAction::forwardを使った時にフィルタが複数回適用されるのを防ぐ
  if($loaded == NULL){
   $loaded = TRUE;
   // 前処理フィルタ
   ...
   // filter chain の次のフィルタを実行
   // pre-filterとpost-filterの分岐点
   $filterChain->execute($controller,$request,$user);
   // 後処理フィルタ
   ...
  }else{
   $filterChain->execute($controller,$request,$user);
  }
 }
}
0128nobodyさん2006/01/12(木) 16:47:35ID:9A+OuFoz
>>127
そんな感じでOKだとワシも思う。

それより、>>126

まともにグーグル先生すら使えんもんが、何を作ると言うのだ。と、小一時間。
0129nobodyさん2006/01/12(木) 17:35:39ID:???
>>127,128
ありがとうございます。
Googleでも同じようなことが書いてあったのですがそれでもよくわからないの
です。

>    $filterChain->execute($controller,$request,$user);
>    // 後処理フィルタ

この後に処理を書いたものが「Viewの後に」実行されるという認識であってますか?

何個もFilterを使っている場合、どのフィルタの中で処理を書けばいいかが
わからないです。
最後に処理されるフィルタのところで書くような気がするのですが、そのような
記述をしているところがありませんでした。





0130nobodyさん2006/01/12(木) 17:48:31ID:???
>>129
前スレあたりに書いたのにちょっと手を加えたものを再掲すると、

個々のフィルタには前処理・後処理という2段階の実行順序があって、
登録した順に前処理が全て実行されてから、今度は逆順に後処理が実行される。

Actionの実行部分もフィルタの一種として扱われていて(ExecutionFilter)、
全てのフィルタの登録後に登録されている。
Viewの実行(View::execute())はExecutionFilterの中で実行されている。

結果、登録順に1,2...の番号を付けた時に、
1. GlobalFilterのpre-filter1,pre-filter2...を実行
2. moduleFilterのpre-filter1,pre-filter2...を実行
3. ExecutionFilterを実行(認証や特権の判定、action処理)
4. Viewの実行
5. moduleFilterの...post-filter2,post-filter1を実行
6. GlobalFilterの...post-filter2,post-filter1を実行
という順番で処理されることになる。
0131nobodyさん2006/01/12(木) 20:45:08ID:???
>>130
詳しい説明ありがとうございます。
動作順序がよくわかりました
なんでそういう複雑な感じになってるかはよくわかりませんがw


検索用用語
プリフィルタ ポストフィルタ prefilter postfilter mojavi2
0132nobodyさん2006/01/12(木) 21:57:58ID:9A+OuFoz
>>131

>検索用用語
>プリフィルタ ポストフィルタ prefilter postfilter mojavi2

mojavi filter だけである程度答えでてくるよ。
ttp://www.google.co.jp/search?hl=ja&c2coff=1&q=mojavi+filter&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0133nobodyさん2006/01/14(土) 14:30:31ID:???
mojaviのlibとoptに入れるものってどうやって分けるの?
0134nobodyさん2006/01/14(土) 19:24:49ID:???
>>133
何かと思ったらMojavi2の話か。
libとoptってMojaviのコンポーネントのソースが入ってるとこじゃないの?
自分で作ったものは基本的にwebapp/libだと思うけど。
0135nobodyさん2006/01/15(日) 02:12:19ID:???
>>130
>Viewの実行(View::execute())はExecutionFilterの中で実行されている。
じゃあ、ExecutionFilter以降のPostFilterは何をしてるの?
0136nobodyさん2006/01/15(日) 02:35:42ID:???
>>135
それは君が決めること。

ExecutionTimeFilter.class.php(配布物に含まれる実行時間を計測するやつ)の場合、

ob_start();
... // GlobalFilterに使った場合、一番最初に呼び出される。タイマー初期化
$filterChain->execute($controller, $request, $user);
... // Glo(ry 。実行時間を計算。
ob_clean();
echo "〜"; // ob_*でバッファに取り込んだものと、計算した実行時間を合わせて出力

ってな感じで使っている。
0137nobodyさん2006/01/15(日) 03:11:54ID:/IaCdmhr
フレームワーク使ってると
仕込む場所と
使う場所が離れてるから、
知らないうちに使われない変数やオブジェクトが
増えて行ったりしない?
あといつの間にか使わなくなった関数とかも増えがちだ。
0138nobodyさん2006/01/15(日) 04:26:13ID:???
誰か俺に一からフレームワーkとオブジェクト指向について教えろ!
0139nobodyさん2006/01/15(日) 04:27:39ID:???
本でも読め
0140nobodyさん2006/01/15(日) 10:40:31ID:???
>>137

( Д )゚ ゚
0141nobodyさん2006/01/15(日) 17:45:48ID:???
>>137
つ転職
01421372006/01/15(日) 19:43:37ID:???
いや
1:テンプレートにassign
2:テンプレート側の変更で使わなくなる
3:assignはされたまま
みたいなことないかい?
0143nobodyさん2006/01/15(日) 21:54:01ID:???
あと使わなくなったリクエストパラメータの
バリデータが残りっぱなしみたいなこととか。
0144nobodyさん2006/01/16(月) 01:01:17ID:???
>>142
俺もあると思うよ
01453242006/01/16(月) 01:05:52ID:VcFB/Doi
>142
すごい巨大な配列とかなら気にするけど、
普通のデータだったら、いちいちそんな細かい事気にしてられません。
0146nobodyさん2006/01/16(月) 01:48:39ID:???
>>142-144
テンプレートと呼び出しがわの分離が出来てないってことじゃないの?
0147nobodyさん2006/01/16(月) 02:03:12ID:???
>>146
分離してるからこその問題じゃん
MS公認コードコンプリートでも
変数のバインドは出来るだけ短くせよと説いているが
ファイルをまたいでバインドしてるわけだからなぁ。
0148nobodyさん2006/01/16(月) 02:18:21ID:???
>>147
テンプレートで使わない変数は渡さないって考え自体が分離を阻害している希ガス。
0149nobodyさん2006/01/16(月) 02:40:17ID:???
使わない変数は渡さないのは
防御的プログラミングの基本じゃない?
でも一括で渡すフレームワークもあったっけ。
0150nobodyさん2006/01/16(月) 02:45:51ID:???
今までActionを記述する時は
initialize,execute,getDefaultViewとかの主要メソッドを前において
バリデーションとかコンバータとかgetRequestMethodsとかのサブ的なメソッドは
後に詰めてたんだけど、
サブ的なメソッドの中にこそゴミがたまりがちなので、
上の方に置くことにしてみたよ。
視界に晒されることで整理整頓が促されるかなと。
0151nobodyさん2006/01/16(月) 05:57:38ID:???
クラスファイルは大文字から始めるのがPHP風だけど
テンプレートのファイル名は
大文字から始めてる?小文字から始めてる?
0152nobodyさん2006/01/16(月) 06:34:10ID:???
俺は大文字から始めてるな。どっちでも良いと思うけど何となく
0153nobodyさん2006/01/16(月) 12:58:05ID:???
そんな複数の変数をテンプレートに渡すのが普通なんですか? 
おいら、Viewでまとめてから、テンプレートに送ってんですが、
この下記かたはありですか?
0154nobodyさん2006/01/16(月) 13:32:32ID:???
ViewでHelperに変数をセットしてから
Helperだけassignとかもやるお。
0155nobodyさん2006/01/16(月) 20:13:50ID:???
PEAR コーディング・スタイルで書けばいいのに。
0156nobodyさん2006/01/17(火) 01:26:33ID:???
PEAR コーディング・スタイルって、どんなん?
0157nobodyさん2006/01/18(水) 00:42:06ID:???
>>156
ttp://peardoc.xole.net/standards.html
0158nobodyさん2006/01/18(水) 16:12:06ID:???
こーでぃんぐきやく
0159nobodyさん2006/01/18(水) 17:18:46ID:???
>>149
今は攻撃的プログラミングが基本です
0160nobodyさん2006/01/19(木) 01:39:40ID:???
PEARのコーディング規約をeclipseでどう設定するのでしょうか?
とりあえずタブが空白4文字でなく\tになってるのをどーにかしたいのですが…
0161nobodyさん2006/01/19(木) 01:45:47ID:???
>>145
Smarty使っているのなら、{debug}で送られている変数全てを確認してみればイイのでは?
0162nobodyさん2006/01/19(木) 06:15:07ID:???
>>160
truestudio使ってるなら
ウィンドウ>設定>PHP>Editor>Typingタブで
「Insert spaces for tab(〜)」にチェックをつける。
0163nobodyさん2006/01/19(木) 19:13:18ID:???
Zend Framework まだ?
0164nobodyさん2006/01/19(木) 19:23:58ID:???
あとちょっと
0165nobodyさん2006/01/19(木) 19:34:32ID:???
Zend FrameworkってPHP5専用?
0166nobodyさん2006/01/19(木) 19:40:07ID:???
今出ました
0167nobodyさん2006/01/19(木) 20:18:15ID:???
>>165
たぶんね。SPLたっぷり使うんだった希ガス。

>>166
うそーんw
0168nobodyさん2006/01/19(木) 21:50:06ID:???
AgaviのUnitTestはどうやって行うんですかね?
testsフォルダに生成された各TESTファイルにTESTケースを
記述し、「agavi test」をプロジェクトルートで実行しても、
実行されたのは0で、エラーも0・・・。
どうやったらTESTが実行されるのですか・・・。
Tutorialは抜けてますし。
0169nobodyさん2006/01/20(金) 12:49:48ID:???
zendが出たら俺の計画が始まるのに
0170nobodyさん2006/01/20(金) 21:40:36ID:???
http://zephyr-php.sourceforge.net/

また別のフレームワークが。
0171nobodyさん2006/01/21(土) 00:11:11ID:???
Ajaxベース・・・、面白いけど誰も使わなそうだ
0172nobodyさん2006/01/21(土) 02:21:30ID:???
皆フレームワーク作るのが好きなんだなw
一ユーザからするとその熱意を既存のフレーム
ワークのブラッシュアップに使ってほしいものだが。

そのうちフレームワークを作るためのフレームワークが
出てきたりしてなw
0173nobodyさん2006/01/21(土) 12:34:46ID:???
現状mojaviがそれにあたる。
0174nobodyさん2006/01/21(土) 12:41:14ID:???
mapleかなんかも作者がそんなこと言ってなかったっけか。
うろ覚えだけど。
0175nobodyさん2006/01/21(土) 18:35:33ID:???
AgaviってPHP4版もあるの?
01761722006/01/21(土) 18:49:24ID:???
あるのかよ・・・orz
0177nobodyさん2006/01/21(土) 18:59:25ID:???
>>176
mojaviから派生したフレームワークがある事を言ってるんじゃね?

>>175
php5だけじゃないかなぁ。mojavi3(php5)から派生してagavi って感じかと。
0178nobodyさん2006/01/22(日) 01:51:20ID:???
>>177
ということは実質PHP4のフレームワーク代表はMojaviと考えて
よろしいですか?
0179nobodyさん2006/01/22(日) 08:29:35ID:???
>>178
だめです
0180nobodyさん2006/01/22(日) 09:13:49ID:???
まあMojavi知っておけば
他もだいたい対応可能だろう
0181nobodyさん2006/01/22(日) 09:17:37ID:???
>>178
PHP4の代表はMapleだと思う。
俺はPHP5しか使ったことないのでMapleは
使ったことないけど、活動が活発だし、
面白そうだなぁと。
0182nobodyさん2006/01/22(日) 13:10:46ID:???
Phrameじゃないの?
■ このスレッドは過去ログ倉庫に格納されています