Portál AbcLinuxu, 13. července 2025 16:17


Dotaz: Metoda pro vytváření objektů v php

7.4.2015 21:56 Začátečník
Metoda pro vytváření objektů v php
Přečteno: 238×
Odpovědět | Admin
Ahoj,ví někdo jak vytvořit pomocí metody v nějaké třídě nový objekt ? Normálně bych to udělal takto. Problém ale je, že potřebuji předávat i nějaké parametry ale každá třída má jiný počet parametrů. Díky
function newObj($classname)
{
     return $classname();
}

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

Odpovědi

7.4.2015 22:59 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Metoda pro vytváření objektů v php
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus nadefinovat magickou metodu __construct($parametr) a dej jí takové parametry, jaké potřebuješ. Objekt pak vytvoříš následovně:
$objekt = new ClassName($parametr, ...);
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
8.4.2015 00:40 Začátečník
Rozbalit Rozbalit vše Re: Metoda pro vytváření objektů v php
Četl jsi špatně můj dotaz :-(
8.4.2015 02:27 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Metoda pro vytváření objektů v php
$r = new ReflectionClass($className);
$instance = $r->newInstanceArgs($params);

Nicméně nepřijde mi jako zrovna skvělý nápad tímhle způsobem vytvářet objekty...
8.4.2015 09:53 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Metoda pro vytváření objektů v php
Dotaz byl špatně položen a proto byl špatně pochopen.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
9.4.2015 00:58 Sten
Rozbalit Rozbalit vše Re: Metoda pro vytváření objektů v php
Odpovědět | | Sbalit | Link | Blokovat | Admin
function newObj($class, ...$params)
{
    return new $class(...$params);
}
Ale jak tu již bylo psáno, vytváření instancí tímto způsobem velmi pravděpodobně (obzvlášť pokud se ptáte na to, jak to vůbec udělat) znamená, že máte dost zásadní chybu v návrhu vaší aplikace.
9.4.2015 08:01 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Metoda pro vytváření objektů v php
Nemusí to být nutně chyba v návrhu. Možná jen potřebuje Simple Factory, což je platný návrhový vzor - viz tvůj příklad. Chybou však bude požadavek různých parametrů.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

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.