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

【PHP】Phrameを使う【フレームワーク】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/08/23 14:15ID:???
PHP用フレームワーク「Phrame」について語るスレ

※関連リンク

Phrame本家
http://phrame.sourceforge.net/

PHPでMVC第1回:前編
https://www.stackasterisk.jp/tech/php/phpMvc01_01.jsp

開発談義/FrameWorkはどれがいい? - PukiWiki
http://w-project.org/pukiwiki/index.php?%B3%AB%C8%AF%C3%CC%B5%C1%2FFrameWork%A4%CF%A4%C9%A4%EC%A4%AC%A4%A4%A4%A4%A1%A9
0685nobodyさん2005/06/21(火) 10:53:36ID:???
http://mojavi.p0t.jp/
モジャビジャパン発見!
しかし3の資料はほとんどない
興味ある人は多そうなのに資料がやけに少ない
ネット時代にふさわしくないこの状況はいかに。
0686nobodyさん2005/06/21(火) 11:09:40ID:???
>>683-685
実際の話、PHP5って普及してるの?
先行して一儲けをたくらむ輩(出版社とか)がお盛んなだけな気がするんですが。
0687nobodyさん2005/06/21(火) 11:11:42ID:???
最近majaviのMLもできたよ。
mojavi-users
ttp://ethna.jp/mailman/listinfo/mojavi-users
0688nobodyさん2005/06/21(火) 12:32:11ID:???
>>684
>ほとんどが実験レベルなので、情報も外に出さないし。
いやいやほとんど実用レベルだから…
0689nobodyさん2005/06/21(火) 16:48:41ID:???
>>686
まぁ、"普及している"とは到底思えない。
06906832005/06/21(火) 21:54:30ID:???
しかたねーからソース読み始めた
読みやすいコードだけど
クラスの数が多いな…
0691nobodyさん2005/06/22(水) 00:04:16ID:???
>688
すまん俺が言ったのはPHP5やMojavi3のことではなくて、
実験的に使ってみているだけだから、という意味。
0692nobodyさん2005/06/22(水) 02:20:33ID:???
>>691の周りが実験でって意味ね。
でもなんでそれが情報を外に出さない理由になんの??
0693nobodyさん2005/06/22(水) 10:06:26ID:???
691じゃないけど
実験的な、確定的でない情報は
なかなか外に出しにくいのはごく自然なことだと思うが…。
0694nobodyさん2005/06/22(水) 10:19:56ID:???
>>693
実験内容の公開は有効なことだと思うが…。
0695nobodyさん2005/06/22(水) 10:42:59ID:???
有効かもしれんがそれが目的ではないなら、
わざわざリソース投じてまで公開しようとはあまり思わないだろう。
0696nobodyさん2005/06/22(水) 12:59:37ID:???
>>695
>わざわざリソース投じてまで公開しようとはあまり思わないだろう。
そりゃ単にお前の価値観なだけじゃん。
0697nobodyさん2005/06/22(水) 13:06:43ID:???
あのね。
目的があるから実験するわけよ。
目の前にやることがあるのに、成果が定かでない目的外作業に
エネルギーを向けたりはなかなかしないんだよ、
ぼくちゃん。
0698nobodyさん2005/06/22(水) 13:16:09ID:???
主語が足りねーな。「俺たちは」を付けろよオッサン。
0699nobodyさん2005/06/22(水) 13:18:57ID:???
共有のイデオロギー持ってるって言う幻想もってる世代だから。

俺もオッサンに同意だがw
0700nobodyさん2005/06/22(水) 14:20:40ID:???
Mojaviについて、
WaWaWaに採用が決まったので今後期待できそう、みたいな文章をどこかで読んだが
WaWaWa自体がぱっとしないよな。
0701nobodyさん2005/06/22(水) 14:28:10ID:???
ぱっとする為には何が必要か
0702nobodyさん2005/06/22(水) 14:29:18ID:???
人気じゃね?
0703nobodyさん2005/06/22(水) 15:31:56ID:iwn9lgN+
http://mojavi.try-angle.biz/wiki/index.php?Mojavi%A5%C1%A5%E5%A1%BC%A5%C8%A5%EA%A5%A2%A5%EB1
ここのチュートリアル見ながらモジャ3を見て行ってるんだけど
モジャってActionからViewへのデータコンテナは
Requestを使うのが普通なん?
Request=Post/Getのコンテナという感覚なので
若干違和感を感じたんだけども。
07047032005/06/22(水) 22:32:14ID:???
getErrorメソッドも実装されてるし
標準で各層間のデータコンテナとして使ってるんやね
0705nobodyさん2005/06/22(水) 22:56:31ID:???
モジャ3、ChoiseValidatorがなくなってるじゃん。
なんでだろ?
0706nobodyさん2005/06/23(木) 03:41:21ID:???
モジャ3ユーザ多いのか?

