Autor Zpráva
allex
Profil *
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
__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();
K vzoru factory ti ale nemam co povedat, nepouzivam. Zend Framework vyuziva dost casto na vytvaranie DB adapterov.
suky
Profil
allex
Vsechny tve otazky jsou zodpovezeny v mem prehledu pramenu (link). Pokud bys mel nejake konkretnejsi dotazy me ICQ.
joe
Profil
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
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
-- 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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: