abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    včera 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 6
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 0
    19.12. 10:11 | IT novinky

    V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od

    … více »
    Ladislav Hagara | Komentářů: 5
    19.12. 03:11 | Komunita

    Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.

    Ladislav Hagara | Komentářů: 0
    19.12. 02:11 | Zajímavý článek

    Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.12.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    19.12. 02:00 | Nová verze

    OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.4.0.

    Ladislav Hagara | Komentářů: 0
    19.12. 01:00 | IT novinky

    Kriminalisté z NCTEKK společně s českými i zahraničními kolegy objasnili mimořádně rozsáhlou trestnou činnost z oblasti kybernetické kriminality. V rámci operací OCTOPUS a CONNECT ukončili činnost čtyř call center na Ukrajině. V prvním případě se jednalo o podvodné investice, v případě druhém o podvodné telefonáty, při kterých se zločinci vydávali za policisty a pod legendou napadeného bankovního účtu okrádali své oběti o vysoké finanční částky.

    Ladislav Hagara | Komentářů: 9
    18.12. 14:44 | IT novinky

    Na lepší pokrytí mobilním signálem a dostupnější mobilní internet se mohou těšit cestující v Pendolinech, railjetech a InterPanterech Českých drah. Konsorcium firem ČD - Telematika a.s. a Kontron Transportation s.r.o. dokončilo instalaci 5G opakovačů mobilního signálu do jednotek Pendolino a InterPanter. Tento krok navazuje na zavedení této technologie v jednotkách Railjet z letošního jara.

    Ladislav Hagara | Komentářů: 7
    Kdo vám letos nadělí dárek?
     (27%)
     (2%)
     (11%)
     (2%)
     (2%)
     (2%)
     (11%)
     (24%)
     (18%)
    Celkem 45 hlasů
     Komentářů: 15, poslední dnes 09:50
    Rozcestník

    Dotaz: Jak vytvořit instanci pro PDO v PHP při použití namespace

    25.5.2014 22:28 Zadejte vaše jméno
    Jak vytvořit instanci pro PDO v PHP při použití namespace
    Přečteno: 455×
    Ahoj, tady jsem našel na fóru myslím, že to bylo od uživatele Kit autoload pro načítání tříd, vechno funguje a narazil jsem na to, že nevím, jak to ošetřit pro class PDO když používám "namespace". Poradíte prosím někdo? Děkuji

    Řešení dotazu:


    Odpovědi

    Josef Kufner avatar 26.5.2014 00:13 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak vytvořit instanci pro PDO v PHP při použití namespace
    new \PDO(...);
    Hello world ! Segmentation fault (core dumped)
    26.5.2014 20:50 Zadejte vaše jméno
    Rozbalit Rozbalit vše Re: Jak vytvořit instanci pro PDO v PHP při použití namespace
    Děkuji
    27.5.2014 11:29 Zadejte vaše jméno
    Rozbalit Rozbalit vše Re: Jak vytvořit instanci pro PDO v PHP při použití namespace
    Neexistuje ještě nějaký jiný zápis? Tohle mě nefunguje jelikož mám ve funkci autoload část cesty pro načítání abych nemusel psát celou cestu za "new". Čili to hledá v hlavním adresáři. Děkuji
    Josef Kufner avatar 27.5.2014 11:45 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak vytvořit instanci pro PDO v PHP při použití namespace
    V tom případě máš špatně napsaný autoloader. Pokud nechceš psát vždy plný namespace, použij use.
    Hello world ! Segmentation fault (core dumped)
    27.5.2014 12:08 Zadejte vaše jméno
    Rozbalit Rozbalit vše Re: Jak vytvořit instanci pro PDO v PHP při použití namespace
    A co je mám prosím špatně? Díky
    ### index.php ###
    
    define('PATH', dirname(dirname(__FILE__)).'/code');
    
    function __autoload($class){
      $files = PATH.'/'.strtr($class, '_\\', '//').'.php';
      require_once(strtr($class, '_\\', '//').'.php');
    }
    
    new MySQL();
    
    ### library/MySQL.php ###
    
    namespace library;
    class MySQL{
      public function __construct($registry){
        $registry->pdo = new /PDO(DB_TYPE.':host='.HOST.';dbname='.NAME.', USER, PASS);
    }
    
    Josef Kufner avatar 28.5.2014 12:13 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak vytvořit instanci pro PDO v PHP při použití namespace
    • Je to new \PDO, nikoliv new /PDO.
    • V autoloaderu má být require, nikoliv require_once, neboť autoloader je spuštěn jen tehdy, když ta třída opravdu chybí.
    • V autoloaderu plníš, ale nepoužíváš proměnnou $files. Ta by navíc měla být jednotného čísla.
    • V konstruktoru máš uveden parametr $registry, při vytváření instance ti chybí.
    • V konstruktoru používáš nějaké podivné konstanty. Měl bys používat jen to, co ti přišlo jako parametr a nic jiného. Navíc nastavení $registry bys měl dělat tam, kde voláš new nebo případnou factory metodu. Takle zabíjíš výhody dependency injection. Tedy vytvoř kontejner, který dostane konfiguraci a podle ní vytvoří na požádání třídy. Je to celkem jednoduchá úloha na použití magické metody __get() a veřejných vlastností objektu (Hint: V konstruktoru si ulož konfiguraci, __get($něco) koukne do konfigurace, zavolá uvedenou factory metodu a nastaví $this->něco).
    • MySQL musíš vytvářet se správným namespace. Tedy: new \library\MySQL(), nebo přidat vhodný use.
    • Namísto __autoload použij spl_autoload_register. Umožňuje registrovat více autoloaderů. Tedy pokud jeden autoloader třídu nenajde, spustí se další v seznamu. Pokud máš standardy nedodržující knihovnu, hodí se to.
    • Pak je zavedenou konvencí, že namespace, stejně jako třídy, se píše v UpperCamelCase.
    • Jak správně pojmenovat adresáře se dozvíš ve specifikaci PSR-4. Usnadní ti to používání third-party knihoven.
    • Místo PATH použij vhodnější název, je trochu matoucí.
    • Co přesně ti tam nefunguje se dozvíš v logu. Jsou tři časté chyby: jiný namespace, špatně sestavené jméno souboru pro require a překlep v názvu souboru nebo třídy.
    Hello world ! Segmentation fault (core dumped)
    29.5.2014 13:33 zelenac
    Rozbalit Rozbalit vše Re: Jak vytvořit instanci pro PDO v PHP při použití namespace
    new \PDO(...);
    Dobry den. A jak se v takovem pripade pouziva "use" pro "\" ?
    use \
    vyhodi error. Dekuji
    Josef Kufner avatar 29.5.2014 18:01 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak vytvořit instanci pro PDO v PHP při použití namespace
    use \PDO;
    Používají se třídy, nikoliv namespace. PHP nemá mechanismus, jak vypsat všechny třídy v daném namespace, neboť jsou načítány až na požádání. Můžeš získat jen třídy už načtené.
    Hello world ! Segmentation fault (core dumped)

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.