Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

Diskusia – 10. diel - Triedny prvky v PHP druhýkrát - konštanty

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
Odpovedať
+1
5.4.2014 14:25
Neaktivní uživatelský účet
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá 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.

Odpovedať
6.4.2014 14:20
New kid back on the block with a R.I.P
Avatar
Odpovedá 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. ;)

Odpovedať
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);
Odpovedať
15.1.2015 15:02
Stojí-li něco za námahu, je třeba to udělat pořádně...
Avatar
Odpovedá 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ť
Odpovedať
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 :)

 
Odpovedať
+1
30.4.2015 13:34
Avatar
Odpovedá 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).

Odpovedať
+1
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>.");
 
Odpovedať
12.10.2015 15:54
Avatar
Odpovedá 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.

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

 
Odpovedať
9.11.2015 17:15
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 38.