Constructor
Asignación de objetos.
<? php class Human { // class attribute public $ name ; public $ age ; // class method public function sayName () { echo $ this- > name; } } // 例 化 一个 对象 $ man = new Human (); $ hombre -> edad = 20 ; $ man -> name = 'Tom' ; var_dump ( $ man ); // object (Human) # 1 (2) {["name"] => string (3) "Tom" ["age"] => int (20)}
--------------- Línea divisoria -------------- Línea divisoria --------------
Mediante el método anterior, puede asignar valores a las propiedades de los objetos, adecuados para un solo objeto ¿Cómo asignar automáticamente valores a los objetos cuando se crean?
Se puede lograr a través del método mágico de PHP (introducción detallada : https : //segmentfault.com/a/1190000007250604) función __construtct ()
__construtct llamará automáticamente a esta función al crear un objeto,
<? php class Human { // atributo de la clase public $ name ; public $ age ; // método de la clase función pública __construct ( $ nombre , $ edad ) { echo 'Yo soy el constructor' ; $ this- > name = $ name ; $ this- > age = $ age ; } función pública sayName () { echo $ this -> name; } } // Instanciar un objeto $ man = new Human ('Tom', 20 ); $ man-> sayName (); // Soy Tom
Sin llamar al constructor manualmente, asignamos automáticamente valores a los objetos creados;
<? php class Human { // atributo de la clase public $ name ; public $ age ; // método de la clase función pública __construct ( $ nombre , $ edad ) { $ this -> name = $ name ; $ this -> age = $ age ; } función __destruct () { echo __FUNCTION__ , '<br/>' ; } función pública sayName () { echo $ this -> name; } } // Instanciar un objeto $ manA = new Human ('Tom', 20 ); $ manB = new Human ('TomA', 20 ); echo 'Manual release <br/>' ; unset ( $ manA ); echo ' Fin del guión <br/> ' ;
// Ejecutar resultado // Publicación manual // __ destruir // Fin del guión // __ destruir
Por lo tanto, al final del script, el sistema recuperará los recursos ocupados por el script y se llamará al destructor.
El destructor no se usa comúnmente, pero el método destructor permite realizar algunas operaciones o algunas funciones antes de destruir un objeto (estamos haciendo eco aquí)