Typecasting van een Class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Cees St

Cees St

21/04/2007 20:24:00
Quote Anchor link
Hoi

Ben even weggeweest en heb gelijk al weer een vraag.

Weet iemand hoe ik een class in PHP kan typecasten.
Dus wanneer ik een Class in een array stop en deze dan opvraag bijv.:

class MyClass {
....
function DoWat() {
.....
}
}
$class_array[] = new MyClass;

$LocClass = $class_array[0];

normaal zou ik dit doen
$LocClass = MyClass($class_array[0]);
maar dat mag met PHP niet

Ik weet dat het niet nodig is om te casten omdat
$class_array[0]->DoWat(); //gewoon doet wat je vervacht

maar voor de leesbaarheid heb ik liever
$LocClass->DoWat()

Groet Cees
 
PHP hulp

PHP hulp

19/04/2024 01:19:56
 
Bo az

Bo az

21/04/2007 21:17:00
Quote Anchor link
PHP is een 'Loosely Typed' programmeer taal (edit: nou ja, script taal), dat houd in dat een variabele niet type gebonden is, je hoeft dus ook nooit te 'typecasten'.

Je kan dus gewoon dit doen:
$LocClass = $class_array[0];
En op dat moment bevat $locClass gewoon een kopie van $class_array[0]; en kan je gewoon het goed leesbare : $LocClass->DoWat(); gebruiken.
Gewijzigd op 01/01/1970 01:00:00 door Bo az
 
Cees St

Cees St

21/04/2007 21:38:00
Quote Anchor link
Bedankt voor je antwoord.

Mijn editor (PHPedit) heeft dit dus helaas niet door, en laat properties en merhodes dan niet zien.
Stom genoeg heb ik het niet gewoon geprobeerd, want ik wist inderdaad dat PHP een Loosely Typed taaltje was.

In iedergeval nogmaals bedankt, zal de makers van mijn editor vragen of zij deze tekortkoming in de toekomst kunnen aanpassen.

Groet Cees
 
Cees St

Cees St

21/04/2007 23:05:00
Quote Anchor link
Nog even een opmerking.

Kan je dan niet beter

$LocClass = &$class_array[0]

gebruiken, omdat nu toegang tot de instantie zelf terug gegeven wordt.

Groet Cees
 
Bo az

Bo az

21/04/2007 23:50:00
Quote Anchor link
In dat geval is het handig dit even te lezen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.