NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Diskuze – Lekce 10 - Třídní prvky v PHP podruhé - konstanty

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ět
5.4.2014 14:25
Neaktivní uživatelský účet
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Matúš Petrofčík
David Hartinger:6.4.2014 14:20

Chyba to není, heslo a přihlašování je nějaká vnitřní logika člověka a potomek k ní nepotřebuje mít přístup, stačí, že ji obsahuje.

Odpovědět
6.4.2014 14:20
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
Matúš Petrofčík:6.4.2014 14:24

Pre toto som ti písal správu, lebo len ty vieš najlepšie ako si to pri písaní článku myslel :)
Takto som nad tým nepremýšľal, ďakujem. ;)

Odpovědět
6.4.2014 14:24
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Marek Šafránek:15.1.2015 15:02

Zdravím,

věděl by prosím někdo proč se mi zobrazuje chyba při otevření index.php(pokud udělám přímé require bez autoloaderu, funguje jak má, funguje i nadále, pokud do kodu vrátím na místo přímého require autoloader):

Fatal error: Undefined class constant 'DELKA_HESLA'

___
class Clovek
{

        const DELKA_HESLA = 5;
        public $jmeno;
        public $prijmeni;
        public $vek;
        private $unava = 0;
        public $id;
        private static $pocetLidi = 0;
        private $heslo;
...

___
<?php

        function nactiTridu($trida)
        {
                require("tridy/$trida.php");
        }

        spl_autoload_register("nactiTridu");


        mb_internal_encoding("UTF-8");

        echo('Vítejte v registraci, zvolte si uživatelské jméno a heslo o minimální délce ' . Clovek::DELKA_HESLA);
Odpovědět
15.1.2015 15:02
Stojí-li něco za námahu, je třeba to udělat pořádně...
Avatar
Odpovídá na Marek Šafránek
Matúš Petrofčík:15.1.2015 15:27

skús niečo ako

<?php

        function nactiTridu($trida)
        {
                require("tridy/$trida.php");
        }

        spl_autoload_register("nactiTridu");


        mb_internal_encoding("UTF-8");

        $delka_hesla = Clovek::DELKA_HESLA; // najprv si tú premennú získať

        echo('Vítejte v registraci, zvolte si uživatelské jméno a heslo o minimální délce ' . $delka_hesla); // až tak ju vypísať
Odpovědět
15.1.2015 15:27
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Martin Franta:30.4.2015 13:34

Měl bych otázku ohledně logiky - v článku se píše, že funkce validniHeslo logicky patří pod třídu Clovek. Pokud bysme se však nebavili o ukázkové app, ale větším projektu, kde máme desítky různých typů validací tak nemělo by větší logiku vytvořit třídu Validator která bude obsahovat všechny možné kontroly/validace a budeme je tak mít pohromadě?
Pokud bych to měl aplikovat na tento příklad tak dejme tomu, že kromě třídy Clovek budeme mít ještě třídu Ufon, která nebude Cloveka rozšiřovat, ale bude naprosto rozdílná. Přitom heslo budeme chtít od obou a budeme vyžadovat stejné podmínky. Potom když budeme pracovat s Ufonem tak mi přijde logičtější volat Validator->heslo($heslo) než do toho motat Cloveka a volat Clovek::valid­niHeslo($heslo)
V OOP si teprve doplňuju mezery protože sem byl několik let zaseknutý na větším projektu, který nebyl napsaný objektově a nebyl čas jej přepisovat. Snažím se proto především zvyknout si na rozdílný způsob myšlení abych nedělal v objektech nesmysly, takže budu rád za jakoukoliv konstruktivní poznámku k situaci co sem uvedl :)

 
Odpovědět
30.4.2015 13:34
Avatar
Odpovídá na Martin Franta
Martin Konečný (pavelco1998):30.4.2015 13:48

Buď si uděláš třídu určenou pro hesla (třeba Passwords), případně by měla jít i ta tvá Validators.
Třetí možnost je, aby třídy Clovek i Ufon dědily od třídy, která by danou metodu obsahovala (třeba Bytost :D).

Odpovědět
30.4.2015 13:48
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Vít Cigánek:12.10.2015 15:54

Na xampu mi tenhle kod funguje na serveru nikoliv. Nema někdo nějaky napad co nastavit v php.ini

$polomer = 5;
$obsah = Matematika::PI * Matematika::naDruhou($polomer);
echo("Obsah kruhu je $obsah cm<sup>2</sup>.");
 
Odpovědět
12.10.2015 15:54
Avatar
Odpovídá na Vít Cigánek
Vít Cigánek:12.10.2015 16:21

vyřešeno, omlouva se za spam... měl jsem před tím

echo $pavla->celeJmeno();

s tim ze celeJmeno je protected. Tak mi to nebralo posledni radky.

 
Odpovědět
12.10.2015 16:21
Avatar
Vít Cigánek:9.11.2015 17:15

Nechápu proč mi funguje Javista když heslo ma status

$private

Jedině snad proto, že je v konstruktoru.

 
Odpovědět
9.11.2015 17:15
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 38.