Veľkonočná akcia je tu a s ňou aj extra kredity ZADARMO na náš interaktívny e-learning. Dobij si teraz kredity a posuň sa vo svojej kariére vpred!
Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

Diskusia – 6. diel - Referenčnej a primitívne dátové typy v PHP

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Odpovedá 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();
        }

}
Odpovedať
11.10.2015 18:05
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovedá 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
 
Odpovedať
-1
11.10.2015 18:14
Avatar
Odpovedá 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.

 
Odpovedať
11.10.2015 18:18
Avatar
Odpovedá na Vít Cigánek
Martin Konečný (pavelco1998):11.10.2015 18:29

a co na tom přesně nefunguje?

Odpovedať
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

Editované 11.10.2015 18:43
 
Odpovedať
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
 
Odpovedať
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);
 
Odpovedať
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

 
Odpovedať
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);
}

 
Odpovedať
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

 
Odpovedať
+1
20.1.2021 15:45
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 23.