Dostupnost proměnné

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Dostupnost proměnné

Příspěvek od KapaCZ »

Mám funkci parse($filename){}

V které používám proměnnou $data.

Ta je definovaná v jiném souboru, který se automaticky načítá.
Jak mám udělat, aby funkci došlo, kde má brát $data?

Ted mi to píše Undefined variable: data.
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Re: Dostupnost proměnné

Příspěvek od OndraSter »

Nemáš problém s viditelností proměnných vůči { }?
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Dostupnost proměnné

Příspěvek od arxeiss »

Určitě. Ve funkci můžeš vidět pouze ty proměnné, které si předáš parametrem, popř ve funkci napiš
global $data;
v OOP je to to samé, tak akorát můžeš použít proměnné té třídy přes to $trida->promenna
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: Dostupnost proměnné

Příspěvek od KapaCZ »

mám funkci __autoload, kde se načítá soubor kde jsou ty $data.

Mám:
class Template {

parse($filename){global $data;}

}

Ale ty $data se tam prostě nedostanou. A ano __autoload proběhne dřív než funkce parse()
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Dostupnost proměnné

Příspěvek od arxeiss »

Absolutně jsem se do toho zamotal... Popisuješ toho strašně málo, a jsem totálně mimo
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: Dostupnost proměnné

Příspěvek od KapaCZ »

NEvim co bych měl ještě připsat. Můj postřeh je, že když soubor, který obsahuje $data includuji mimo jakoukoliv funkci, tak to jde, ale jakmile je to v té funkci __autoload, tak se k té proměnné $data nedostanu.
arxeiss
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. črc 2008
Bydliště: Krmelín (předměstí Ostravy)
Kontaktovat uživatele:

Re: Dostupnost proměnné

Příspěvek od arxeiss »

Aha, no to je logické. Všechny proměnné, které si vytvoříš v nějaké funkci jsou po zkončení té funkce zapomenuty. Asi by sis měl přečíst nějaké základy znova.
Jen tak BTW: toto je stejné ve všech programovacích jazycích o kterých jsem slyšel
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
KapaCZ
Začátečník
Začátečník
Registrován: 06. srp 2006

Re: Dostupnost proměnné

Příspěvek od KapaCZ »

Aha no to mi nějak nedošlo :)
tak to budu muset udělat jinak.
Odpovědět

Zpět na „Programování a web“