2012-03-12 15 views
0

私は約3週間、クライアント用のPHP MVCに取り組んできました。php mvcと各アクションのクラス

システムのごく一部について説明します。

ユーザーには、Fitters,Agencys、およびAdminsの3種類があります。

これらはすべてログインでき、機能は限られていますが、管理者は明らかにすべての機能を備えています。

管理者add, edit and deleteusers, jobs, stock普通です。

私は今のところ、それを設定した方法はとても似ている...

クエリ文字列は次のようである:/admin/users/?method=agency&action=add

これはadminコントローラを呼び出し、users関数を呼び出します。

users関数はusersモデルを呼び出します。

usersモデルはadd, edit, delete, admins, fitter, and agencies.

action=add&method=adminに機能を動的に管理者

action=edit&method=fitterためのフォームを返しますどのadd_admin()を呼び出します含まれている私は今動的に製作中のフィッターのためのフォームを返しますedit_fitter()

を呼び出します不思議に思っていた...

ve ADDクラス。すべてなどの追加メソッドを使用し、EDITのクラス、DELETEのクラス、VIEWのクラスを持っていますか?

これは良い方法でしょうか?

私はこれを行うことで、USERsクラスのようなクラスの依存関係を制限できると思いました。

私はすべて、その後、追加するための1つのクラスを持っていた場合は

だから、ユーザークラスが Validatorを必要とし、 database、追加や製作中のためのHTMLフォームを返す Formクラスなどなど adds, edits, deletes, inserts, updates and views fitters, agencies, and admins.ユーザークラスので、それはバリデータの依存関係を根絶するでしょうか?追加クラスがフォームを返す責任があるからです。他にはありません

私はこの質問をしているのは、私がMVCを初めて使ったからです。次の数時間かけてすべてのコードを変更してから、提案したパターンに問題があることを認識しています。

私はちょうどあなたに親切な人を尋ねています、あなたはこの方法の問題を予見できますか?

これは通常どのように行われますか?

この方法は、理由のために明確に操作されていますか?

どのようなアドバイスやヒントをいただければ幸いですか?

だけ明確にする...私は削除し、私は、[編集]を追加ための別々のクラスを持っているかどうかを求めていると見る

アレックス

+0

'/ admin/users /?method = agency&action = add'または' action = add&method = admin'ですか? –

+0

クエリ文字列のどちらの方向にも問題はありません –

答えて

0

する必要があり、誰もが興味があっただけであれば、私は私のMVCこの方法を実装していたし、それははるかに良いです!

1

私は最善の方法は、のアクセスレベルを格納していると思いますユーザー(セッションなど)を作成し、セッションに格納されているものに従ってページをレンダリングします。 URLは唯一/admin/users/?action=add

それとも

admin/user/edit/?id=27

router/controller/action/?param1=value1

関連する問題