NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 6 - Referenční a primitivní datové typy v PHP

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Odpovídá na Vít Cigánek
Martin Konečný (pavelco1998):11.10.2015 18:05

Parametr v konstruktoru ani nemusí být pole.

$pole = new Pole(1, 2, 3, 4, 5);

class Pole
{

        public function __construct()
        {
                $this->prvky = func_get_args();
        }

}
Odpovědět
11.10.2015 18:05
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovídá na d4rkw34v3r
Vít Cigánek:11.10.2015 18:14

Nefunguje mi to. A to jsem ještě našel jeden kod a taky mi nefunguje.

class Foo
{
    private $data = array();

    public function __construct(array $data)
    {
        $this->data = $data;
    }

    public function __get($vlastnost)
    {
        return $this->data[$vlastnost];
    }
}

$foo = new Foo(array("bar" => "baz"));
echo $foo->bar; // vypíše baz
 
Odpovědět
11.10.2015 18:14
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Vít Cigánek:11.10.2015 18:18

Tak ani s tímhle kódem mi to nefunguje. :(.

Přece je to docela časté předávat objektu nějaké pole hodnot.

 
Odpovědět
11.10.2015 18:18
Avatar
Odpovídá na Vít Cigánek
Martin Konečný (pavelco1998):11.10.2015 18:29

a co na tom přesně nefunguje?

Odpovědět
11.10.2015 18:29
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Vít Cigánek:11.10.2015 18:42

Objeví se mi bílá stránka. http://www.zahyb.cz/oop/pole

jsem asi lama

Editováno 11.10.2015 18:43
 
Odpovědět
11.10.2015 18:42
Avatar
Vít Cigánek:11.10.2015 19:30

Tenhle kod teda funguje a to vlozeni cisel ne.

class Foo
{
    private $data = array();

    public function __construct(array $data)
    {
        $this->data = $data;
    }

    public function __get($vlastnost)
    {
        return $this->data[$vlastnost];
    }
}

$foo = new Foo(array("bar" => "baz"));
echo $foo->bar; // vypíše baz
 
Odpovědět
11.10.2015 19:30
Avatar
Vít Cigánek:9.11.2015 15:57

Pro lepší pochopení reference:

function pridej($pole, $prvek)
{
    $pole[] = $prvek;
    print_r($pole);
}


$a = array(1, 2, 3);
pridej($a, 4);
echo '<br />';
print_r($a);
 
Odpovědět
9.11.2015 15:57
Avatar
saša harvan
Člen
Avatar
saša harvan:22.12.2015 16:09
<?php
function pridej(&$pole, $prvek)
{
        $pole[] = $prvek;

  }

function odeber(&$pole,$prvek)
{
unset($pole[$prvek]);
}


$a = array(1=>1, 2, 3, 4);

pridej($a, 5);
print_r($a);

odeber($a,1);
print_r($a);
?>

kdzy pridat at je tu i odebrat :) asi je lepsi reseni ale nic jinyho me nenapadlo, jsem amater tak sry... jinalk moc pekny stranky

 
Odpovědět
22.12.2015 16:09
Avatar
Jan Zamecnik
Člen
Avatar
Jan Zamecnik:15.9.2016 14:51

Rozšířil jsem třídu Clovek o vlastnosti. Může jich mít více, ale každou pouze jednou, jde je přidávat i odebírat.
Zde je kód:.
public $vlastnosti = array();
public function pridej_vlastnos­t($vlastnost) {
if (array_search($vlas­tnost, $this->vlastnosti) !== false) {
echo('</br>');
echo ('Tuhle vlastnost již ' . $this->jmeno . ' má.');
} else {
$this->vlastnosti[] = $vlastnost;
}
}

public function vypis_vlastnosti() {
echo('</br>');

print_r($this->vlastnosti);
}

public function vymaz_vlastnos­t($vlastnost) {
echo('</br>');
if (array_search($vlas­tnost, $this->vlastnosti) === false) {
echo ('Tuhle vlastnost ' . $this->jmeno . ' nemá, není co vymazat.');
} else {
$index = array_search($vlas­tnost, $this->vlastnosti);
array_splice($this->vlastnosti, $index, 1);
}

 
Odpovědět
15.9.2016 14:51
Avatar
Pavel Kubalík:20.1.2021 15:45

Dobrý den
Uzavřel jsem tuto lekci, ale již 14 dní pracuji na následujících příkladech.
První příklad jsem zvládl. Jelikož jsem spíš matematik než češtinář, bavilo mě to. Větný rozbor bylo jediné, co mi z češtiny opravdu šlo.
Druhý příklad jsem udělal jen zčásti. hezky jsem si s tím pohrál. Rozhodně jsem úplně pochopil lekci s Galerií a zobrazoval jsem názvy souborů. Vzhledem k tomu, že nejsem špičkový programátor, dál si nechám napovědět, a budu se snažit pochopit to tak, jak jsem pochopil Galerii.
Třetí příklad jsem zatím zcela nepochopil (nevím zatím jak řešit). Počkám týden jestli mě něco nenapadne. Nebudu to nějak přehánět. I takhle nemohu večer usnout; pořád to řeším, a to asi není dobře. Všeho s mírou.
Navíc (jak jsem již psal) nemá význam za každou cenu řešit ani příklady které jsou hodnoceny. Žádný slibovaný certifikát jsem stejně nedostal.
Budu se snažit studovat tak jak mi síly stačí tento kurz OOP. Pokukuji také po kurzu Databáze v PHP, jestli by si nechtělo zkusit asi tři lekce, jako odlehčující vložku. Ale pokud to půjde vydržím u OOP i kdybych zvládl jen ty jednoduché příklady.
Nejsem originální (někdo to řekl přede mnou), ale razím heslo "Cesta je cíl". To je optimistická vize.
Omlouvám se, že moje komentáře jsou spíš pro psychology než pro programátory.
Nedá se nic dělat. Lekce jsou perfektní, není k tomu co dodat. Text se dá pochopit, když ne po prvním přečtení tak při některém dalším (chce to přemýšlet). Předpokládám, že ty složité příklady umožňují vybrat talentované řešitelé (pokud je vyřeší), a to je hlavní účel.
Takže uvidíme za týden
Děkuji PK

 
Odpovědět
20.1.2021 15:45
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 23.