property is string?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ozzie PHP

Ozzie PHP

01/04/2012 01:34:50
Quote Anchor link
Hallo,

Ik heb een lastig probleem:

Stel ik heb een object A en B. Een property van B is foo en de waarde is de string "bar". Nu heb ik in object A een array property waarin ik object B als key zet. Via de magische __get functie haal ik nu de waarde van foo als volgt op.

$foo = $objectA->objectB->foo;

Dit werkt en geeft als waarde "bar" terug. Echter, nu wil ik weten of de waarde van foo een string is. Hier krijg ik echter false op terug, omdat ie denkt dat het een object is. Weet iemand hoe ik dit moet oplossen?
Gewijzigd op 01/04/2012 01:35:30 door Ozzie PHP
 
PHP hulp

PHP hulp

11/01/2025 00:52:21
 

01/04/2012 02:09:15
Quote Anchor link
Hoe ziet de code eruit?
 
Ozzie PHP

Ozzie PHP

01/04/2012 02:15:16
Quote Anchor link
Da's lastig hier neer te zetten omdat het over meerdere classen loopt. Het gaat erom dat ik een url wil opvragen in mijn Urls class. De __get functie ziet er zo uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
public function __get($key) {
  $url = $this->_urls[$key];
    if (is_string($url)) {
      $url = $this->_connection_type . $url;
    }

    return $url;
}

?>


Ik haal dan bijvoorbeeld als volgt een url op:

$urls = Registry::get('urls');
$url = $urls->frontend->images->root;

$urls is dus het urls object en "frontend" is een stdClass object waarvan images en root properties zijn.

Het stdClass object wordt in de Urls class in een array gezet middels $this->_urls[$key] = ...
Gewijzigd op 01/04/2012 02:16:01 door Ozzie PHP
 



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.