ホームページ >バックエンド開発 >PHPチュートリアル >オブジェクトの受け渡しにはどの方法が適していますか?何をするか

オブジェクトの受け渡しにはどの方法が適していますか?何をするか

WBOY
WBOYオリジナル
2016-06-13 13:39:11846ブラウズ

オブジェクトの受け渡しにはどの方法が適していますか?
私がもともと JAVA を学んだのは、PHP を使って何かを作りたかったからです。 MVC:モード。コード:
UserInfoAction.class.php :
パブリック関数インデックス($userid){
$userdao = new UserDao();
$userVo= $userdao->
.jsp);
UserInfo.jsp ページには、オブジェクトを取得するために userVo uservo = request.getAttribute( 'userVo '); のみが必要です。
********************************************** ** *****************************************
見てみましょう: PHPページオブジェクトの受け渡し。おそらくいくつかの種類があるでしょう。
1. オブジェクトのシリアル化 $userVoStr =serialize($userVo); $_SESSION[ 'userVo ']= $userVoStr; (セッションが大きすぎます)
2. URL を渡します $url = UserInfo.php? urlencode($userVoStr); header( "Location: $url " ); (長すぎる可能性があります)
3. フォームの隠しフィールドを介して渡される VO オブジェクトもあります。 (これは遅く、不必要であると推定されます)。

大量のデータ: ListUsers を別のページにどのように渡す必要があります。セッションが使用されている場合、セッションを渡した後、手動でセッションをクリアする必要がありますか? JSP では、通常、セッションは大量のデータのページ転送には使用されません。


-----解決策--------------------------



ディスカッション ……
2. $url を URL = UserInfo.php?userVo=urlencode($userVoStr) header( "Location: $url " ); に渡します。長文)

… …

------解決策------------------

あなたの懸念は普遍的なものであり、PHP は孤立して存在しているわけではありません。したがって、彼もその時起こり得るあらゆる状況に対応する必要があります
そうしないと、彼は生き残ることができません。応答メソッドは満足のいくものではないかもしれませんが、
あなたが説明した状況では、PHP が提供する推奨ソリューションは、 pagecontext.setAttribute( 'userVo ',userVo); に対応するセッションです。
session_start();
$_SESSION['userVo'] = $userVo;


userVo に対応します uservo = request.getAttribute( 'userVo ');

include 'UserDao クラスの定義ファイル名';
session_start();
$userVo = $_SESSION['userVo'];

シリアル化とシリアル化解除は単なる代替手段です


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。