Előző cikkünkben bemutattuk a PHP-sütiket, és megtanulhattad, hogyan tudod használni őket a saját weboldaladon. Mai leckénkben egy teljesen új témára térünk rá: a PHP-állandókkal fogunk foglalkozni.
Leckénkből megtudhatod, mik is az állandók, hogyan ajánlatos elnevezni őket, és mutatunk néhány példát is. Ha figyelmesen olvastad a PHP-változókról szóló leckénket, az állandókkal sem lesz nehéz dolgod. Vágjunk bele!
A PHP-állandó (angolul: constant) egy olyan név vagy azonosító, amelynek rögzített értéke van. Az állandók a változókhoz hasonlítanak, azzal a különbséggel, hogy miután meghatároztuk őket, nem tudjuk változtatni az értéküket (kivéve a magic constant állandók esetében, melyekről a későbbiekben lesz szó). Az állandók különösen hasznosak azokban az esetekben, amikor olyan adatokat tárolunk, amelyek nem változnak a script futtatása során. Gyakori példák erre a konfigurációs beállítások, mint amilyen az adatbázis felhasználóneve és jelszava, a weboldal alap-URL-je, a cég neve stb.
Az állandókat a PHP define() funkciójával határozhatjuk meg, mely két elemből áll: az állandó nevéből és az értékéből. Miután meghatároztuk az értéket, bármikor hozzáférhetünk azáltal, hogy hivatkozunk a névre. Lássunk egy egyszerű példát:
PHP-kód:
<?php
// Az állandó meghatározása
define('SITE_URL', 'https://www.erdsoft.com/');
// Az állandó alkalmazása
echo 'Köszönjük a látogatást - ' . SITE_URL;
?>
Megjelenítés a böngészőben:
Köszönjük a látogatást - https://www.erdsoft.com/
Azzal, hogy az értékeket állandókban tároljuk változók helyett, biztosak lehetünk benne, hogy az érték nem fog véletlenül megváltozni az alkalmazás futtatása során.
A PHP-állandók megnevezése
A PHP-állandók megnevezésére ugyanazok a szabályok vonatkoznak, mint a változók esetében. Vagyis az állandó neve betűvel vagy aláhúzással kell hogy kezdődjön, ezt pedig bármilyen számú betű, szám vagy aláhúzás követheti. A változók és az állandók megnevezésében egy különbség van: a $ előtag nem szükséges az állandók esetében.
PHP Magic Constants
A PHP-ben az egyszerű állandókon kívül olyan speciális, előre meghatározott állandókkal is találkozhatunk, amelyek annak függvényében változnak, hogy hol használjuk őket. Ezek az állandók a magic constants megnevezést viselik. A magic constants állandók két aláhúzással kezdődnek és két aláhúzással fejeződnek. Lássuk hát a leghasznosabb magic constants állandókat:
__LINE__
A __LINE__ állandó visszaadja a fájl sorának számát, ahogy azt a következő példa is mutatja:
PHP-kód:
<?php
echo 'Sor száma: ' . __LINE__ . '<br />'; // Megjelenítés: Sor száma: 2
echo 'Sor száma: ' . __LINE__ . '<br />'; // Megjelenítés: Sor száma: 3
echo 'Sor száma: ' . __LINE__ . '<br />'; // Megjelenítés: Sor száma: 4
?>
__FILE__
A __FILE__ állandó visszaadja a végrehajtott PHP-fájl teljes útvonalát és nevét. Ha egy include-on belül használjuk, a fájl nevét fogja mutatni.
PHP-kód:
<?php
// A fájlhoz vezető abszolút útvonalat és fájlnevet mutatja
echo 'A fájlhoz vezető teljes útvonal: ' . __FILE__;
?>
__DIR__
A __DIR__ állandó mutatja a fájl direktóriumát. Ha egy include-on belül használjuk, a fájl direktóriumát fogja mutatni.
PHP-kód:
<?php
// A fájl direktóriumát mutatja
echo 'A fájl direktóriuma: ' . __DIR__;
?>
__FUNCTION__
A __FUNCTION__ állandó megjeleníti a pillanatnyi funkció nevét.
PHP-kód:
<?php
function myFunction() {
echo 'A funkció neve - ' . __FUNCTION__;
}
myFunction(); // Megjelenítés: A funkció neve - myFunction
?>
__CLASS__
A __CLASS__ állandó az aktuális osztályt mutatja. Lássunk erre is egy példát!
PHP-kód:
<?php
class MyClass
{
public function getClassName() {
return __CLASS__;
}
}
$obj = new MyClass();
echo $obj->getClassName(); // Megjelenítés: MyClass
?>
__METHOD__
A __METHOD__ állandó a pillanatnyi class method nevét írja ki.
PHP-kód:
<?php
class Sample
{
public function myMethod() {
echo __METHOD__;
}
}
$obj = new Sample();
$obj->myMethod(); // Megjelenítés: Sample::myMethod
?>
__NAMESPACE__
A __NAMESPACE__ állandó a pillanatnyi namespace nevét listázza ki.
PHP-kód:
<?php
namespace MyNamespace;
class MyClass
{
public function getNamespace() {
return __NAMESPACE__;
}
}
$obj = new MyClass();
echo $obj->getNamespace(); // Megjelenítés: MyNamespace
?>
Összegzés:
Az állandók tehát olyan elemek, amelyeknek rögzített az értékük. A változókéhoz hasonlóan adhatjuk meg a nevüket, azzal a különbséggel, hogy az állandók nevében nincs $ előtag. Az állandók meghatározott értékét nem tudjuk megváltoztatni — ezért is állandók. Olyan esetekben hasznosak, amikor változatlan adatokat szeretnénk tárolni, mint például a cég neve vagy az adatbázis felhasználóneve és jelszava.
Jövő heti leckénktől kezdve egy bonyolultabb témába vágunk bele — megismerkedhetsz a PHP-osztályokkal és -objektumokkal (classes and objects). Addig is — jó gyakorlást!
Nyereményjáték
Rovatunk elsődleges célja, hogy közelebbről is bemutassa a legismertebb webtechnológiákat. Azok között az olvasók között, akik minden héten követik rovatunkat, azaz velünk tanulják a programozás alapjait és kitöltik a feladatsort, a sorozat végén egy laptopot sorsolunk ki.
A játék heti kérdése:
Mit ad vissza a __FILE__ állandó?
1. A végrehajtott fájlhoz vezető abszolút útvonalat
2. A végrehajtott fájlhoz vezető abszolút útvonalat és fájlnevet
3. A végrehajtott fájl nevét
A választ a tanulok@erdsoft.com e-mail-címre kell elküldeni, a tárgysorba pedig a következőt kell beírni: HÉTNAP-TANULOK. Sok szerencsét!
Néhány szó rólunk:
Az ErdSoft (www.erdsoft.com) 2011-ben alakult meg. Csapatunkat a fiatalos lendület, a szakértelem, a folyamatos tanulás és tapasztalatgyűjtés jellemzi. Ügyfeleinknek igyekszünk teljes körű szolgáltatást nyújtani — bátran fordulhatnak hozzánk, legyen szó webfejlesztésről, alkalmazásokról, SEO-optimalizálásról, grafikai tervezésről, marketingről vagy szövegírásról. Csapatunk sikerét mi sem bizonyítja jobban, mint a több száz elkészült weboldal és a számos elégedett ügyfél Szerbiában, Magyarországon és az Egyesült Királyságban.