Inicio > Refactorización > PHP Refactoring - Lez. 2: matriz de propiedad de una clase

Refactorización PHP - Lez. 2: matriz de propiedad de una clase

Hoy vamos a hablar sobre las propiedades consisten en una clase o propiedad que contiene una matriz.

Vimos en la lección anterior ( Refactorización PHP - Lez 1:. propiedades de una clase ) cómo escribir propiedades simples de una clase.

En cuanto a las propiedades de reglas compuestas aplicar convención de nomenclatura introducida en el tutorial anterior, excepto los métodos de acceso a la misma. Por debajo del estándar a seguir en el nivel de clase.

Método addXXX

Para agregar un elemento a una propiedad se utiliza un método con la siguiente firma:

addXXX función pública ($ valor, $ clave = null)

Donde xxx será reemplazado con el nombre de la propiedad.

El siguiente es un ejemplo:

clase La clase {

$ Alumnos particulares;

public function addAlunni ($ valor, $ clave = null) {

if (is_array ($ valor)) {

foreach ($ valores como $ pos => $ item) {

if ($ key! = null) {

$ This-> Estudiantes [$ position] =

$ Elemento;

Else {}

$ This-> Estudiantes [] = $ elemento;

}

}

} Else if ($ key == null) {

$ This-> Estudiantes [] = $ valor;

Else {}

$ This-> Estudiantes [$ key] = $ valor;

}

}

}

Como puede verse en los parámetros que pasan son dos: la unión primero, el segundo opcional.

A medida que avanzamos en el método comprueba si el valor addXXX $ es una matriz. Si es así recorrer en este último, y si el parámetro $ clave es nula que elementos de la cola en la propiedad, pero si $ key no es valor de inserción nula $ elemento en la posición $ key.

Si $ valor es una matriz y $ clave es igual a nulo valor de inserción directa en la propiedad $ $ alumnos.

Finalmente, el último caso es si el parámetro $ clave se ha mejorado, en el que caso el valor de inserción en $ $ $ propiedades clave de los alumnos en la clase.

Método removeXXX

Para quitar un elemento de una propiedad se utiliza un método con la siguiente firma:

removeXXX función pública ($ clave = null)

Donde xxx será reemplazado con el nombre de la propiedad.

El siguiente es un ejemplo:

clase La clase {

$ Alumnos particulares;

public function removeAlunni ($ clave = null) {

if (is_array ($ key)) {

foreach ($ position as $ key => $ valor) {

unset ($ this-> Estudiantes [$ valor]);

}

} Else if ($ key == null) {

$ This-> Estudiantes = array ();

Else {}

unset ($ this-> Estudiantes [$ clave]);

}

}

}

A medida que avanzamos en el método de removeXXX se comprueba si el parámetro $ clave es una matriz. si es así bucle a través de este último, y eliminar todos los elementos en las posiciones correspondientes a los valores contenidos en el parámetro del método.

Si $ key es una matriz y es igual a los alumnos resetteremo $ null.

Finalmente, el último caso es si el parámetro $ clave se mejora, en cuyo caso el valor se elimine la posición correspondiente en la propiedad $ $ alumnos clave en la clase.

GetXXX método

Para recuperar los elementos de una propiedad se utiliza un método con la siguiente firma:

getXXX función pública ($ clave = null)

Donde xxx será reemplazado con el nombre de la propiedad.

El siguiente es un ejemplo:

clase La clase {

$ Alumnos particulares;

public function getAlunni ($ clave = null) {

if (is_array ($ key)) {

$ Elementos = array ();

foreach ($ position as $ key => $ valor) {

[Valor de $] $ elementos = $ this-> Estudiantes [$ valor];

}

return $ elementos;

} Else if ($ key == null) {

return $ this-> los niños;

}

return $ this-> Estudiantes [$ key];

}

}

Tan pronto como entramos en el método getXXX se comprueba si el parámetro $ clave es una matriz. si es a través de bucle, de modo en el segundo, y, finalmente, devolver una matriz que contiene los valores de los elementos.

Si $ key es una matriz y es igual a null devolver todos los bienes $ alumnos.

Finalmente el último caso corresponde al valor del parámetro a $ tecla, en cuyo caso se devolverá el valor correspondiente a la posición en la propiedad $ $ alumnos clave en la clase.

Cerramos la lección mediante el ensamblaje de todo el código escrito hasta ahora y su aplicación a un pequeño ejemplo, aclarando:

  1. No hay comentarios todavía ...
  1. Aún no hay trackbacks ...
Immagine CAPTCHA
CAPTCHA de audio
Cambiar la imagen
*