PHPでよく使われるマジックメソッドは何ですか?

怪我咯
リリース: 2023-03-12 17:00:01
オリジナル
19834 人が閲覧しました

この記事では主にPHPでよく使われるマジックメソッドに関する関連情報を紹介します。非常に良い基準値を持っています。以下のエディターで見てみましょう

PHPでよく使われるマジックメソッドは何ですか?

私たちは、構築メソッド、デストラクターメソッド、その他のマジック変数などのマジックメソッドを PHP でよく使用します。ここでは、よく使用されるいくつかのマジック変数の概要を示します:

construct ( )、destruct()、clone()、autoload()、tostring()、invoke()、set()、get()、unset()、isset()、call()、callstatic;

1 .constuct()Constructor

通常、オブジェクトをインスタンス化した後、オブジェクトのプロパティを初期化する必要があります。オブジェクトをインスタンス化するとき、PHP システムは、construct() という名前のメソッドを自動的に呼び出します。このメソッドを「コンストラクター メソッド」と呼びます。

その中で、コンストラクター メソッドにはパラメーターを含めることはできません。

<?php

class Stu {

 public $stu_name;
 public $stu_age;

//构造方法,实例化时自动调用
 public function construct($name,$age){

  $this->stu_name = $name;
  $this->stu_age = $age;
 } 

}

//实例化stu对象
$stu = new Stu(&#39;孙悟空&#39;,&#39;500&#39;);
ログイン後にコピー

2.destruct() デストラクター メソッド

は、コンストラクター メソッドとペアになっています。コンストラクター メソッドは、オブジェクトが「誕生」するときにシステムによって自動的に呼び出されます。一方、デストラクター メソッドは、オブジェクトが「生成される」ときに呼び出されます。消えます」 システムによって自動的に呼び出されます。

デストラクター メソッドの名前は destruct() です。このメソッドにはパラメーターを含めることはできないことに注意してください。

<?php

//析构方法
public function destruct(){

}
?>
ログイン後にコピー

注: デストラクター メソッドは、オブジェクトが破棄される前に呼び出されます。

関数:

デストラクターメソッドは通常、オブジェクト自体を破棄するのではなく、オブジェクトによって占有されている追加のリソースを解放するために使用されます。

3.clone() cloning

トリガーのタイミング: オブジェクトを複製するとき、それは新しいオブジェクトを初期化する作業です

//克隆方法在克隆对象的时候对新对象的初始化工作
 
public function clone(){
 
 $this->is_clone=true;
} 
ログイン後にコピー

考え:

複製されたオブジェクトはまだ生徒ですか?クラスのインスタンスについてはどうでしょうか?

instanceof 演算子を使用して判断できます。

instanceof は、オブジェクトが特定のクラスのインスタンスであるかどうかを判断するために使用されます。

2 つのオペランドが必要です。前部はオブジェクト変数、後部はクラス名です。ブール値を返します!

var_dump($stu instanceof Stu);     //返回bool(true)
ログイン後にコピー

4.autoload()クラスの自動ロード

存在しないクラスを呼び出すと自動的に呼び出されます!

<?php 

/**
* 自动加载类
* 需要什么类autoload会自动调用需要的文件
*
*/

public function autoload($class_name)
{
 require_once "../Model/{$class_name}.class.php";
}
 ?>
ログイン後にコピー

5.tostring()

オブジェクトが文字列として使用される場合に自動的に呼び出されます

6.invoke()

オブジェクトが関数として使用される場合に自動的に呼び出されます

7, set ( )

アクセスできないプロパティに値を割り当てるときに自動的に呼び出されます(例:クラス外のプライベートプロパティを呼び出す)

8.get()

アクセスできないプロパティの値を取得するときに自動的に呼び出されます

9. unset()

アクセスできないプロパティを破棄するときに自動的に呼び出されます

10.isset()

アクセスできないプロパティが存在するかどうかを判断するときに自動的に呼び出されます

11.call()

通常のメソッドがアクセスできないときに自動的にトリガーされますアクセスされるメソッドは呼び出されます

<?php 
class Stu{

 public function call(){
    echo "error";
 }
}
$stu = new Stu();
//此时Stu类里没有show()方法,会触发call()函数
$stu->show();
ログイン後にコピー

12.callststic()

アクセスできないメソッドにアクセスできないときに自動的にトリガーされます

<?php 
class Stu{

 public static function callstatic(){
  echo "error";
 }
}
$stu = new Stu();
//此时Stu类里没有show()方法,会触发call()函数
$stu::show();
ログイン後にコピー

以上がPHPでよく使われるマジックメソッドは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!