とゆうことはみんなphp5なのか?
0707nobodyさん2005/06/23(木) 06:19:30ID:???
今からやる新サービスを4で作りだそうとは思わないな。
0708nobodyさん2005/06/23(木) 10:41:29ID:???
fetiがフォーラムで「M3は仕様変更もありえるし、stableになるには時間かかるからM2で開発しとけ」って言ってたな。
設定ファイル関連の仕様が変わるっぽい。「iniわかりづれーし、xmlパーサーおせえから独自のにする」とかなんとか。
0709nobodyさん2005/06/23(木) 10:52:29ID:???
>>708
マジかよ!
まあでも独自フレームワークにするかMojaviにするか迷ってたんでふんぎりついたわ。
Mojaviを参考にしながら必要十分程度の軽さのやつつくろ。
0710nobodyさん2005/06/23(木) 14:06:14ID:???
と思ったけど一度まともなフレームワーク見たら
今更自作できねぇなw
FilterChainやActionChainの発想なんて自分で思い付くのに一体何年かかるやら
mojavi2+php4+アクセラレータでがんがるか…
0711nobodyさん2005/06/25(土) 11:36:32ID:???
>>710
Ethnaとかどうよ?
後発だけに割と練られてるんじゃないかと思われる。パッと見だが。

Pear::DBに依存してそうな感じだからスルーしてる。
0712nobodyさん2005/06/26(日) 02:01:42ID:???
define('URL_FORMAT', 2)の設定で
これを
http://localhost/index.php/module/???/
このように
http://localhost/system/module/???/
にしたいんですがどうやってやるんでしょうか。
0713nobodyさん2005/06/26(日) 02:05:15ID:???
>>712

define('URL_FORMAT', 2)にしたら、

http://localhost/index.php/module/モジュール名/action/アクション名

でアクセスできると思うけど、

http://localhost/system/module/???/
これはどれがモジュール名でどれがアクション名?
0714nobodyさん2005/06/26(日) 03:33:25ID:???
>>712
mod_rewriteを用いるか、

いつものindex.phpをsystemとリネームしておいて
ForceTypeディレクティブまたはSetHandlerディレクティブ(PHP5)でsystemをphpとして実行してあげる。
具体的には
<Location /system>
ForceType application/x-httpd-php
</Location>
てしてあげる。
0715nobodyさん2005/06/26(日) 04:45:27ID:???
>>711
なかなかよさげだなー
Mojaviを参考にしたって言ってるから移行もしやすそう
日本人が開発してるからドキュメントが読みやすい(当たり前)
機能的にもかゆいところに手を届かせる意志を感じるし
まだ変化の途上っぽいから実働サービスに組み込むのは怖いけど
追いかけておいてもいいかもね
0716nobodyさん2005/06/26(日) 10:00:25ID:XuuxZEhW
Mojaviで、
他のActionから呼び出すためだけのActionって別に作っても変じゃないよね?
メインActionが各サブActionに仕事を発注し、Requestをこめこめして
View氏に渡すって流れなんですが。
0717nobodyさん2005/06/26(日) 10:53:10ID:???
>>713
ttp://fandc.co.jp/engine/module/catalog/action/list/
このサイトみたいにやりたいんです。
ここはindex.phpないですよね。

このサイト、エロ系だけどDB_DataObject とか使って
すげぇなーと思う。
0718nobodyさん2005/06/26(日) 11:00:47ID:???
714が言ってるけどmod_rewrite使うのが定石と思う
0719nobodyさん2005/06/26(日) 11:35:04ID:???
>>716
昨日作った。

