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 15:33 | IT novinky

    Úřad pro ochranu hospodářské soutěže (ÚOHS) provedl v říjnu 2024 místní šetření u společnosti Seznam.cz. Úřad prověřoval důvodné podezření na možné protisoutěžní jednání, konkrétně zneužití dominantního postavení. Krajský soud v Brně v květnu 2025 konstatoval, že toto šetření bylo nezákonné. Nejvyšší správní soud (NSS) včera rozhodl, že šetření bylo provedeno v souladu se zákonem. Krajský soud bude muset případ posoudit znovu.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | IT novinky

    Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.

    Ladislav Hagara | Komentářů: 0
    dnes 08:22 | Bezpečnostní upozornění

    V OpenBSD byla objevena 27 let stará chyba v ppp pomocí níž lze vzdáleně obejít autentifikaci. Chyba byla nahlášena 12.6. a 14.6. byla opravena. Bližší info v článku A 27-Year-Old Authentication Bypass in OpenBSD's PPP Stack.

    Max | Komentářů: 5
    dnes 05:22 | Zajímavý článek

    Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být

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

    Byl vydán Mozilla Firefox 152.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 152 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    včera 14:11 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.7 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 18
    včera 11:44 | Komunita

    Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.

    Ladislav Hagara | Komentářů: 35
    včera 11:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Komunita

    V Praze probíhá Flock 2026, tj. konference pro přispěvatele a příznivce Fedory. Přednášky lze sledovat také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Nová verze

    Node-RED (Wikipedie, GitHub), webová aplikace postavená na Node.js pro vizuální programování a propojování hardwarových zařízení, API a online služeb, byl vydán ve verzi 5.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1926 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: PHP stejný název dvou funkcí

    15.5.2014 14:37 Pavel | skóre: 17
    PHP stejný název dvou funkcí
    Přečteno: 396×
    Zdravím, v souboru index.php dělám include $neco.".php". V includovaném souboru mám jednu funkci s několika vstupníma parametrama a tu dále několikrát zavolám a vypíši výstup. Všechny includované soubory mají stejně definovanou funkci. To funguje skvěle, ale v případě že budu chtít dát znova include $necojineho.".php" tak už tám mam dvě funkce se stejným názvem. Dá se nějak udělat abych deklarovanou fukci viděl pouze v určitém bloku a pak již ne? Případně každou funkci pojmenovat proměnnou, něco jako
    obsah prvni.php : function prvni_func(){....}
    obsah druha.php : function druha_func(){....}
    
    A pak dále zavolat funkci
    $volba = 'prvni';
    include $volba.".php";
    $volba_func();     // zavolání první funkce
    $volba = 'druha';
    include $volba.".php";
    $volba_func();     // zavolání druhé funkce
    

    Odpovědi

    Tarmaq avatar 15.5.2014 15:39 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: PHP stejný název dvou funkcí
    Jaky to ma smysl, ze maji stejny nazev? Z tohohle prikladu uplne presne nechapu, co maji ty funkce vykonavat.. Zda se ze by to mohlo byt reseno vytvorenim trid se stejne pojmenovanou metodou (tridy budou mit stejny interface).
    Druha moznost je vyuziti namespacu, ale doporucil bych spise vice se rozepsat o problemu ktery resis. Mozna to mas uz v zakladu spatne navrzene
    Don't panic!
    15.5.2014 16:11 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: PHP stejný název dvou funkcí
    Když použiješ objekty, ve kterých budeš mít metodu func(), tak to může vypadat třeba takto:
    $volba = 'prvni';
    $prvni = new $volba();
    $prvni->func();     // zavolání první metody
    $volba = 'druha';
    $druha = new $volba();
    $druha->func();     // zavolání druhé metody
    
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    15.5.2014 16:26 Sten
    Rozbalit Rozbalit vše Re: PHP stejný název dvou funkcí
    Použijte prostory jmen.
    15.5.2014 16:47 jos
    Rozbalit Rozbalit vše Re: PHP stejný název dvou funkcí
    a nebo taky anonymní funkce
    x.php:
    
    return function (....)
    {
    }
    
    main.php:
    
    $fun = require x.php;
    $fun();
    akorát nebudeš mít tu funkci globálně přístupnou
    18.5.2014 01:29 Delaunay | skóre: 17 | blog:
    Rozbalit Rozbalit vše Re: PHP stejný název dvou funkcí
    Pokud všechny includované soubory mají stejně definovanou funkci some_func() a zároveň je instalované rozšíření runkit:
    $volba = 'prvni';
    include $volba.".php";
    some_func();
    runkit_function_remove('some_func');
    $volba = 'druha';
    include $volba.".php";
    some_func();
    
    Josef Kufner avatar 18.5.2014 20:04 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: PHP stejný název dvou funkcí
    Jdeš na to špatně. Použij objekty, autoloader a nebudeš to vůbec řešit.

    Do jednoho souboru patří definice jedné třídy. Autoloader podle jména třídy odvodí název souboru a includne ho. Takže tvůj kód pak vypadá takto:
    $volba = 'Prvni';
    $v = new $volba();
    $v->delejNeco();
    
    $volba = 'Druha';
    $v = new $volba();
    $v->delejNeco();
    
    No a aby to celé fungovalo, tak na začátku udeláš:
    spl_autoload_register(function($class) {
        $filename = 'class/'.str_replace('\\', DIRECTORY_SEPARATOR, $class).'.php';
        if (file_exists($filename)) {
            require($filename);
        }
    });
    
    Pak budeš mít soubory class/Prvni.php a class/Druhy.php, kde bude definice těch dvou tříd.

    Jen se ještě zamysli nad tím, co se stane, když ti někdo podstrčí opravdu ošklivou volbu.
    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.