Portál AbcLinuxu, 12. května 2025 04:11

Dotaz: Upřesnění použití objektu v PHP

10.5.2014 14:15 Joža
Upřesnění použití objektu v PHP
Přečteno: 291×
Odpovědět | Admin
Ahoj, jaký je rozdíl mezi
$obj = new Class();
a jenom
new Class();
Musím to ukládat do proměnné, když ten objekt dále nepotřebuji a třída nemý žádné public metody kromě __construct(). Poradí někdo? Děkuji

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.5.2014 15:30 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Upřesnění použití objektu v PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nemusíš ten objekt ukládat do proměnné, ale taková třída je k ničemu. Vypadá to, jako kdyby ses snažil programovat procedurálně v objektech. To je slepá ulička.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
10.5.2014 17:36 Joža
Rozbalit Rozbalit vše Re: Upřesnění použití objektu v PHP
Díky a jak takovou třídu můžu uvolnit z paměti?
10.5.2014 17:44 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Upřesnění použití objektu v PHP
Uvolní se automaticky, jakmile doběhne konstruktor. Neuvolňuje se třída, ale instance.

Vidím, že nechceš programovat objektově. Stále však můžeš v PHP programovat procedurálně.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
12.5.2014 12:49 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Upřesnění použití objektu v PHP
Odpovědět | | Sbalit | Link | Blokovat | Admin
Třída je definice (tedy alespoň v php) a zapouzdřuje (slučuje v sobě ) funkce (zde metody) a proměnné (zde vlastnosti). Třída je obvykle určená k mnohonásobnému použití pomocí instancí. instance vzniká právě tím c = new class().

Teprve instance by měla něco dělat. Nesnaž se psát třídy, které vykonají veškerou svou činnost zavoláním konstruktoru, to je pak jen blbě napsaná funkce.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.