Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odwoływanie do drugiej klasy
Forum PHP.pl > Forum > PHP
adam882
Witam

Mam problem z odwołaniem się jednej klasy do drugiej. Są to moje początki w obiektowym pisaniu, więc problem może okazać się banalny.

Posiadam takie dwie klasy - pierwsza 'Mysql', a druga 'Pager' (jedna utworzona w zmiennej $sql, a druga w $pager).
Chciałem wykonać coś takiego:
Kod
<?php
class Pager
{

        var  (......)

        function __construct($tabela,$obecnastrona,$limit,$url)
        {
               global $sql;
               $sql->cache('ile');
                       $sql->query('select count(id) from newsy');
                       $wszystkie=$sql->rows['count(id)'];
               $sql->cache();
        }
          
}
?>

i tutaj wywala mi błąd Call to undefined method sql::cache(), wszystko przez to, że wywołuję $sql wewnątrz klasy (dlatego global $sql nie pomaga). Użyłbym extends, ale $sql zostało utworzone wcześniej wraz z konstruktorem połączenia do bazy ( $sql= new sql_connect('host','user','pass','baza'); ). Czy w jakiś sposób mogę wywołać $sql wewnątrz klasy?
Crozin
O tym jak przekazać obiekt do innego było już dziesiątki razy - użyj wyszukiwarki.

btw: dziedziczenie? A w jaki to niby sposób pager rozszerza mysqla? Nie, to że go wykorzystuje to nie znaczy, że rozszerza.
em1X
bleee, niby obiektowo a przekazujesz globalem zmienne (fuj)

1) nie możesz na początku skryptu dać
  1. <?php
  2. // tutaj gdzies w skrypcie tworzysz obiekt
  3. $pager=new Pager;
  4.  
  5. // przypisac jakiemus polu w klasie pager klasy mysql?
  6. $pager->sql=new mysql;
  7. ?>


2) piszesz var.. - to jest konstrukcja <=php4, a dalej __construct() co jest konstrukcją >php5
może czas się zdecydować, w której wersji piszesz? 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.