Portál AbcLinuxu, 8. října 2026 23:32


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: 588×
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: 46 | 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: 46 | 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ákno • Nahoru

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

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