php5 이상 버전부터 클래스는 매직 메소드를 사용할 수 있습니다. PHP에서는 두 개의 밑줄(__)로 시작하는 메소드는 매직 메소드로 예약되어 있으므로 기존 매직 메소드를 오버로드하지 않는 한 함수 이름은 __로 시작하지 않는 것이 좋습니다.
PHP의 기존 매직 메소드에는 __construct, __destruct, __call, __get, __set, __isset, __unset, __sleep, __wakeup, __toString, __set_state 및 __clone이 포함됩니다.
이 섹션에서는 __construct, __destruct: 에 대해 설명합니다.
__construct() - 이 메소드는 새 객체가 생성될 때마다 호출됩니다.
__destruct() - 객체에 대한 모든 참조가 삭제되거나 객체가 명시적으로 소멸될 때 실행됩니다.
<?php /** * 清晰的认识__construct() __destruct */ class Example { public static $link; //在类实例化的时候自动加载__construct这个方法 public function __construct($localhost, $username, $password, $db) { self::$link = mysql_connect($localhost, $username, $password); if (mysql_errno()) { die('错误:' . mysql_error()); } mysql_set_charset('utf8'); mysql_select_db($db); } /** * 通过__construct链接好数据库然后执行sql语句...... */ //当类需要被删除或者销毁这个类的时候自动加载__destruct这个方法 public function __destruct() { echo '<pre class="brush:php;toolbar:false">'; var_dump(self::$link); mysql_close(self::$link); var_dump(self::$link); } } $mysql = new Example('localhost', 'root', 'root', 'test');
결과:
resource(2) of type (mysql link) resource(2) of type (Unknown)
위 내용은 PHP 매직 메소드의 내용을 포함하여 __construct __destruct를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.