MojaviJapan落ちてるくさい。
0720nobodyさん2005/06/26(日) 12:03:36ID:???
Mojavi本家でもMojavi2.0のダウンロードが出来ないのは
どういう了見なんだろう?
MojaviJapanで出来たから助かったが。
0721nobodyさん2005/06/26(日) 12:04:14ID:???
>>720
本家のsvnレポジトリからダウンロードできますよ
0722nobodyさん2005/06/26(日) 12:25:07ID:???
>>721
意味が分からなかったのでググったところ
svnレポジトリは
ソースのサブバージョンを格納しているデータベースみたいなもんのようですが
どうやってアクセスするのですか?
0723nobodyさん2005/06/26(日) 12:43:25ID:???
Subversionをいれれ。
WINならGUIソフトもいれれ
0724nobodyさん2005/06/26(日) 12:48:12ID:???
>>716
以前、そういう感じでやってみたが、フレームワークの中にフレームワークを作ってるんじゃなかろうか?
という疑問が沸いて、結局サイトの構成やらクラスの設計やらを大幅に見直してやめた事がある。
0725nobodyさん2005/06/26(日) 13:14:53ID:???
果たしてMojavi3.0の時代は来るのだろうか?
0726nobodyさん2005/06/26(日) 14:27:05ID:???
>>723
分かりました
ありがとうございます
0727nobodyさん2005/06/26(日) 16:12:13ID:Nq3gHHYU
3.0でConfigHandler.class.phpで
Strict Standards: Only variable references should be returned by reference
ってのが出まくるんですけど
これなんですか
0728nobodyさん2005/06/26(日) 16:44:51ID:???
iniファイルのどれかが問題とみた。
0729nobodyさん2005/06/26(日) 16:56:00ID:???
[databases]

default = "Default"

; conn2 = "MySQL"

[Default]

class = "PostgreSQLDatabase"

ここもこんな風にしたんですけどね。

mojavi/config/ConfigHandler.class.php on line 179
↑これが多いです
07307132005/06/26(日) 17:12:07ID:???
>>717
Apacheを使ってるという前提で書くけど、httpd.confにMultiViewsを追加すればできるよ。
こんな感じで、ドキュメントルート以下でMultiViewsが有効になるようにする。

<Directory "ドキュメントルートのパス}">
Options Indexes FollowSymLinks MultiViews
・・・ 省略 ・・・
</Directory>

これなら、
ttp://localhost/index.phpがある場合、
ttp://localhost/indexでもアクセスできるようになるので、
ttp://localhost/module/catalog/action/list
というURLでアクセスできる。

07317272005/06/26(日) 17:18:58ID:???
define('MO_ERROR_REPORTING', E_ALL | E_STRICT);
を
define('MO_ERROR_REPORTING', E_ALL | E_ALL);
にしたらできました。
0732nobodyさん2005/06/26(日) 18:47:44ID:???
>>730
>ttp://localhost/indexでもアクセスできるようになるので、
ここから、どのように
>ttp://localhost/module/catalog/action/listというURLでアクセスできる。
へつながるの?
実際試したの?
07337302005/06/26(日) 18:57:12ID:???
>>732

だいたいの意味が分かればいいと思ったから、試してなかった。

×ttp://localhost/module/catalog/action/list
○ttp://localhost/index/module/catalog/action/list
0734nobodyさん2005/06/26(日) 21:05:02ID:???
>>733
それなら>714の方が、余計なところに影響及ばなくてよさげだな
07357332005/06/26(日) 21:25:33ID:???
>>734
そうだね。
0736nobodyさん2005/06/28(火) 17:26:26ID:???
PHP5使いたかったんでMojavi参考にして自前フレームワーク作った
(3はまだDEVなのでパス)
Mojavi式は
MとVがぶっちり断絶するから頭が整理しやすいな
0737nobodyさん2005/06/29(水) 02:05:22ID:???
>>736
EthnaとかMapleを選ばなかった理由は?
んで、Mojavi3より良いものできたのなら公開頼む。
0738nobodyさん2005/06/29(水) 11:58:36ID:???
>712
URL_FORMATを2にすると、CSSやら画像やらへの相対リンクがおかしくなるから気をつけて。
0739nobodyさん2005/06/29(水) 19:24:29ID:???
>>737
国産フレームワークはまだ進化の道程というか枯れ感がないので
今まさに開発中のサービスに組み込むのは抵抗ある。
0740nobodyさん2005/06/29(水) 22:12:19ID:???
>>738さんどうもです。
1にしてmod_reqriteされてるんですか。
0741nobodyさん2005/06/30(木) 12:20:21ID:???
>740
いえ、わたしは1で使ってます。

mod_rewriteを併せて使うなら問題ないと思うのですが、
714さんの紹介されているディレクティブを変更する方法「だけ」だとハマるかもしれません。
0742nobodyさん2005/06/30(木) 15:12:57ID:???
はまればいいじゃない。
そういう経験は重要。
0743nobodyさん2005/06/30(木) 15:26:11ID:???
>>716
ActionChainの事?
イマイチ使いどころがわからん。
DIモドキな使い道があるらしいけど。
0744nobodyさん2005/06/30(木) 19:04:30ID:???
>>737
>Mojavi3より良いものできたのなら
無理言うなよw
0745nobodyさん2005/06/30(木) 21:36:26ID:???
Mojavi3なんか遅くない?
Smarty組み込んでテスト表示だけさせてみたけど
なんかもっさりしてる気がする
0746nobodyさん2005/06/30(木) 22:00:49ID:???
>>745
2回目以降の表示はそう遅くない
0747nobodyさん2005/06/30(木) 23:09:16ID:???
Mojaviのdecorateを詳細に紹介してるページねーかな
サブテンプレートを実現するみたいだが。
今作ってるなんちゃってモジャビではViewResultContainerに
各ViewResultをRENDER_VARでぶちこんで、
ボスViewがそいつらを使ってRENDER_CLIENTするようにしたが。
decorateに仕組みがわからん。
0748nobodyさん2005/07/01(金) 00:21:44ID:???
>>744
Mojaviやその他既存のフレームワーク切り捨てて作るんだから
それらを越えるもの、少なくとも同等のもの作れるんでは?

もし業務でやってるならなおさらに。
0749nobodyさん2005/07/01(金) 11:22:05ID:???
mojavi3とphp5で開発してるんだけど、
isSecure()で認証かけたページのみ全部表示されない。
ページの下の方が欠けてしまう。
こんな現象にあった方いないですか?
0750nobodyさん2005/07/01(金) 12:27:43ID:???
>>749
なんだ!?ページの下の方って!!?HTML間違って書いてるんじゃないの?
同じページでisSecureをfalseにしたらちゃんと表示されるわけ?
0751nobodyさん2005/07/01(金) 12:58:47ID:???
>>750
そうそう。falseにしたら表示される。
htmlが途中までしか表示されないんです。
0752エスパー2005/07/01(金) 15:11:01ID:???
a.途切れる場所がランダム
認証処理に時間かかりすぎて、出力中にちょうどタイムアウト

b.決まった場所で途切れる
テンプレートで変数みていて、認証処理でその辺数になんかしちゃってる

