Visa ett inlägg
Oläst 2012-07-31, 02:42 #25
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Citat:
Ursprungligen postat av orreborre Visa inlägg
Ja, du missuppfattade vad jag menade.
Jag menade att det känns som en dålig lösning att ha en switch-/if-sats i __get och __set.
Min lösning visar ett sätt att slippa det.
Jag är alltså ute efter ett sätt att skapa getters och setters så man kan ha individuell kod fölr varje property, det är inte ett sätt att skriva mer krånglig kod. I andra programspråk somexempelvis C#, men även Visual Objects, VB.NET så kan man använda pegreppet "property" för att definiera en ndividuellt utformat kod, det är lite dte jag är ute efter. Men det gick inte att deklarera mer än en __get och en __set -metod per klass

Helst skulle jag önska att man kan deklarera:


public class Person
{
// declataion of private variables
private _firstname="";
private _lastname="";

// Jag skippar konstruktorn i detta exempel....

public __set_firstname($value)
{
$this->_firstname = $value;
}

public __get_firstname()
{
return $this->_firstname;
}


public __set_lastname($value)
{
$this->_lastname = $value;
}

public __get_lastname()
{
return $this->_lastname;
}

// Jag skippar även ToString-metoden....

}

När man sen accessar egenskapen så vill jag göra så här:


private $kalle = new Person();

$kalle.firstname = "Kalle";
$kalle.lastname = "Pettersson";

echo $kalle.firstname . " " . $kalle.lastname

Resultatet ska då bli:

"Kalle Pettersson"

OBSERVERA att det inte alls är samma sak som att ha en funktion som geter getFirstName och en funktion som heter setFirstName, det är INTE getters och setters.... Ni som har jobbat med andra objektorienterade språk vet nog vad jag menar...


.
.
.

Senast redigerad av Conny Westh den 2012-07-31 klockan 02:46
Conny Westh är inte uppkopplad   Svara med citatSvara med citat