Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
survik1
Založen: 22. 08. 2007 Příspěvky: 107
|
Zaslal: 3. červen 2008, 13:40:41 Předmět: Definice funkcí v objektu. (PHP) |
|
|
Dobrý den. Jde v php definovat funkce vně objektu, jako to jde v C++?
kód: |
class Objekt
{
public:
void Test();
};
void Objekt::Test() {
cout << "Neco";
}
|
Mám rozsáhlý objekt a potřebuji ho trošku rozdělit, protože se vše již stalo nepřehledným. Děkuji za případné rady. |
|
Návrat nahoru |
|
|
survik1
Založen: 22. 08. 2007 Příspěvky: 107
|
Zaslal: 3. červen 2008, 14:07:53 Předmět: |
|
|
Nechce se mi zakládat nové vlákno tak přiložím i druhý dotaz. Dá se z funkcí elegantně přistupovat ke "globálním" proměnným?
Např. toto nefunguje:
kód: |
$test = "test";
function Neco() {
echo $test;
}
|
Vytvářet vše jako globální proměnné se mi zas nechce... |
|
Návrat nahoru |
|
|
raulis
Založen: 01. 08. 2007 Příspěvky: 7 Bydliště: Jičín
|
Zaslal: 3. červen 2008, 14:22:53 Předmět: |
|
|
Spravne by to melo byt tahle:
kód: |
$test = "test";
function Neco() {
global $test;
echo $test;
}
|
_________________ Za to málo, co znám, vděčím své hlouposti. |
|
Návrat nahoru |
|
|
uiii
Založen: 12. 08. 2007 Příspěvky: 251
|
Zaslal: 3. červen 2008, 17:56:06 Předmět: |
|
|
Ted sem cet v knizce o PHP 5 ze to co psal raulis neni dobry pouzivat misto toho to napis takhle:
kód: |
$test = "test";
function Neco() {
$GLOBALS['test'];
echo $test;
} |
_________________ Twitter |
|
Návrat nahoru |
|
|
Yossarian
Založen: 28. 07. 2007 Příspěvky: 274 Bydliště: Šalingrad
|
Zaslal: 3. červen 2008, 18:29:27 Předmět: |
|
|
uiii napsal: |
Ted sem cet v knizce o PHP 5 ze to co psal raulis neni dobry pouzivat misto toho to napis takhle:
kód: |
$test = "test";
function Neco() {
$GLOBALS['test'];
echo $test;
} |
|
todle je pekna picovina, co to je za knizku?
kód: |
$test = "test";
function Neco() {
echo $GLOBALS['test'];
} |
kdyz uz. nicmene myslenka pravdepodobne byla nasledujici:
kód: |
$test = "test";
function Neco($t) {
echo $t;
}
Neco($test);
|
|
|
Návrat nahoru |
|
|
survik1
Založen: 22. 08. 2007 Příspěvky: 107
|
Zaslal: 3. červen 2008, 18:57:47 Předmět: |
|
|
ad all: O těchto způsobech vím, nicméně se mi nechce redefinovat tucty proměnných, které se ve funkci vyskytují. O to méně klasicky předáváním parametrů.
uiii: Trošku divný, validní zápis je
kód: |
GLOBALS['test'] = "test";
function Test() {
echo $test;
}
|
|
|
Návrat nahoru |
|
|
survik1
Založen: 22. 08. 2007 Příspěvky: 107
|
Zaslal: 3. červen 2008, 18:58:36 Předmět: |
|
|
Yossarian napsal: |
kód: |
$test = "test";
function Neco() {
echo $GLOBALS['test'];
} |
[/code] |
Nemůžeš definovat proměnnou a pak z ní udělat globální |
|
Návrat nahoru |
|
|
JohnyDog
Založen: 17. 08. 2007 Příspěvky: 66
|
Zaslal: 3. červen 2008, 19:19:38 Předmět: |
|
|
survik1 napsal: |
Nemůžeš definovat proměnnou a pak z ní udělat globální |
Ta promenna uz globalni je, tim ze ji definujes globalne mimo funkci/tridu. Jinak globalnim promennym by ses mel v OO jazycich pokud mozno vyhnout.
A kdyz uz jsme u toho, oprav si terminologii, nedefinujes objekt, ale tridu, objekty jsou az instance te tridy. _________________
|
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 3. červen 2008, 19:23:02 Předmět: |
|
|
JohnyDog napsal: |
A kdyz uz jsme u toho, oprav si terminologii, nedefinujes objekt, ale tridu, objekty jsou az instance te tridy. |
mno neni vzdy je to pravda - treba Java ma pojmy trida a objekt temer splynute - podobne se na to diva treba i LISP - ta teorie neni uplne zrejma - ale tak to je OT
survik1 napsal: |
ad all: O těchto způsobech vím, nicméně se mi nechce redefinovat tucty proměnných, které se ve funkci vyskytují. O to méně klasicky předáváním parametrů. |
aneb chces delat vsechno proto abys to nedelal spravne - v OO paradigmatu by obecne mela stacit jedna globalni promenna a ani vlastne to ne - vse bys mel predavat pomoci parametru |
|
Návrat nahoru |
|
|
uiii
Založen: 12. 08. 2007 Příspěvky: 251
|
Zaslal: 4. červen 2008, 17:32:49 Předmět: |
|
|
Jo vsem se omlouvam, az ted sem si vsim ze to co sem napsal byla pekna kravina. _________________ Twitter |
|
Návrat nahoru |
|
|
survik1
Založen: 22. 08. 2007 Příspěvky: 107
|
Zaslal: 4. červen 2008, 18:36:54 Předmět: |
|
|
Kdyby jste raději nechali moji terminologii a poradili mi s tím objektem |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 4. červen 2008, 22:34:35 Předmět: |
|
|
neda - C++ je vicemene jediny jazyk ktery to dovoluje - co z praxe znam - jinak je to tak ze se to definuje v ramci tridy primo |
|
Návrat nahoru |
|
|
survik1
Založen: 22. 08. 2007 Příspěvky: 107
|
Zaslal: 5. červen 2008, 14:23:28 Předmět: |
|
|
rezna napsal: |
neda - C++ je vicemene jediny jazyk ktery to dovoluje - co z praxe znam - jinak je to tak ze se to definuje v ramci tridy primo |
Nj, OOP v PHP je dosti v plenkách. Díky. |
|
Návrat nahoru |
|
|
rezna
Založen: 27. 07. 2007 Příspěvky: 2156
|
Zaslal: 5. červen 2008, 14:30:14 Předmět: |
|
|
survik1 napsal: |
rezna napsal: |
neda - C++ je vicemene jediny jazyk ktery to dovoluje - co z praxe znam - jinak je to tak ze se to definuje v ramci tridy primo |
Nj, OOP v PHP je dosti v plenkách. Díky. |
whe? - co ma spolecneho to ze C++ je snad jediny jazyk kde lze telo metody definovat bokem v jinem souboru (alespon z tech beznych) a to ze v PHP je OOP v plenkach?
to povazujes nemoznost zadefinovat telo metody mimo definici tridy jako zaostalost OOP? -> vis v tom pripade co to OOP vubec je? |
|
Návrat nahoru |
|
|
survik1
Založen: 22. 08. 2007 Příspěvky: 107
|
Zaslal: 5. červen 2008, 14:54:52 Předmět: |
|
|
[quote="rezna"][quote="survik1"]
rezna napsal: |
whe? - co ma spolecneho to ze C++ je snad jediny jazyk kde lze telo metody definovat bokem v jinem souboru (alespon z tech beznych) a to ze v PHP je OOP v plenkach?
to povazujes nemoznost zadefinovat telo metody mimo definici tridy jako zaostalost OOP? -> vis v tom pripade co to OOP vubec je? |
Dobře, unáhlil jsem se, beru zpět. O OOP vím jen základy, ještě z dob, kdy jsem se věnoval C++. Jestli mi to stačí k pochopení principu, pak ano, vím. |
|
Návrat nahoru |
|
|
|