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 vorherigen Lektion ( PHP Refactoring - Lez 1:. Eigenschaften einer Klasse ), wie man einfache Eigenschaften einer Klasse zu schreiben.

Im Hinblick auf die Eigenschaften von Namenskonventionen bestehen, die Regeln in der vorherigen Tutorial eingeführt, mit Ausnahme von Methoden auf sie zuzugreifen. Unterhalb der Norm auf der Ebene der Klassen folgen.

Method addXXX

Um einen Artikel, um eine Eigenschaft nutzten eine Methode, mit der folgenden Signatur:

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

Wo XXX sollte mit dem Namen der Eigenschaft ersetzt werden.

Das folgende Beispiel zeigt:

Klasse Klasse {

$ Private Schüler;

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

if (is_array ($ value)) {

foreach ($ value als $ position => $ item) {

if ($ key! = null) {

$ This-> Studenten [$ position] =

$ Element;

Else {}

$ This-> Studenten [] = $ item;

}

}

} Else if ($ key == null) {

$ This-> Studenten [] = $ value;

Else {}

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

}

}

}

Wie Sie sehen können, sind zwei Parameter übergeben werden: die erste Pflicht, die zweite Option.

Sobald wir die addXXX Methode geben Sie prüft, ob der Parameter ein Array $ Wert ist. wenn ja Schleife über sie, und wenn die $ key-Parameter ist NULL fügt die Elemente in das Eigentum, aber wenn $ key ist nicht null legen Wert $ item in $ key Position.

Wenn $ value ein Array und $ key ist gleich null wird gesetzt $ $ in Eigenschaftswert direkt Schülerinnen und Schüler.

Schließlich der letzte Fall ist, wenn die $ key-Parameter erweitert, in diesem Fall legen Sie Wert bei $ $ $ key Eigenschaften der Klasse Schüler.

Method removeXXX

So entfernen Sie ein Element aus einer Eigenschaft nutzten eine Methode, mit der folgenden Signatur:

public function removeXXX ($ key = null)

Wo XXX sollte mit dem Namen der Eigenschaft ersetzt werden.

Das folgende Beispiel zeigt:

Klasse Klasse {

$ Private Schüler;

public function removeAlunni ($ key = null) {

if (is_array ($ key)) {

foreach ($ key wie $ position => $ value) {

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

}

} Else if ($ key == null) {

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

Else {}

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

}

}

}

Sobald wir die removeXXX Methode geben Sie prüft, ob die $ key Parameter ein Array ist. wenn ja Schleife über sie, und entfernen Sie alle Elemente an Positionen entsprechend den Werten in der Methode Parameter enthalten.

Wenn $ key ist ein Array und ist gleich null, um die $ Schülern zurückgesetzt.

Schließlich der letzte Fall ist, wenn die $ key-Parameter erweitert, in diesem Fall löschen Sie den Wert entsprechend der Position in der Eigenschaft $ $ key Schüler in der Klasse.

GetXXX Methode

Zum Abrufen von Elementen aus einer Eigenschaft nutzten eine Methode, mit der folgenden Signatur:

public function getXXX ($ key = null)

Wo XXX sollte mit dem Namen der Eigenschaft ersetzt werden.

Das folgende Beispiel zeigt:

Klasse Klasse {

$ Private Schüler;

public function getAlunni ($ key = null) {

if (is_array ($ key)) {

$ Elements = array ();

foreach ($ key wie $ position => $ value) {

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

}

return $ Posten;

} Else if ($ key == null) {

return $ this-> Kinder;

}

return $ this-> Studenten [$ key];

}

}

Sobald wir in die getXXX Methode wird geprüft, ob die $ key-Parameter ist ein Array. wenn ja Schleife über sie, und schließlich wieder ein Array mit den Werten der erforderlichen Elemente.

Wenn $ key ist ein Array und ist gleich null wird alles Eigentum $ Schülerinnen und Schüler.

Schließlich der letzte Fall entspricht dem Parameter $ key bewertet, in diesem Fall werden wir den Wert entsprechend der Position in der Eigenschaft $ $ key Schüler in der Klasse zurückgeben soll.

Wir schließen die Lehre von der Montage der gesamte Code geschrieben, so weit und sie auf ein kleines Beispiel, zu klären:

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