/*
* カプセル化: オブジェクト指向の 3 つの主要な特徴の 1 つ
*
* 1. オブジェクトのメンバー (プロパティ、メソッド) を独立した同一のユニットに結合することです。内部の詳細
* アクセス許可修飾子 public protected private
* private: private、このキーワードで変更されたメンバーはオブジェクト内でのみアクセス可能 ($this でのみアクセス可能)
*
* プロパティはencapsulated:
* 変数を複数のメソッドで使用する必要がある限り、この変数をメンバー属性として宣言します。このオブジェクトのすべてのメソッドで直接使用できます。
*
* メンバー属性は、このオブジェクトのグローバル変数と同等です。オブジェクト。
*
* メンバー属性はメソッド内で使用されます。メンバー属性値の変更は、実際にはメソッドの実行動作を変更します。つまり、オブジェクトの関数が変更されます。
*
* メンバーの値の場合属性が異常な場合、メソッドによって実行される関数も異常になります
*
* 機能: オブジェクトの外でその値を変更したり読み込んだりする必要はありません
* 1.
* をカプセル化し、パブリック メソッド (オブジェクトのメンバー属性) を提供しますメソッドを介して値を割り当てたり取得したりすることで制御できます)
*
*
* メソッドはカプセル化することもできます
*
* 機能:
* 1. 内部でのみ使用できるようにプライベート変更を使用します
*
* 2. クラスには 100 個のメソッドがあり、そのうち 95 個はカプセル化されており (他の 5 つのメソッドを提供)、使用できるメソッドは 5 つだけです
*
* 100 個のメンバー属性はすべて値を取ることができ、その値は変更できない、または値は変更できるが値を取得できない // この場合、次のメソッドを使用すると便利です
* カプセル化に関連するマジック メソッド:
*
* __set();//[プライベート]メンバーの属性値を直接設定する際に自動で呼び出されるメソッドです
* __get();//[プライベート]メンバーを直接取得する場合に自動で呼び出されるメソッドです
* __isset();// isset() を直接使用してオブジェクト内のプライベート属性が存在するかどうかを確認します
* __unset();// 存在する場合は unset() を使用して削除します。はオブジェクト内のプライベート属性であるため、メソッドは自動的に呼び出されます
*
*
*
*
*
*
*
*/
class Person{
//x はメンバー属性をカプセル化するため、外部で変更する必要はありませんオブジェクト
private $name;
private $sex;
private __unset($proName){
}
//このメソッドは直接チェックするときに自動的に呼び出されます。オブジェクト内のプライベート プロパティが存在するかどうか
//__isset($proName) の使用、$proName は属性名を表します
private function __isset($proName){
return isset($this->$proName);// isset() は存在するかどうかを返します
}
function __construct($name,$age,$sex){
$this->name=$name;
$this-> ;sex=$sex;
}
// プライベートメンバー属性を取得する場合、このメソッドは自動的に呼び出されます
private function __get($proName)
{
// 取得した値を制御します
if($proName=="age" ){
if($this-age> 40)
return $this->age-10;
}
return $this->$proName;
//プライベートメンバープロパティを設定するとき、このメソッドは自動的に
private function __set($proName, $proValue){と呼ばれる
//$proNameはメンバー属性名を表し、$proValueはメンバー属性値を表します
//設定範囲を制御します
if($proName=="age"){
if($proValue > 100 || $proValuereturn;
$this->$proName=$proValue;
//メンバー属性の値を設定するためのパブリックメソッドを提供します
function setAge ($age){
// 年齢範囲を制御し、セキュリティを強化します
if($age > 100 || $age return;
$this->age=$age;
//メンバー属性の値を取得するパブリック メソッドを提供します
function getAge( ){
//年齢の範囲を制御します
if($this->age return $this->age
else if( $this->年齢return $this->age-5;
else if($this->agereturn $this->age
return $this-> ;age-15;
public メソッドを提供する}
function Say (){
echo "私の名前: {$this->name}、私の年齢: {$this->age}、私の姓: {$ this->sex}
" ;
//カプセル化された run() メソッドにアクセスします
$this-run();
}
private function run(){
echo '111111111111
'
}
function Eat(){
}
// デストラクターメソッド
function __destruct(){
}
}
$p1=新しい人("zhangsan",25,"男")
$p2=新しい人; =new Person;
//$p1 ->age=-50;//年齢は外部から自由にアクセスできるため、セキュリティのためにメンバー属性はカプセル化されています。
$p1->setAge(30);//メソッドでメンバー属性値を設定
$p1->getAge();//メソッドでメンバー属性値を取得
//マジックメソッド_ _setを追加する($proName,$proValue) __get($proName)、メンバー属性を直接呼び出すことができます
$p1->say();//
$p1->run();// プライベート メソッドを呼び出すことはできません直接呼び出されます
//$p1 の名前を削除します
unset($p1->name);
//名前が存在するかどうかを判断します
if(isset($p1->name)){
echo "Exists" ;
}else{
echo "そのようなメンバーはいません
"
?>
著者: コードネーム Aurora
出典: http://zizhuyuan.cnblogs.com

phpssionscanStorestrings、numbers、arrays、andobjects.1.strings:textdatalikeusernames.2.numbers:integersorfloatsforcounters.3.arrays:listslikeshoppingcarts.4.objects:complextructuresthataresialized。

tostartaphpsession、outsession_start()atthescript'sbeginning.1)placeitbe foreanyouttosetthesscookie.2)usesionsionsionsionserdatalikelogintatussorshoppingcarts.3)再生セッションインドストップレベントフィックスアタック

セッション再生とは、新しいセッションIDを生成し、セッション固定攻撃の場合にユーザーが機密操作を実行するときに古いIDを無効にすることを指します。実装の手順には次のものが含まれます。1。感度操作を検出、2。新しいセッションIDを生成する、3。古いセッションIDを破壊し、4。ユーザー側のセッション情報を更新します。

PHPセッションは、アプリケーションのパフォーマンスに大きな影響を与えます。最適化方法には以下が含まれます。1。データベースを使用してセッションデータを保存して応答速度を向上させます。 2。セッションデータの使用を削減し、必要な情報のみを保存します。 3.非ブロッキングセッションプロセッサを使用して、同時実行機能を改善します。 4.セッションの有効期限を調整して、ユーザーエクスペリエンスとサーバーの負担のバランスを取ります。 5.永続的なセッションを使用して、データの読み取り時間と書き込み時間を減らします。

phpsesionsareserver-side、whilecookiesareclient-side.1)Sessionsionsionsoredataontheserver、aremoresecure.2)cookiesstoredataontheclient、cookiestoresecure、andlimitedinsizeisize.sesionsionsionivationivationivationivationivationivationivationivate

phpidentifiesauser'ssessionsingsinssessionCookiesIds.1)whensession_start()iscalled、phpgeneratesauniquesidstoredsored incoookienadphpsessidontheuser'sbrowser.2)thisidallowsphptortorieSessiondatadata fromthata

PHPセッションのセキュリティは、次の測定を通じて達成できます。1。session_regenerate_id()を使用して、ユーザーがログインまたは重要な操作である場合にセッションIDを再生します。 2. HTTPSプロトコルを介して送信セッションIDを暗号化します。 3。Session_Save_Path()を使用して、セッションデータを保存し、権限を正しく設定するためのSecure Directoryを指定します。

phpsessionFilesToredInthededirectoryspecifiedBysession.save_path、通常/tmponunix-likesystemsorc:\ windows \ temponwindows.tocustomizethis:1)uesession_save_path()tosetaCustomdirectory、ensuringit'swritadistradistradistradistradistra


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ホットトピック









