Gå til innhold

property_exists i php< 5?


Anbefalte innlegg

Videoannonse
Annonse
Gjest Slettet+142

er det noe spesielt jeg ikke har fått med meg ang. $proberty-variabelen?

 

ellers er det vel bare if(isset($klasse->property)) høh?

 

edit:

ellsers ble man jo linket til denne når man browsa manualen for property_exists på php.net...

Endret av Slettet+142
Lenke til kommentar

Nah, jeg har laget en metode som tar et variabelnavn og en verdi som parameter, type slik:

 

PHP

function set($property, $value){

// hvis $property er en variabel i klassen x

$this->$property = $value;

}

 

så dermed kan jeg ikke bruke isset, for den bare forteller om property y har en verdi, ikke om property y eksisterer i klassen.....

 

Sukk og sukk

Lenke til kommentar

Hvis den har en verdi, så eksisterer den jo.

 

Ser ikke helt problemet jeg heller. property_exists($this, $property) og isset($this->$property) returnerer vel det samme?

Det spesielle med property_exists ser ut til å være at den kan ta en klasse, og ikke et objekt av klassen, og si om klassen har den variabelen. Men du snakker jo om $this?

 

Ellers er vel det åpenbare svaret at skal man bedrive ordentlig OOP i PHP, så oppgraderer man til PHP5...

Lenke til kommentar

Et spørsmål til:

Jeg har fem klasser, som alle implementerer den samme metoden (set($property, $value)). Finnes det noen enklere måte å implementere den på enn å skrive den i fem klasser? Så vidt jeg vet støtter ikke php multipel arv, og å ha en set-metode i en error_handler er kanskje ikke helt greitt det heller? Alle klasser utvider error_handler, så det er i så fall eneste alternativ så vidt jeg ser, eller er det en annen løsning?

Lenke til kommentar
Gjest Slettet+142

går ikke dette sånn noe lunde an?

 

class klasse1{
var $hei;
}

class klasse2 extends klasse1{
}
class klasse3 extends klasse2{
}
class klasse4 extends klasse3{
}
class klasse extends klasse4{
function set_hei($streng){
$this->hei = $streng;
}
}

$klasse = new klasse();
$this->set_hei("Hei til deg!");
echo $this->hei;

 

knotete og dårlig måte, men jeg har iallefall klart å bygge en klasse slik :)

Lenke til kommentar
Et spørsmål til:

Jeg har fem klasser, som alle implementerer den samme metoden (set($property, $value)). Finnes det noen enklere måte å implementere den på enn å skrive den i fem klasser? Så vidt jeg vet støtter ikke php multipel arv, og å ha en set-metode i en error_handler er kanskje ikke helt greitt det heller? Alle klasser utvider error_handler, så det er i så fall eneste alternativ så vidt jeg ser, eller er det en annen løsning?

8192468[/snapback]

 

Eventuelt ha funksjonen på utsiden av klassesn slik:

PHP
<?php

function set($klasse$property$value)

{}

?>

Endret av Shadows0
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...