Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> rzutowanie typów, jak dokonać rzutowanie typu na na inny niż standardowy 'object'
sticker
post
Post #1





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


przykjładowe klasy

  1. <?php
  2. class user implements IData2Xml{
  3.  private $x;
  4.  public getXml(){
  5.  //tu sie kowertują dane do xmla
  6. }
  7. }
  8.  
  9. class news implements IData2Xml{
  10. public $costam;
  11. public $author; // autor w tym przypadku to objekt typu user
  12. public setAuthor($param){
  13.  $this->author = $param;
  14. }
  15.  public getXml(){
  16.  // xml z tej klasy plus
  17. /*linia o numerze x */ $xml = $doc->importNode($this->author->getXML()); 
  18. }
  19.  
  20. }
  21. ?>


Problem jest taki ( w linii o numerze x ) że w klasie news nie można wywołać metody getXml bo parser nie wie czym jest author i do tego mówi że nie jest obiektem co już jest komplentą bzdurą (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Skoro nie wie to probuje to rzutować ale na co? na obiekt typu news sie nie da, na interfejs IData2XML również. W innnych obiektowych językach mógłym nawet pokusić sie o obejście problemu poprzez zmiane nazwy metody na toString i jej przeciążaniu, ale klasa w php w domyśle nie dziedziczy po typie object wiec z intefejsu object też tego nie wyłuskam. Nie mam pojęcia jak sobie z tym poradzić a google mówi żeby coś serializować i odserializować ale ja nie wiem jak to obejść tym sposobem
Poda ktoś pomocną dłoń?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 11:41