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 13:22 | Zajímavý článek

    Podrobně byla rozebrána kritická zranitelnost v nf_tables (CVE-2026-23111). Další lokální eskalace práv na Linuxu. V upstreamu byla zranitelnost již v únoru opravena. Ve zdrojovém kódu stačilo odstranit 1 vykřičník.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | Nová verze

    Evropská komise (EK) nařídila americké společnosti Meta, že musí znovu umožnit bezplatný přístup konkurenčním obecně zaměřeným asistentům umělé inteligence (AI) k WhatsAppu a tento přístup musí zachovat až do ukončení antimonopolního šetření. Opatření je dočasné a má zabránit vážnému a nevratnému poškození konkurence na rychle rostoucím trhu s obecnými AI asistenty. Meta uvedla, že se proti rozhodnutí odvolá.

    Ladislav Hagara | Komentářů: 1
    dnes 11:44 | IT novinky

    Společnost Anthropic představila AI modely Claude Fable 5 a Claude Mythos 5. Claude Fable 5 je první model třídy Mythos určený pro běžné použití.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Nová verze

    Byla vydána nová stabilní verze 3.24.0, tj. první z nové řady 3.24, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    dnes 03:33 | Komunita

    Na čem pracují vývojáři v Rustu napsaného mikrokernelového unixového operačního systému Redox OS (Wikipedie)? Byl publikován přehled vývoje za květen. Vypíchnout lze nový scheduler EEVDF nebo port desktopového prostředí Xfce na Redox OS.

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

    Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.

    Ladislav Hagara | Komentářů: 3
    včera 15:11 | Komunita

    Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 0
    včera 13:11 | Nová verze

    Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 1
    včera 11:44 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.

    Petr Krčmář | Komentářů: 3
    včera 04:44 | Nová verze

    Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.

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


    Dotaz: Problém se získáním dat v php

    28.3.2015 21:33 Arnošt
    Problém se získáním dat v php
    Přečteno: 424×
    Dobrý večer. Už tři hodiny se trápím jak získat v php data ze 3 tříd a 1 třídy rozšířené. Nepomůže prosím nějaký profík ? Už fakt nevím :-( Děkuji za pomoc.
         class Common{
              public function __construct(){
                   $this->data = 'A';
              }
              public function getData(){
                   return $data;
              }
         }
    
         class SetOne extends Common{
              protected $data;
              public function __construct(){
                   $this->data = 'B';
              }
         }
    
         class SetTwo extends Common{
              protected $data;
              public function __construct(){
                   $this->data .= 'C';
                   $obj = new SetOne();
              }
         }
    
         class SetTree extends Common{
              protected $data;
              public function __construct(){
                   $this->data .= 'D';
                   $obj = new SetTwo();
              }
         }
    
         $obj = new SetTree();
         echo $obj->getData(); // Požadovaný výsledek: ABCD
    

    Odpovědi

    28.3.2015 21:54 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Problém se získáním dat v php
    echo "ABCD";
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 28.3.2015 23:08 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém se získáním dat v php
    Každý objekt (instance třídy) má svoje properties. A scope (oblast platnosti) proměnných je omezena na funkce, ve kterých jsou použity. Tedy proměnné $obj jsou tři nezávislé různé proměnné, $this->data jsou tři různé member properties (vlastnosti objektu) a máš tam tři různé instance objektů.

    Doporučuju přečíst nějaký dobrý úvod do objektového programování, řekl bych, že v tom máš guláš. Popis v dokumentaci PHP je dobrý, ale předpokládá znalosti základních principů, takže ti asi pomůže až později. Zkus začít tímto (nečetl jsem to celé, ale vypadá to slibně).
    Hello world ! Segmentation fault (core dumped)
    28.3.2015 23:25 Arnošt
    Rozbalit Rozbalit vše Re: Problém se získáním dat v php
    Ahoj, nedělám nic jiného než čtu :-(

    Když pominu to, že to nefunguje, je celkový zápis dobře nebo je to špatně celý ?
    Josef Kufner avatar 28.3.2015 23:41 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém se získáním dat v php
    Syntaxi jsi zvládnul, teď ještě sémantiku ;-)
    Hello world ! Segmentation fault (core dumped)
    29.3.2015 11:15 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Problém se získáním dat v php
    Zkus si nejprve nahradit ty nesmyslné názvy tříd něčím ze života. Například Common => Živočich, SetOne => Čmelík, SetTwo => Kuře a místo sady stromů třeba Kvočna. Dědičnost je jasná: Kvočna, Kuře i Čmelík jsou Živočich. V konstruktorech definuješ vazby, že Kvočna má Kuře a Kuře má Čmelíka.

    A teď: Vytvoříš instanci třídy Kvočna. Ta si vytvoří Kuře, Kuře hned někde chytí Čmelíka.

    Chceš to vypsat: "Kvočna má kuře, které má čmelíka". Tady by ti zřetězování stringů v konstruktorech jen házelo klacky pod nohy. Raději to zkus řetězit až v metodě getData().
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    30.3.2015 10:46 Ivo
    Rozbalit Rozbalit vše Re: Problém se získáním dat v php
    Ma tam byt:

    public function getData(){

    return $this->data; }
    AraxoN avatar 30.3.2015 15:20 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Problém se získáním dat v php
    K tomu čo už povedali predomnou:

    1. V zdedenej triede sa konštruktor rodičovskej triedy nevolá automaticky, ak zdedená trieda má svoj vlastný konštruktor. Musíš ho volať sám:
    public function __construct(){
      parent::__construct();
      ...
    }
    2. V konštruktore SetTwo a SetTree vytváraš lokálny objekt $obj, ktorý sa potom nikde nepoužije. Nájdi si na nete rozdiely medzi dedičnosťou a kompozíciou v OOP. Podľa toho potom zvoľ vhodný typ väzby medzi objektami. Keďže si napísal len abstraktný príklad, tak Ti pravdepodobne nikto nebude vedieť povedať ako by to malo byť správne. V tomto kontexte kód echo "ABCD" naozaj nie je vôbec horší než ostatné odpovede, pretože robí presne to čo si chcel.
    8.4.2015 02:49 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Problém se získáním dat v php
    class Parent{
         protected $data;      // Definujeme už v rodiči, ne v potomcích
         public function __construct(){
              $this->data = 'A';
         }
         public function getData(){
              return $data;
         }
    }
     
    class Child extends Parent{
         public function __construct(){
              parent::__construnct();    // Konstruktor rodiče potřeba volat explicitně
              $this->data .= 'B';
         }
    }
    
    $obj = new Child();
    echo $obj->getData();   // Vypíše AB
    
    9.4.2015 12:17 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: Problém se získáním dat v php
    return $this->data :-)

    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.