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

Diskusia – 8. diel - Polymorfizmus, finálne prvky a autoloader 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
mkub
Tvůrce
Avatar
Odpovedá na Matúš Petrofčík
mkub:6.4.2014 2:05

require_once() je podobna funkcia k tej require() s tym, ze sa lisia v tom, ze require() vlozi znovu subor, aj ked je uz vlozeny, ale require_once() vlozi ho vzdy iba raz

 
Odpovedať
6.4.2014 2:05
Avatar
Odpovedá na mkub
Matúš Petrofčík:6.4.2014 2:10

Viem na čo slúžia tieto funkcie, len som sa chcel uistiť, že require_once() je v tomto prípade lepšia ako require() :)

v posledných dieloch tohto serialu (namespaces) je zas namiesto require() použitá include() kvôli podmienke, tak možno preto v tejto časti seriálu nechal require() namiesto (podľa mňa lepšej) require_once() :)

Odpovedať
6.4.2014 2:10
obsah kocky = r^2 ... a preto vlak drnká
Avatar
mkub
Tvůrce
Avatar
Odpovedá na Matúš Petrofčík
mkub:6.4.2014 2:14

include() tam nechal skor pre osetrenie chyb, lebo require() a require_once() pri chybe zastavia vykonavanie PHP skriptu
a pri osetrovani chyb je lepsie pouzit include(), resp. include_once()

 
Odpovedať
6.4.2014 2:14
Avatar
Odpovedá na mkub
Matúš Petrofčík:6.4.2014 2:17

veď píšeme o tom istom :)

http://www.itnetwork.cz/…i-namespace/#… som zas písal prečo tam je podľa mna iclude() a nie include_once()

Editované 6.4.2014 2:17
Odpovedať
6.4.2014 2:17
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Michal Šmahel:16.10.2014 22:29

Ale v tomto případě tam můžeš s klidem nechat to require(), protože require_once() (jak již víš) pouze ošetřuje chybu "znovunačtení" a v tomto případě to píšeš pouze jednou (na začátku). Tudíž je lepší require(), poněvadž require_once() je zbytečný.

Odpovedať
16.10.2014 22:29
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovedá na Matúš Petrofčík
antoninfoltyn:2.12.2014 7:18

Funkce

spl_autoload_register()

načítá třídu jen za předpokladu že ještě není načtena.

Tudíž používat require_once() z důvodu ošetření chyby dvojitého načtení je nadbytečné, protože k takové situaci dojít nemůže a to právě proto že spl_autoload_re­gister() se nepokusí načíst znovu již načtenou třídu. :)

Editované 2.12.2014 7:20
 
Odpovedať
2.12.2014 7:18
Avatar
Odpovedá na antoninfoltyn
Matúš Petrofčík:2.12.2014 15:07

Jop to už viem :) ale dík za info ;)

Odpovedať
2.12.2014 15:07
obsah kocky = r^2 ... a preto vlak drnká
Avatar
kopecky.alesh:3.12.2014 12:35

Mám pocit, že v článku je chyba v předposledním kódu:
require("tridy/$tri­da.php");

Místo toho by podle mě mělo být toto:
require("tridy/"­.$trida.".php");

Ale jinak super článek;)

 
Odpovedať
3.12.2014 12:35
Avatar
Odpovedá na kopecky.alesh
Neaktivní uživatel:3.12.2014 12:37

Ne, je to správně. Proměnná v uvozovkách se vykoná. Musel by použít apostrofy, aby v jeho případě došlo k chybě.

viz odkaz:
http://www.itnetwork.cz/…ovani-a-pole

Editované 3.12.2014 12:40
Odpovedať
+1
3.12.2014 12:37
Neaktivní uživatelský účet
Avatar
kopecky.alesh:3.12.2014 14:32

Vlastně ano, já použil apostrofy, tudíž mi to hlásilo chybu a musel jsem do kódu přidat tečky.
Díky za upozornění.

 
Odpovedať
3.12.2014 14:32
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 41.