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 12:44 | Nová verze

    Sound Open Firmware, projekt Linux Foundation, open source audio DSP firmware a SDK, byl vydán ve verzi 2.7.0. Z novinek lze vypíchnout podporu platformy AMD Van Gogh.

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

    Richard Stallman v den oslav 40. výročí GNU oznámil, že má rakovinu (YouTube).

    Ladislav Hagara | Komentářů: 6
    dnes 08:00 | Zajímavý projekt

    DIY trackball Ploopy novou variantu Adept, na rozdíl od předchozích používá 44mm kouli, má symetrický tvar a šest tlačítek, snímač zůstává PMW-3360, novinkou je použití Raspberry Pi Pico, na kterém běží firmware QMK s podporou grafické konfigurační aplikace VIA. Předobjednávky jsou otevřeny za ceny 80-105 CAD.

    Fluttershy, yay! | Komentářů: 0
    včera 15:22 | IT novinky

    Probíhá Meta Connect 2023. Společnost Meta představuje své novinky v oblasti AI a virtuální, smíšené a rozšířené reality. Představeny byly nové chytré brýle Ray-Ban | Meta a headset Meta Quest 3.

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

    Eben Upton oficiálně představil (YouTube) nové Raspberry Pi 5 (YouTube). Je více než 2x výkonnější než jeho předchůdce, model 4B.

    Ladislav Hagara | Komentářů: 10
    včera 08:00 | Nová verze

    Byl vydán (YouTube) Counter-Strike 2. Nativně také pro Linux. Jedná se o největší technologický skok v historii této populární herní série.

    Ladislav Hagara | Komentářů: 12
    včera 07:00 | Komunita

    Richard Stallman vystoupí v Praze s přednáškou Free Software And Your Freedom. V sobotu 30. září ve 14:30 na Pedagogické fakultě UK a v neděli 1. října v 18:00 hodin v rámci konference Hackers Congress Paralelní Polis.

    Jendа | Komentářů: 10
    27.9. 14:44 | Nová verze

    Byla vydána verze 6 s kódovým název Faye linuxové distribuce LMDE (Linux Mint Debian Edition). Podrobnosti v poznámkách k vydání. Linux Mint vychází z Ubuntu. LMDE je postaveno na Debianu.

    Ladislav Hagara | Komentářů: 2
    27.9. 13:11 | Bezpečnostní upozornění

    Byly publikovány informace o novém bezpečnostním problému pojmenovaném GPU.zip (paper, GitHub). S vlastním logem. Jedná se o možný útok postranním kanálem na grafickou kartu (GPU). Proces může "krást pixely" jinému procesu.

    Ladislav Hagara | Komentářů: 1
    27.9. 08:00 | Komunita

    Projekt GNU dnes slaví 40. výročí. Přesně před čtyřiceti lety, 27. září 1983, Richard Stallman oznámil, že se chystá napsat s Unixem kompatibilní operační systém GNU (Gnu's Not Unix). Hlavní oslava a setkání hackerů probíhá ve Švýcarsku ve městě Biel/Bienne. Na programu je také přednáška Richarda Stallmana.

    Ladislav Hagara | Komentářů: 13
    Knihy s linuxovou tematikou
     (19%)
     (15%)
     (51%)
     (27%)
    Celkem 279 hlasů
     Komentářů: 11, poslední 17.9. 19:19
    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: 378×
    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: 45 | 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: 45 | 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: 46 | 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: 30 | 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.