php魔术方法是什么?有哪些?
PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用。
魔术方法包括:
● __construct(),类的构造函数
● __destruct(),类的析构函数
● __call(),在对象中调用一个不可访问方法时调用
● __callStatic(),用静态方式中调用一个不可访问方法时调用
● __get(),获得一个类的成员变量时调用
● __set(),设置一个类的成员变量时调用
● __isset(),当对不可访问属性调用isset()或empty()时调用
● __unset(),当对不可访问属性调用unset()时被调用。
● __sleep(),执行serialize()时,先会调用这个函数
● __wakeup(),执行unserialize()时,先会调用这个函数
● __toString(),类被当成字符串时的回应方法
● __invoke(),调用函数的方式调用一个对象时的回应方法
● __set_state(),调用var_export()导出类时,此静态方法会被调用。
● __clone(),当对象复制完成时调用
● __autoload(),尝试加载未定义的类
● __debugInfo(),打印所需调试信息
详细介绍:
__construct()
__construct()是类的构造函数,是目前为止最经常使用的函数。在创建对象时,可以在构造函数中做一些初始化工作。可以为构造函数定义任意多个参数,只要在实例化时传入对应个数的参数即可。构造函数中出现的任何异常都会阻止对象的创建。
__desctruct()
__desctruct()是类的析构函数,通常在销毁对象或脚本执行结束时自动调用,析构函数不接收任何参数。经常在析构函数中执行一些清理工作,比如关闭数据库连接等。
__call()
__call()在调用不存在或不可访问的方法时会被调用。它接收两个参数,一个是调用的方法的名字,一个是包含函数参数的数组。我们可以使用这种方法调用子对象中得同名函数
__callStatic()
__callStatic()当调用的静态方法不存在或权限不足时会被调用。它接收两个参数,一个是调用的方法的名字,一个是包含函数参数的数组。其使用跟__call()完全一样。
__get()
__get()在我们尝试访问一个不存在的属性或者非公有属性时会被调用。它接收一个参数,该参数表示访问属性的名字,并且将该属性的值返回
__set()
__set()在我们尝试修改一个不可访问的属性时会被调用,它接收两个参数,一个表示属性的名字,一个表示属性的值。
__isset()
__isset()在对一个不可访问的属性调用isset()或empty()方法时会被调用,它接收一个参数,表示属性的名字。它应该返回一个布尔值,用来表示该属性是否存在。
__unset()
__unset()在调用 unset()函数销毁一个不能访问的属性时会被调用,它接收一个参数,表述属性的名字。
__sleep()
__sleep()在对一个对象序列化时(调用 serialize())会被调用。它不接收任何参数,而且应该返回一个包含所有应该被序列化的属性的数组。在该魔术方法中,也可以执行一些其他操作。
有一点要注意的是,不要再该函数中进行任何的析构操作,因为这可能会影响正在运行的对象
__wakeup()
__wakeup()在对存储的对象反序列化时会被调用。它不接收任何参数,也没有任何返回值。可以用它来处理在序列化时丢失的数据库连接或资源
__toString()
__toString()在我们将对象当作字符串一样使用时会被调用,它不接收任何参数。该方法允许我们定义对象的表现形式。
__invoke()
调用函数的方式调用一个对象时的回应方法
__set_state()
调用var_export()导出类时,此静态方法会被调用。
__clone()
__clone()可以解决上面的问题。当对一个对象使用 clone 关键字时,该魔术方法会被调用。
推荐教程:PHP视频教程

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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ホットトピック









