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í
×
    dnes 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 4
    včera 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | IT novinky

    Evropská komise by do léta mohla předložit návrh normy omezující používání sociálních sítí dětmi v zájmu jejich bezpečí na internetu. Prohlásila to včera předsedkyně EK Ursula von der Leyenová, podle níž řada zemí Evropské unie volá po zavedení věkové hranice pro sociální sítě. EU částečně řeší bezpečnost dětí v digitálním prostředí v již platném nařízení o digitálních službách (DSA), podle německé političky to však není dostatečné a

    … více »
    Ladislav Hagara | Komentářů: 27
    včera 04:11 | Nová verze

    Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 4.0.

    Ladislav Hagara | Komentářů: 0
    12.5. 23:22 | Pozvánky

    Chybí vám někdo, s kým byste si popovídali o bastlení, technice, počítačích a vědě? Nechcete riskovat debatu o sportu u piva v hospodě? Pak doražte na virtuální pokec u virtuálního piva v rámci Virtuální Bastlírny organizované strahovským MacGyverem již tento čtvrtek. Možná se ptáte, co se tak může probírat? Dají se probrat slavná výročí - kromě 55 let obvodu 555 (což je mimochodem prý andělské číslo) a vzpomínky na firmu Signetics -

    … více »
    bkralik | Komentářů: 1
    12.5. 23:11 | Zajímavý software

    GTK2-NG je komunitní fork GTK 2.24 (aktuální verze je 4.22). Oznámení a diskuse v diskusním fóru Devuanu, forku Debianu bez systemd. Není to jediný fork GTK 2. Ardour je například postaven na vlastním forku GTK 2 s názvem YTK.

    Ladislav Hagara | Komentářů: 0
    12.5. 17:33 | Pozvánky

    V neděli 17. května 2026 proběhne v Českých Budějovicích první MobileLinux Hackday zaměřený na Linux v mobilech, embedded platformy a open source hardware. Po sedmi úspěšných měsíčních setkáních v Praze se akce přesouvá také do jižních Čech, aby se komunita mobilního Linuxu mohla potkat i mimo hlavní město. Akce se uskuteční v konferenčním sále Vajgar v Clarion Congress Hotelu (Pražská tř. 2306/14) se zahájením mezi 14:00 až 15:00 a … více »

    lkocman | Komentářů: 0
    12.5. 15:00 | Komunita

    Vývojáři Debianu zhruba v polovině vývojového cyklu Debianu 14 s kódovým názvem Forky rozhodli, že Debian musí dodávat reprodukovatelné balíčky, tj. kdokoli si může nezávisle ověřit, že daný binární balíček vznikl překladem a sestavením z konkrétních zdrojových kódů. Aktuálně je reprodukovatelných 98,29 % balíčků.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (9%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1599 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Jak v PHP přinutit __autoload() načítat vždy soubory s danou třídou

    1.4.2017 04:09 Fana
    Jak v PHP přinutit __autoload() načítat vždy soubory s danou třídou
    Přečteno: 405×
    Ahoj. Jak funguje PHP v oblasti načítání tříd? Kdo rozhoduje o tom, zda byla již třída načtena či nikoliv a bude se načítat? I když vložím do funkce __autoload() require, include, require_once nebo include_once nikdy se třída nenačte znova, vždy jen jednou. Poradí někdo jak přinutit __autoload() aby načetl soubor s třídou vždy když se pořadovaná třída zavola? Děkuji

    Odpovědi

    1.4.2017 07:05 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak v PHP přinutit __autoload() načítat vždy soubory s danou třídou
    PHP každou třídu načítá autoloadem jen jednou a ukládá si ji do kolekce načtených tříd. Nemá žádný důvod ji načítat podruhé, protože po načtení třídy si ji drží v paměti a opakované načítání by bylo jen plýtváním prostředky. Navíc by to způsobilo konflikt mezi původní třídou a nově načítanou třídou.

    Co si mám představit pod "... když se pořadovaná třída zavola?" Při každém "new" nebo při každém volání nějaké statické metody či atributu? Jak bys chtěl rozlišit, kdy má pracovat s původní a kdy s nově načtenou třídou?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    1.4.2017 12:45 Fana
    Rozbalit Rozbalit vše Re: Jak v PHP přinutit __autoload() načítat vždy soubory s danou třídou
    Ahoj a dík za info, sorry, pořadovaná třída byl jen překlep (ř/ž). A existuje tedy jiná možnost jak zjistit, že systém požaduje nějakou třídu i když ji nebude načítat (jelikož již načtená je)? Dělám takový debugger, dal jsem si s tím strašně moc práce a když přišlo na testování, tvrdě jsem narazil. Omylem jsem zavolal dvě stejné class, debugger ale vypsal pouze tu první. Mohl jsem to předpokládat ale opomněl jsem to:( Nechtěl bych poslat celý projekt šípku:( Díky.
    1.4.2017 13:59 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak v PHP přinutit __autoload() načítat vždy soubory s danou třídou
    Základním pravidlem je, že každá třída je v samostatném souboru, který je podle názvu této třídy pojmenován. Tím se bezpečně vyhneš takovým problémům, protože v jednom adresáři nelze mít dva soubory se stejným názvem.

    Ještě můžeš použít namespace, třídy se shodným názvem v různých namespaces bývají v různých adresářích a mezi sebou se nehádají.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    1.4.2017 15:51 Fana
    Rozbalit Rozbalit vše Re: Jak v PHP přinutit __autoload() načítat vždy soubory s danou třídou
    Já se ale ptám na něco jiného, neřeším strukturu aplikace ale řeším to, jak zachytit každou volanou třídu.
    1.4.2017 16:19 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak v PHP přinutit __autoload() načítat vždy soubory s danou třídou
    Při volání třídy se PHP nejprve podívá do kolekce natažených tříd. Když ji tam najde, tak ji použije. Když ji tam nenajde, zavolá autoloader a jméno třídy mu předá jako parametr.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    1.4.2017 22:05 Fana
    Rozbalit Rozbalit vše Re: Jak v PHP přinutit __autoload() načítat vždy soubory s danou třídou
    No a kde odchytit to nebo "Když ji tam najde" nebo "Když ji tam nenajde". PHP přece musí vědět z jaké třídy nebo souboru se ta třída volá, jinak by nefungovalo.
    1.4.2017 22:46 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak v PHP přinutit __autoload() načítat vždy soubory s danou třídou
    To přece ví autoloader, ze kterého souboru si má tu třídu natáhnout.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    5.4.2017 11:52 DW
    Rozbalit Rozbalit vše Re: Jak v PHP přinutit __autoload() načítat vždy soubory s danou třídou
    Ides na to zle z principu objektoveho programovania, ak sa ti zda xdebug.profiler + cachegring moc tazky kaliber, tak by to malo vyzerat nejako takto:
    
      class MotherOfAllClassesInProject {
     
        __construct() {
          if(defined('DEBUG') and DEBUG=1){
            // debug actions for create instance
          }     
        }
    
        __destruct() {
          if(defined('DEBUG') and DEBUG=1){
            // debug actions for destruct instance
          }     
        }
    
      }
    
    
    5.4.2017 14:56 citanus | skóre: 12 | Cork (Ireland)
    Rozbalit Rozbalit vše Re: Jak v PHP přinutit __autoload() načítat vždy soubory s danou třídou
    DEBUG=1

    php programmers have to know their stuff : O
    5.4.2017 15:38 DW
    Rozbalit Rozbalit vše Re: Jak v PHP přinutit __autoload() načítat vždy soubory s danou třídou
    njn, teraz viac robim v object pascale a mssql :D jasne ze tam ma byt == a kedze DEBUG nie je premenna tak by to akurat hodilo chybu $debug=1 by bolo horsie :)

    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.