0

こんにちは、私は 3 つのクラスAnonymousUser(ログインしていないユーザー用)、Users(登録されている一般ユーザー用)、およびUsersInSession(セッションを持っているユーザー) の 3 つのクラスを持つ Web サイトを持っています。これらのクラスはすべて People クラスから継承されます。

SQLクエリからユーザーデータを取得し、ログに記録し_SESSION["objectSession"]ているユーザーをシリアル化し、ユーザーがログに記録されたときに保存します.各PHPファイルにオブジェクトをシリアル化解除_SESSION["objectSession"]$objectSessionます..フレンドリスト(MySQLのリソース内)を取得したいとき私が行うオブジェクト:

$myFriends=$objectSession->getFriends();

次に、この方法で友達のデータを印刷できます。

 <table> <tr> <td>Name</td><td>Lastnames</td> </tr> <?php
 while($objectFriend=$myFriends->fetchObject("Users")){ ?> <tr> <td><?
 echo $objectFriend->name; ?></td> <td><? echo
 $objectFriend->lastnames; ?></td> <?php } ?></tr></table>

これらのクラスを Zend Framework に実装できますか?

これらのクラスがモデルまたはコントローラーになるかどうかはわかりません..

4

2 に答える 2

1

この質問の場合、ZFのバージョンは、他の何よりも構造の質問であるため、無関係です。

手始めに、現在、ほぼ同じことを行う3つのクラスがあります。これらの3つのクラスを、3つ(またはそれ以上)のレベルの認証とアクセスを持つ1つのユーザークラスに凝縮することができます。

ZF2を使用する場合、Zend \ Authenticationを使用して認証(ログイン)システムを実行できます。 次に、アプリケーションが各ユーザーが取得するアクセスレベルを決定するときに、アクセス制御コンポーネントの1つを使用して、ユーザーがアクセスできるリソースを制御できます。
Zend / Permissions / Acl、従来のオブジェクトベースのACL。
Zend / Permissions / Rbac、ロールベースのACL。

独自のソリューションを実際に使用したくない/必要がない場合は、ZF2モジュールで非常に優れたアクセス制御および認証ソリューションを見つけることができます。

[編集]

これらのクラスを使用してZendFrameworkに実装できますか?

はい。ただし、実装を容易にするために名前を変更する必要がある場合があります。

これらのクラスがModelまたはControllerのどちらであるかはわかりません。

From your description it's likely your classes incorporate model, controller and probably even view elements in each class. So some refactoring will likely be required.

Typically these classes would be mostly model classes of the 'Domain Model' type that would interact with one or more controller to be processed and presented through the view.

于 2012-12-28T14:13:59.473 に答える
0

ありがとう、多分私は質問をあまりよくしませんでした..その3つのクラスで私がすることは、ユーザーがそれを行うための「特権」を持っているかどうかを確認することです.

- 匿名ユーザー (People クラスから継承) は、どのプロファイルにもコメントできません。

-ユーザー (People クラスからも継承) は、コメントでき、プロフィールと写真を保持できます。 ) ユーザーが $iduser のプロファイルを表示できるかどうかをチェックするメソッド。このクラスには checkBlocked($iduserblock) 関数もあります。これは、ユーザーがブロックされていてプロファイルが表示されていないかどうかを確認できるためです。

-People クラス (このクラスはジョブを実行します) は、セッションが匿名ユーザーであるかどうか、または (ログに記録されている) ユーザーであるかどうかを確認します。彼がブロックされているかどうかを確認する必要はありません..このクラスには、プロファイルとその他の問題をロードするメソッド loadProfile($id) があります

于 2012-12-28T17:36:45.660 に答える