でどうよ
0753nobodyさん2005/07/01(金) 15:35:01ID:???
mojaviって自分で作ったクラスはどこに入れるのが一番いいんですか?
0754nobodyさん2005/07/01(金) 16:30:25ID:???
lib
0755nobodyさん2005/07/01(金) 16:59:11ID:???
libに入れたからってautoloadされたりはしないみたいですね
0756nobodyさん2005/07/01(金) 17:26:20ID:???
おまいらもう3で作ってるの?
3って実用レベルなん?
0757nobodyさん2005/07/01(金) 17:38:01ID:???
>>752
b.ですな。
了解、当たってみます。
0758nobodyさん2005/07/01(金) 23:24:50ID:???
セッションハンドラにオブジェクトのメソッドを設定するには
配列で設定すればよいと
モジャビのソース見てはじめて知ったよ。
勉強になるなあ。
0759nobodyさん2005/07/02(土) 00:40:21ID:???
>>758
PHPのドキュメントにもちゃんと載ってまっせ。
http://jp.php.net/manual/ja/language.pseudo-types.php
0760nobodyさん2005/07/02(土) 01:36:20ID:???
>>759
うぉ!俺も勉強になった!
0761nobodyさん2005/07/02(土) 01:43:27ID:???
>// Type 3: Object method call
>$obj = new MyClass();
>call_user_func(array(&$obj, 'myCallbackMethod'));
ってPHP5だと参照渡しじゃなくていいんだよな?
0762nobodyさん2005/07/02(土) 02:19:24ID:???
>>755
もじゃび3/webapp/config/autoload.ini
の下のほうをよく見てみましょう。
0763nobodyさん2005/07/02(土) 11:03:09ID:???
>759
ほんとだ、ちゃんとマニュアルに載ってんだね(^^;

俺はQuickFormのcallbackルールを追っかけてたときに知ったよ。
0764nobodyさん2005/07/02(土) 18:50:51ID:???
MojaviのAPI見てはじめて
registerが動詞で
registなんて言葉は存在しないと知ったw
勉強になるわ
0765nobodyさん2005/07/02(土) 19:27:15ID:???
そんなこと言ってくと del なんかもヤバス
0766nobodyさん2005/07/02(土) 19:29:23ID:???
アクションチェーンとか言うやつ使ってる人いるの?
あれってどうなのよ
0767nobodyさん2005/07/03(日) 02:56:20ID:???
>>766
2.0ではあると便利だが、3.0では洋梨
0768nobodyさん2005/07/03(日) 03:52:39ID:???
>>767
むしろ3では$controller->forward()
0769nobodyさん2005/07/03(日) 04:03:59ID:???
>>768
modelがあるだろ
0770nobodyさん2005/07/03(日) 04:48:09ID:???
3ではDecoratorを使う。が、いかんせんサンプル不足。
0771nobodyさん2005/07/03(日) 06:17:17ID:???
>>770
decorator使い方わかったら教えてください
0772nobodyさん2005/07/03(日) 06:18:27ID:???
Mojavi Builderってどうやってダウンロードすんの?
記事ばかりでダウンロード出来るリンクがわからねー
0773nobodyさん2005/07/03(日) 07:14:35ID:???
なんかPhrameスレのはずがMojaviスレになりつつあるな。
いちおう↓のスレでもMojaviネタ蔓延ってますよっと

PHPでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1113724557/

むしろ誰かMojaviスレ立てたら?
漏れはまだ低脳なんでやめときます。
07747722005/07/03(日) 13:48:53ID:???
リリースXはダウンロード出来たけど
これが現在の最新バージョン?ベータっぽい名前なので気になる
0775nobodyさん2005/07/03(日) 17:53:28ID:???
Mojavi2ではクラスのコンストラクタが参照返しになってますが
これはどういう意味があるんですか?
0776nobodyさん2005/07/03(日) 17:55:55ID:???
>>775
クラスだから。

つうかMojavi2じゃなくてPHP4の仕様。
0777nobodyさん2005/07/03(日) 18:33:21ID:???
コンストラクタを参照返しにして
$a =& new Class()
にしないと、
インスタンスが内部的には2つ作られてしまうということですか?
普通に$a = new Class()を多用してた…orz
0778nobodyさん2005/07/04(月) 00:20:10ID:???
ちなみにPHP5では改善されてる。
とりあえずマニュアル嫁
0779nobodyさん2005/07/06(水) 02:03:07ID:???
http://www.stackasterisk.jp/tech/php/mojavi05_03.jsp
ここのCustomSmartyRendererクラス、
コンストラクタの引数$controller, $request, $userに
&が抜けてるので注意のこと。
0780nobodyさん2005/07/06(水) 04:25:32ID:???
こういうミスを見るとPHP5がすばらしく思える。
0781nobodyさん2005/07/06(水) 12:32:07ID:???
たしかに、動かしていても気づかないからかなり気を遣うな。
0782nobodyさん2005/07/06(水) 17:36:05ID:8QO1KkG5
モウハービでモジュールの遷移を記録するにはどうすればいいですか?
企図したとおりに処理が流れてないので
流れを知りたいのですが…
0783nobodyさん2005/07/06(水) 19:40:26ID:???
>>782
ソースを読む
0784nobodyさん2005/07/06(水) 19:59:29ID:???
>>780
PHP4でもプロパティを書き換えない限り内部的にはインスタンスのコピーは行われないと聞いたことがあるけど、デマかな?
値を書き換えようとしたときに自動的に適切なコピーが作られる・・・みたいな。
■ このスレッドは過去ログ倉庫に格納されています