Startseite > Refactoring > Refactoring PHP - Lez. 2: Array Eigenschaft einer Klasse

PHP Refactoring - Lez. 2: Array Eigenschaft einer Klasse

Heute diskutieren wir die Eigenschaften bestehen aus einer Klasse oder Eigenschaft, die ein Array.

Wir sahen in der vorigen Lektion ( PHP Refactoring - Lez 1:. Eigenschaften einer Klasse ), wie man einfache Eigenschaften einer Klasse zu schreiben.

In Bezug auf die Eigenschaften der Composite-Regeln gelten Namenskonvention im vorherigen Lernprogramm vorgestellt, mit Ausnahme der Methoden der Zugang zu den gleichen. Unterhalb der Norm auf der Ebene der Klassen folgen.

Methode addXXX

Um ein Objekt auf eine Eigenschaft hinzufügen, machte eine Methode einsetzen, mit der folgenden Signatur:

public function addXXX ($ value, $ key = null)

Wobei XXX mit dem gleichen Namen der Eigenschaft ersetzt.

Das Folgende ist ein Beispiel:

Klasse Klasse {

$ Private Schüler;

public function addAlunni ($ value, $ key = null) {

if (is_array ($ value)) {

foreach ($ Werte wie $ pos => $ item) {

if ($ key! = null) {

$ This-> Studenten [$ position] =

$ Element;

Else {}

$ This-> Studenten [] = $ element;

}

}

} Else if ($ key == null) {

$ This-> Studenten [] = $ value;

Else {}

$ This-> Studenten [$ key] = $ value;

}

}

}

Wie ersichtlich ist die Parameter übergeben sind zwei: der erste Bindungspartner, wobei der zweite optional.

Als wir in addXXX Methode prüft gehen, wenn der $ value ein Array ist. wenn ja Schleife durch auf dem letzteren, und wenn die $ key-Parameter null wir Warteschlange Elemente in der Eigenschaft, aber wenn $ key ist nicht null-Einsatz Wert $ item in $ Schlüsselposition.

Wenn $ value ein Array ist und $ key ist gleich null Einlage Wert direkt in der Eigenschaft $ $ Schülerinnen und Schüler.

Schließlich der letzte Fall ist, wenn die $ key-Parameter verbessert wird, in welchem ​​Fall Insert-Wert bei $ $ $ wichtigsten Eigenschaften der Schüler in der Klasse.

Methode removeXXX

Um einen Artikel aus einer Eigenschaft entfernen nutzten eine Methode mit folgender Signatur:

public function removeXXX ($ key = null)

Wobei XXX mit dem gleichen Namen der Eigenschaft ersetzt.

Das Folgende ist ein Beispiel:

Klasse Klasse {

$ Private Schüler;

public function removeAlunni ($ key = null) {

if (is_array ($ key)) {

foreach ($ Position als $ key => $ wert) {

unset ($ this-> Studenten [$ value]);

}

} Else if ($ key == null) {

$ This-> Schüler = array ();

Else {}

unset ($ this-> Studenten [$ key]);

}

}

}

Wie gehen wir in removeXXX Verfahren wird geprüft, ob die $ key Parameter ist ein Array. wenn ja, durchlaufen auf dem letzteren, und Beseitigung aller Elemente an Positionen entsprechend den Werten der Parameter des Verfahrens enthalten.

Wenn $ key ist ein Array und ist gleich den $ null resetteremo Schüler.

Schließlich der letzte Fall ist, wenn die $ key-Parameter verbessert wird, wobei in diesem Fall wird der Wert der entsprechenden Position in der Eigenschaft $ $ key Schüler in der Klasse zu löschen.

GetXXX Methode

Um Elemente aus einer Eigenschaft abrufen machte eine Methode einsetzen, mit der folgenden Signatur:

public function getXXX ($ key = null)

Wobei XXX mit dem gleichen Namen der Eigenschaft ersetzt.

Das Folgende ist ein Beispiel:

Klasse Klasse {

$ Private Schüler;

public function getAlunni ($ key = null) {

if (is_array ($ key)) {

$ Elements = array ();

foreach ($ Position als $ key => $ wert) {

$ Elements [$ value] = $ this-> Studenten [$ value];

}

return $ Posten;

} Else if ($ key == null) {

return $ this-> Kinder;

}

return $ this-> Studenten [$ key];

}

}

Sobald wir geben die getXXX Verfahren wird geprüft, ob die $ key Parameter ist ein Array. wenn ja Schleife durch auf dem letzteren, und schließlich wieder ein Array mit den Werten der Elemente.

Wenn $ key ist ein Array und ist gleich null, erhält man alle Eigenschaft $ Schülerinnen und Schüler.

Schließlich der letzte Fall entspricht der Wert des Parameters auf $ key, in welchem ​​Falle wir den Wert zurückgeben wird entsprechend der Position in der Eigenschaft $ $ key Schüler in der Klasse.

Wir schließen die Lektion durch Zusammenfügen all den Code so weit und schriftliche Anwendung auf einem kleinen Beispiel zu klären:

  1. Noch keine Kommentare ...
  1. Bisher keine Trackbacks ...
Immagine CAPTCHA
Audio-CAPTCHA
Bild ändern
*