オブジェクト指向プログラミングでは、PHP はプログラミングに非常に便利な一連の マジック メソッドを提供します。 PHP のマジック メソッドは通常 (2 つのアンダースコア) で始まり、明示的な呼び出しは必要ありませんが、特定の条件によってトリガーされます。この記事では、php で一般的に使用される マジック メソッドのみを紹介します。必要な方は参照してください。
よく使用されるマジック メソッドは、Tostring () Call() autoLoad() GET() SET です。 () isset( ) unset()
1.Tostring() 参照時に呼び出される出力オブジェクトの定義に使用されます 戻り値が必要な一部のオブジェクトに関する情報を出力するためによく使用されます 例: 永続性がありますclass Persion per =new persion()
Echo per; //直接呼び出しはエラーになります
クラス定義に tostring() メソッドを追加できます
コードは次のとおりです:
Function Tostring() { $str=this->$name.this->age; Return $str; }2.Clone () object copy
Reference assign
$per1=$per2; そして、これはメモリ内に 1 つのアドレスしかありません そして、$per1=clone $per2 現時点では 2 つのメモリアドレスがあります
3。クラスインスタンスに存在しない関数を呼び出すと自動的に実行されます
クラスに存在しない関数を呼び出すと
構文エラーが発生するため、わかりやすいプロンプトを提供します。クラス内で Call() メソッドを宣言できます;
Function call($funName,$argu) { Echo "名为".$funName."参数为".printf($argh)."的函数不存在", }
使用されるクラス ファイルを自動的にロードします。この関数は、他のページを呼び出す必要がある場合に使用します。ページ内に php ファイルがある場合は、include メソッド を使用する必要があります。しかし、参照する必要があるページが数十ある場合は、ページに autoload メソッドFunction autoload($className)
{
Include $className.".php";
}
を追加することができます。他のクラスが参照される場合、そのクラス ファイルは自動的に参照されます。前提条件のクラス ファイルの名前は class name.php5.GET() である必要があります。クラス内のプライベート プロパティにアクセスします
GET()を使用できます
例:
person per=new person()をインスタンス化するクラスには
Class person { Private $name; Private $age; }
Function GET($proName) { Return this->$proName; }Per->$name を再度呼び出すことでアクセスできます この方法では、プライベート変数に直接アクセスできます。パブリック宣言との違いは何ですか。 ?
public宣言されている場合は任意に読み込むことができ、privateであればgetメソッドを追加するとprivate属性が呼び出されるたびにGETメソッドの内容が呼び出されるようにするため、論理的な処理を追加することができます。 getメソッドに。
6.SET() はクラスにプライベート プロパティを設定します
原理は、クラス インスタンスを呼び出すことでプライベート プロパティに値が割り当てられるたびに、クラスに SET() 関数を追加できます。
関数プロトタイプ:
Function SET($proName,$value) { This->$proName=$value; }メソッド代入なので論理的な処理ができます
が存在するかどうかを判断するために使用されますが、 isset( を使用した場合、クラス内のプライベート プロパティが存在するかどうかを判断することはできません。 per->$name);//戻り値は false ですが、 $ name 属性は存在しますが、どうすれば解決できますか?
解決策:
1. $name をプライベートプロパティとして定義します
2. Function isset($proName)
{
Return isset(this->$proName);//再类内部是可以访问私有属性的
}
をクラス定義に追加します。この場合、戻り値は次のようになります。 true; 8.unset() はクラス内のプライベート変数をクリアするときに自動的に呼び出されます
unset メソッドは、クラス内の属性を削除する必要がある場合にそれを削除できます。パブリック属性は直接削除できますが、プライベートの場合は、このメソッドだけでは実現できません。この関数を実現するには、
Function unset($proName) { Unset(this->$proName); }を追加する必要があります。これで、unset($name) を呼び出すことができます。person クラスの $name を削除します。
以上がPHPでよく使われるマジックメソッドのまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。