Autor | Zpráva | ||
---|---|---|---|
yarda Profil * |
#1 · Zasláno: 22. 7. 2013, 20:20:30
Ahoj,
v php už něco umím, ale pořád nevím, jak a k čemu se používá "->". Někde jsem viděl třeba $query->id a takhle.. Mohl by mi to někdo prosím vysvětlit? Díky všem :) |
||
Magnus123 Profil |
#2 · Zasláno: 22. 7. 2013, 20:55:09
yarda:
Ahoj, jedná se o operátor, pomocí kterého se dostaneš k vlastnostem nebo metodám objektů. Podívej se na nějaké články o OOP (objektově orientované programování). Kromě operátoru šipka (->) také uvidíš operátor dvojitá dvojtečka (::). |
||
Kubo2 Profil |
#3 · Zasláno: 22. 7. 2013, 21:07:10
yarda, Magnus123:
„dvojitá dvojtečka (::)“ Mimochodom, táto dvojitá dvojtečka sa správne nazýva pámajim nekudotajim (paamayim nekudotayim) a používa sa na prístup ku statickým metódam a datovým zložkám tried v PHP. Smutné však je, že aj keď v PHP môžeš deklarovať statickú metódu alebo datovú zložku, nemôžeš deklarovať ako statickú celú triedu, a tak z triedy, ktorá je "statická" - obsahuje iba statické metódy a datové zložky - môžeš pomocou operátora new vytvoriť objekt či inštanciu.
|
||
yarda Profil * |
#4 · Zasláno: 22. 7. 2013, 21:52:53
Díky oboum :) Nějak jsem to pochopil, snad dobře.:D
|
||
Joker Profil |
#5 · Zasláno: 22. 7. 2013, 22:38:32
Kubo2:
„Mimochodom, táto dvojitá dvojtečka sa správne nazýva pámajim nekudotajim (paamayim nekudotayim)“ Nepovažoval bych ale termín „dvojitá dvojtečka“ za chybný, protože ten úchvatný název pámajim nekudotajim je „dvojitá dvojtečka“ hebrejsky :-) Jen dodám, že kromě „pojmenování podle vzhledu“ ty operátory mají i „pojmenování podle funkce“. Operátor „šipka“ (arrow) se jmenuje „objektový operátor“ (object operator) a dvojitá dvojtečka (paamayim nekudotayim) se jmenuje „operátor rozlišení kontextu“ (scope resolution operator) |
||
llook Profil |
#6 · Zasláno: 23. 7. 2013, 12:45:18
Kubo2:
„Smutné však je, že aj keď v PHP môžeš deklarovať statickú metódu alebo datovú zložku, nemôžeš deklarovať ako statickú celú triedu, a tak z triedy, ktorá je "statická" - obsahuje iba statické metódy a datové zložky - môžeš pomocou operátora new vytvoriť objekt či inštanciu.“ Pokud máš private constructor, tak ten objekt můžeš vytvořit pouze v metodě té třídy (nebo přes Reflection, nebo unserialize). Smutné mi to nepřijde. |
||
Časová prodleva: 10 let
|
0