Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odwołania
Forum PHP.pl > Forum > PHP > Object-oriented programming
munky
Witam

Mam pewien problem a mianowicie mam cos takiego

  1. <?php
  2.  
  3. class A
  4.  
  5. public function readByEx($exId) {
  6. echo $query="SELECT...";
  7. $queryResult=$this->db->query($query);
  8.  
  9. if (DB::isError($queryResult)){
  10. die($queryResult->getMessage());
  11. }
  12. while ($row=$queryResult->fetchRow(DB_FETCHMODE_ASSOC)){
  13. $entry = new Artwork();
  14. $entry->setId($row['artwork_id']);
  15. $entry->setName($row['artwork_name']);
  16. ....
  17.  
  18. // Read author details
  19. $artistReader = new Artist_Reader($this->db, $this->tableNames);
  20. $entry->setAuthor($artistReader -> readByArtwork($entry->getId()));
  21.  
  22. ?>


do czesci pierwszej potrafie sie odwolac chodzi mi o smarty a mianowicie

w pliku.php tworze obiekt klasy A
  1. <?php
  2.  
  3. $artwork = new A($db, $tableName);
  4. $artworkEntry=$artwork->readByEx($id);
  5.  
  6. $smarty->assign('artworkEntry',$artworkEntry);
  7.  
  8. ?>


a w smarty mam {$artworkEntry->getName()}

mam jednak problem z odwolaniem sie do czesci 2 new Artist_Reader Czy ktos mi pomoze ?

pozdrawiam
munky
bigZbig
A masz jakąś metodę w klasie A ktora zwraca ci utworzony tam obiekt klasy Artist_Reader?
munky
Tak, tzn mam tak

Klasa A dziedziczy od klasy B i w B mam metody ktore czytajaa

  1. <?php
  2. getId() oraz getName()
  3. ?>


Nastepnie w klasie
  1. <?php
  2. Artist_Reader
  3. ?>
znajduje sie metoda
  1. <?php
  2. readByArtwork
  3. ?>
która jest wywolywana w klasie A

Nastepnie metoda readByArtwork jest postaci

  1. <?php
  2. public function readByArtwork($artworkId){
  3. $query="SELECT * ";
  4. $queryResult=$this->db->query($query);
  5.  
  6. if (DB::isError($queryResult)){
  7. die($queryResult->getMessage());
  8. }
  9. while ($row=$queryResult->fetchRow(DB_FETCHMODE_ASSOC)){
  10. $entry = new Artist();
  11. $entry->setId($row['artist_id']);
  12. $entry->setFirstName($row['artist_first_name']);
  13. ...
  14.  
  15. ?>


gdzie w Artists mam metody które czytają
  1. <?php
  2. getId() oraz getFirstName()
  3. ?>
i tak dalej

Che sie odwolac do tego
  1. <?php
  2. $entry->setName
  3. ?>
splatch
Widze ktoś tworzy ORM. smile.gif
munky
Kurzce wiedzialem ze tak to bedzie i nikt tego nie zrozumie bo samemu tez mi ciezko smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.