Kezdőoldal » Számítástechnika » Programozás » PHP - Hogy tudok osztályon...

PHP - Hogy tudok osztályon belül globális konstansot definiálni amit más osztály is elér?

Figyelt kérdés
A define függvényhez hasonló megoldást keresek.
2015. szept. 21. 17:50
 1/8 anonim ***** válasza:
2015. szept. 21. 18:29
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

#1 vagyok


A define() globális konstanst definiál, kiegészítettem a példám a 2. linken.

2015. szept. 21. 18:32
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:
$_ENV globális tömbe is berakhatod, azt bárhonnan eltudod majd érni.
2015. szept. 21. 18:35
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:

Objektum Orientált Programozásban csak úgy globális dolgot nem definiálunk.

Ez igaz C++, Java, PHP, stb...


PHP-ban van egy speciális parancs (ahogy minden máshol is) ami konstans marad (azaz értéke nem módosítható, de kiviűrről látható.


PHP-ban főleg a $GLOBALS-t módosítani lehet, de KIMONDOTTAN VESZÉLYES. Minden "$" definiált változó nem más mint a $GLOBALS tömb egy eleme. De ezt ő maga a PHP motor kezeli, de számodra is elérhető.

Szóval $GLOBALS-ot SOHA SE HASZNÁLD!!!


Bár a tmp (ideiglenes) adatoknak a $_ENV (Environment) használható, de felhasználás után illik törölni.


De mindezek helyet:

Megj: ~ jel csak szóköz szeretne lenni, a láthatóságok miatt.


1. lehetőség: define("name", value)

De előtte célszerű megnézni, hogy létezik-e a defined("name") parancsal.

if(defined("GLOBAL_VAR_NAME")) {

~~~~define("GLOBAL_VAR_NAME", <VALUE>);

}


2. lehetőség: Ezt OOP-hez ERŐSEN ajánlot

Írok egy példa class-t:

class A {

~~~~/**

~~~~~* Ez megfelel a Java: "public static final" paraméterezésnek.

~~~~~*/

~~~~const $NAME = 1;

}


Elérése pedig:

A::NAME


Részletek: [link]

2015. szept. 21. 22:37
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:

Hibás sor: const $NAME = 1;

Javítása: const NAME = 1;


Nincs "$" karakter

2015. szept. 21. 22:38
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:

[link]


Szerintem neked ez kell, nem értem, hogy miért nem írták még..

2015. szept. 21. 22:59
Hasznos számodra ez a válasz?
 7/8 A kérdező kommentje:
Köszönöm szépen a segítséget!
2015. szept. 21. 23:24
 8/8 anonim ***** válasza:

@22:59: Nem feltetlenul, ez csak osztaly szintu valtozot definial a kerdesben pedig konstans volt. :)

Arra ott a const, amit mar emlitettek es szinten elehero az Osztalynev::konstans modon.

2015. szept. 22. 11:27
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!