![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 289 Pomógł: 1 Dołączył: 2.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
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? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
bleee, niby obiektowo a przekazujesz globalem zmienne (fuj)
1) nie możesz na początku skryptu dać
2) piszesz var.. - to jest konstrukcja <=php4, a dalej __construct() co jest konstrukcją >php5 może czas się zdecydować, w której wersji piszesz? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował em1X 20.06.2009, 13:00:59 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 16:08 |