Autor | Zpráva | ||
---|---|---|---|
allex Profil * |
#1 · Zasláno: 18. 6. 2008, 18:52:16
Zdravím chci se zeptat na pár věcí, .. k čemu je dobré přetěžování
public function __get($jmeno){ function __set($vlastnost, $hodnota){ četl jsem něco na intervalu o tomdle a nic moc .. nepřišel jsem na to kdy to použít ... to jedině když nastane vyjmečny stav ? popřípadě chyba ? nebo to má nějaké funkčnější použití ... pak mě zajímá jestli je dobrí používat function __autoload($soubor){ a function factory($skript){ nebo to vše dělat ručně includy a vytvářet třídy? (viděl jsem jeden systém kde todle bylo standartně v každé třídě .. má se to takhle dělat ? ) kčemu jsou abstraktní třídy a rozharní v php ?.. .když pominu přehlednost a orientační či dokumentační vyhody.... se to dělá proč ? ...je pak práce aplikace ryhlejší ? .. diky za par odpovědí :D... :) |
||
srigi Profil |
#2 · Zasláno: 18. 6. 2008, 19:57:03
__get() a __set sa moc neujalo, vacsinou sa to nepouziva. Napr. Zend Framework na na vsetko napisane settre a gettre vlastneho (custom) mena a horeuvedene metody nepouziva.
Abstraktne triedy a rozhrania - k comu je to dobre som vysvetloval kusok vedla. __autoload(), vlemi uzitocne, vyuzivaj casto, priklad z mojho miniframeworku: define('DIRSEP', DIRECTORY_SEPARATOR); // for loading classes function __autoload($class_name) { filename = $class_name . '.php'; $file = '.' . DIRSEP . 'include' . DIRSEP . 'class' . DIRSEP . $filename; if (file_exists($file) == false) { return false; } include ($file); } $registry = new Registry; // tato trieda sa includuvala pomocou __autoload(); |
||
suky Profil |
#3 · Zasláno: 18. 6. 2008, 20:04:31
allex
Vsechny tve otazky jsou zodpovezeny v mem prehledu pramenu (link). Pokud bys mel nejake konkretnejsi dotazy me ICQ. |
||
joe Profil |
#4 · Zasláno: 18. 6. 2008, 22:42:49
V PHP není možné přetěžovat metody nebo se pletu?
(Pro sukyho, článek na intervalu o přetěžování jsem četl, ale souhlasím tam s komentářem „Autor nemá tušení, co je to přetěžování metod...“). |
||
srigi Profil |
#5 · Zasláno: 18. 6. 2008, 23:33:12
Tak, tak, pretazovanie to nema. Jedine pretazovanie v PHP co poznam ma konstruktor Exception, bud so stringom, alebo s kodom erroru a langu.
|
||
joe Profil |
#6 · Zasláno: 19. 6. 2008, 01:57:24
-- OT --
srigi Tak nevím k čemu je Exception v PHP dobrá, já teda kontroluju chyby if podmínkama a pak je zapisuju do pole. Ale použít vyjímky, když ani nevím jaké to může vyvolat :-) By byly zlaté NetBeans na PHP :-) |
||
Mastodont Profil |
#7 · Zasláno: 19. 6. 2008, 06:48:30
joe
"Falešné" přetěžování metod je možné, stačí použít func_get_args() Výjimky se dají použít třeba ke snadnému rozlišování různých chyb, i když na to jsou dobré i výstupní parametry. |
||
Časová prodleva: 16 let
|
0