Autor | Zpráva | ||
---|---|---|---|
hlupacek Profil * |
#1 · Zasláno: 16. 3. 2010, 21:57:43
Ahoj, mám takový hloupí dotaz. Chtěl bych si nadefinovat třeba $pozdrav = "ahoj"; a chci ji mít na celém webu. Jedná se o OOP. Napadlo mne global $pozdrav = "ahoj"; ale já to chci použít v struktuře MVC(P) takže bych potřeboval aby to bylo viditelné pro šechny třídy. Možná jsem problém i blbě vysvětli, ale budu rád za každou radu.
|
||
tiso Profil |
#2 · Zasláno: 16. 3. 2010, 22:03:08
hlupacek: takže v podstate konfig? Hodnotu nechceš meniť?
|
||
DJ Miky Profil |
#3 · Zasláno: 16. 3. 2010, 22:04:28
Pokud to má být vidět všude, tak konstanta?
|
||
mckay Profil |
#4 · Zasláno: 16. 3. 2010, 22:04:53
hlupacek:
Dej si to do config.php (jestli něco takového vedeš). To co vkládáš do každé stránky. Tam se ta proměnná vytvoří a ty ji budeš prakticky moci použít kdekoliv. global $proměnná použiješ v případě, že s tou proměnnou budeš chtít pracovat uvnitř metody. "hlupacek" - pěkné jméno, sebedůvěra z něho jen čiší. „Ahoj, mám takový hloupí dotaz“ Hloupý - mladý, píše se tvrdé Y. |
||
hlupacek Profil * |
#5 · Zasláno: 16. 3. 2010, 22:11:07
tiso: měnit se nebude jen bude v podmínce, ale to by na to vliv mít nemělo.
mckay: Omlouvám se za "Y", ale četina mi moc nejde. Config.php nevedu, ale vedu bootstrap.php. Takze můžu dát define(pozdrav, ahoj) do bootstrapu a mělo by to frčet? |
||
tiso Profil |
#6 · Zasláno: 16. 3. 2010, 22:16:15 · Upravil/a: tiso
hlupacek: máš na výber medzi konštantou:
define('GREETING', 'ahoj'); echo GREETING; |
||
hlupacek Profil * |
#7 · Zasláno: 16. 3. 2010, 22:20:02
Tiso, díky už to funguje. A co kdybych si to v té struktuře (MVC) chtěl dát do modelu a mít to přístupné všude?
|
||
tiso Profil |
#8 · Zasláno: 16. 3. 2010, 22:23:41
hlupacek: kam si to dáš, tam to budeš mať... Ale prístupné to inde budeš mať až keď si "inicializuješ" model.
|
||
hlupacek Profil * |
#9 · Zasláno: 16. 3. 2010, 22:27:33
Potřeboval bych to mít přístupné i pto presentery. Co to prosím znamená "inicializovat" model, omlouvám se za základní neznalosti.
|
||
AM_ Profil |
#10 · Zasláno: 16. 3. 2010, 22:27:45
v souladu s OOP bys měl konstantu definovat jako člena nějaké třídy, např.
class Config{ const greeting = 'hello'; } echo Config::greeting; |
||
hlupacek Profil * |
#11 · Zasláno: 16. 3. 2010, 22:32:21
Mám to v bootstrapu a tam žádné třídy nemám, ještě jsem zapoměl říct podstatnou věc, snažím se to udělat v nette fw.
|
||
AM_ Profil |
#12 · Zasláno: 16. 3. 2010, 22:34:20
nette fw má slušivý soubor config.ini, kam taková věc patří ;)
hlupacek: „Mám to v bootstrapu a tam žádné třídy nemám,“ pak stojí za zvážení, jestli je opravdu umístění v bootstrapu zvolené správně. |
||
hlupacek Profil * |
#13 · Zasláno: 16. 3. 2010, 22:40:36
Proč něco takového cpát do configu? to je zbytečné. Nejlépe to dát do Modelu. Ale moc nevím jak nato. Něco jak jsi psal, ale co když pak budu chtít zkontrolovat zda greeting opravdu = hello? Bude stačit if( Config::greeting === xxx)?
|
||
Alphard Profil |
#14 · Zasláno: 16. 3. 2010, 23:57:33
Možná bychom mohli přesněji poradit, kdybyste napsal konkrétní účel a ne jenom demonstrační hello.
Jestli to má být v modelu, může to být třeba v předkovi, kterého všichni dědí, nebo jen v určíté třídě. Kam si to dáte, tam to bude, těžko radit. Nette má myslím i nějakou třídu Environment, do které lze cokoliv uložit. |
||
Majkl578 Profil |
#15 · Zasláno: 17. 3. 2010, 01:04:51
Dotazy ohledně Nette Frameworku doporučuji směřovat na jeho support fórum.
|
||
hlupacek Profil * |
#16 · Zasláno: 17. 3. 2010, 20:49:25
Jde oto, že já potřebuju tu proměnnou mít přístupnou i v presenterech. No chci si ošetřit stránku aby nepřihlášený uživatel (nebo uživatel bez práv) nemohl na danou url.
|
||
Alphard Profil |
#17 · Zasláno: 17. 3. 2010, 21:48:13
hlupacek:
Takže jde vlastně o řízení přístupu. Kdybyste to napsal hned, bylo by vše jednodušší. Nette Framework: Přihlašování uživatelů - Zdroják Nette\Web\User | Nette Framework |
||
hlupacek Profil * |
#18 · Zasláno: 17. 3. 2010, 22:13:17
Alphard: Díky, ale to je přihlášení a odhlášení. Ale já chci aby se nepřihlášený uživatel nedostal třeba na stránku example.cz/admin/add-news.
|
||
Alphard Profil |
#19 · Zasláno: 17. 3. 2010, 22:18:40
hlupacek:
Nějak se začít musí, kdybych vás odkázal hned na řízení práv, tak se v tom ztratíte, přihlášení je základ, bez něho to nepůjde. A hned v prvním návodě je // je přihlášen? echo $user->isAuthenticated() ? 'ano' : 'ne'; Přesně to, co chcete. A hned další díl Nette Framework: Ověřování oprávnění a role - Zdroják. Buďte trochu samostatný. |
||
hlupacek Profil * |
#20 · Zasláno: 17. 3. 2010, 22:54:10
Proto jsem zde nepsal přímo problom, protože mi každý bude psát, že jsem to mohl najít a pod, ale ja jsem přišel na to, že neumím spoustu základních věcí a proto jsem se snažil to udělat sám. Také bych byl rád kdyby mi někdo doporučil nějakou zajimavou literaturu o OOP na netu.
|
||
hlupacek Profil * |
#21 · Zasláno: 18. 3. 2010, 00:18:07
Díky, už to asi funguje jak chci, jsem asi fakt hloupý, že jsem to dělal tak btížně když se to dá řešit vcelku jednoduše, díky všem za rady a ještě bych poprosil tu literaturu o OOP na netu, díky.
|
||
Majkl578 Profil |
#22 · Zasláno: 18. 3. 2010, 00:30:37
Přesně tento problém se řeší v example CD-collection v DashboardPresenteru.
Mimojiné radvisi, opravdu je problém klást takto specifické dotazy přímo na Nette fórum? |
||
O Profil * |
#23 · Zasláno: 18. 3. 2010, 00:38:06
Literaturu o OOP v PHP? Co třeba php.net? Ale pozor, pro pomalejší jedince může být náročné číst text v angličtině. Pomalejší jedinci ale neprogramují.
|
||
O Profil * |
#24 · Zasláno: 18. 3. 2010, 00:40:08
Respektive, trochu to přeformuluji. Pomalejší jedinci nemají prostředky k tomu, aby mohli programovat a proto by se o to neměli pokoušet.
|
||
AM_ Profil |
#25 · Zasláno: 18. 3. 2010, 08:15:44
hlupacek:
„Také bych byl rád kdyby mi někdo doporučil nějakou zajimavou literaturu o OOP na netu.“ Jestli ještě neumíš dobře OOP, nesnaž se psát v Nette, je to ztráta času. K naučení stačí libovolná literatura novějšího data, nalezitelná jak přes google, tak v nejbližším knihkupectví. Doporučit bohužel nic nemohu, OOP jsem se průběžně učil z různých zdrojů. |
||
hlupacek Profil * |
#26 · Zasláno: 18. 3. 2010, 13:16:02
AM_ : Vím, že toho je na netu hodně (už jsem pár věcí četl), ale myslel jsem, že nekdo doporučil literaturu ze které se učil sám.
O: To je možný, ale i pomalejší jedinci v tuhle dobu vi, že existuje google translater:). A není pravda, že pomalejší neprogramují, to říkají jen ti "chytřejší". |
||
Časová prodleva: 14 let
|
0