![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 19.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam pliki:
a.php a w nim zmienną $x=1; b.php a w nim zmienną $y=$x+1; klasa.php Kod <?php class Klasa{ function Dodaj() { include "b.php"; } } ?> index.php Kod <?php include "a.php"; include "klasa.php"; $klasa=new Klasa(); $klasa->Dodaj(); echo($y); ?> Jak sprawić aby zadziałało?? Ten post edytował speedlog 20.10.2007, 00:05:12 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 19.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
w pliku b.php dopisz:
include "a.php"; index.php <php? include "b.php"; ?> powinno działać. |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
http://pl.php.net/manual/pl/language.variables.scope.php
Zakładałeś już podobny temat - jeszcze jeden taki numer i dostaniesz +10% do poziomu ostrzeżeń! |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 19.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nie działa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Wszystkie te pliki wrzuciłem na serwer więc moźecie sprawdzić u siebie...
http://trikimiki.republika.pl/test.rar |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
a.php tworzy zmienną globalną $x
b.php includowane do wnętrza metody odwołuje się do zmiennej lokalnej $x jeżeli ma odwołać się do zmiennej globalnej, to w metodzie dodaj, albo na początku pliku b.php dodaj linijkę: global $x; poczytaj sobie o zasięgach zmiennych w php: http://pl2.php.net/manual/pl/language.variables.scope.php |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 19.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ok, metodą prób i błędów doszedłem wkońcu iż aby zadziałał ten kod klasa.php musi wyglądać:
Kod <?php class Klasa{ function Dodaj() { [b]global $x; global $y;[/b] include "b.php"; } } ?> Naprawdę czytałem ten manual nie raz... Ale nie domyśliłem się że to trzeba tak zadeklarować... Tylko teraz mam problem... Bo plikiem inkludowany przez klasę czsami jest "b.php" ze zmienną $y, czasami "c.php" ze zmienna $z itd... Więc ta linijka "global $y;" nie zawsze będzie tak wyglądała... Więc jak zrobiź tak, aby zmienna $y lub $z była widoczna w pliku index.php?? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 01:31 |