Az alapoktól...

PHP kezdőknek

PHP kezdőknek

1. lecke - Alapvető nyelvi elemek

2015. június 16. - Frantique

a) A php fájlok szerkezete

 

A php fájlok szöveges állományok, amelyeket a php nyelv értelmezője futtat. Létrehozhatjuk bármilyen egyszerű szövegszerkesztővel, a fájl kiterjesztése konvenciók szerint ".php", azonban valójában ez nem megkötés. Az értelmező a nyitó és záró tag-ek közötti részt tekinti php kódnak, az ezen kívül eső rész egyszerű szövegként kerül kiírásra. A nyelv alapértelmezett nyitó és záró tag-jei a "<?php" és a "?>", valamint a rövidített "<?" és "?>" - ahol ez engedélyezve van. A megjegyzéseket "//" jellel kezdjük soronként, valamint "/*" és "*/" jelek közé tehetjük, ha több soros a megjegyzés. A különböző utasításokat pontosvesszővel (;) zárjuk.

A php fájlokban a nyelv saját függvényeit és osztályait valamint saját magunk által létrehozottakat használhatunk, valamint lehetőségünk van ezeket teljesen mellőzni is, ha a feladat megengedi.

Példa:

-------------------
<?php
/* Ez a program kiírja
a klasszikus "Hello World!"
szöveget. */
echo "Hello World!"; // Ez egy egy soros megjegyzés
?>
-------------------

Megfigyelhetjük a nyitó (<?php) és záró (?>) tageket, közöttük a "hasznos" résszel.

Tanács:

Ajánlatos a fájlban kerülni a többszörös tag nyitás-zárást, mivel ilyenkor az értelmezőt gátoljuk a futásban, emellett nehezebben olvasható a kód, amit írunk.

Rossz példa:
------------------
<html>
<head>
<title>Rossz példa</title>
</head>
<body>
<div>
<?php
echo "Én egy példa mondat vagyok.";
?>
</div>
<div>
<?php
echo "Én egy másik mondat vagyok!";
?>
</div>
</body>
</html>
------------------

Javított változat:

------------------
<?php
echo '<html>
<head>
<title>Jó példa</title>
</head>
<body>
<div>
Én egy példa mondat vagyok.
</div>
<div>
Én egy másik mondat vagyok!
</div>
</body>
</html>';
?>
------------------

b) Változók

 

A fenti példákból hiányzik valami: az a tulajdonság, amely megkülönbözteti egy statikus szöveges állománytól - semmi nem változik a futtatás során. Ahhoz, hogy igazán hasznos php alkalmazást írjunk, sehogy nem kerülhetjük el a változókat. A változók olyan speciális, adattartalommal bíró logikai egységek, amelyeket tetszés - és a logika korlátai - szerint felhasználhatunk. A változó ismérve a php nyelvben az, hogy "$" jellel kezdődik, amelyet betűkből, számokból, és bizonyos írásjelekből álló rész követ. A pontos tartományt a hivatalos kézikönyv tartalmazza, ajánlatos azonban betartani pár alapvető szabályt:

  1. A $ jel után NEM ÁLLHAT szám. Pl. "$1alma"
  2. Nem használhatunk szóköz karaktert. Pl. "$alma korte"
  3. Habár a nyelv lehetővé teszi a kiterjesztett kódlapok használatát, nem ajánlott. Pl."$körte" helyett inkább "$korte" formában adjuk meg a változó nevét.
  4. Használjunk beszédes változókat! Sokkal könnyebb lesz utólag a kódot értelmezni, ha a változó nevéből következtethetünk a tartalomra. Pl. "$var1" helyett "$szamlalo_ertek"
  5. Habár a nyelv nem kéri, próbáljunk törekedni a változó típusossá tételére, esetleg az ellenőrzésére.

FIGYELEM!
Nem minden szintaktikailag helyes változót használhatjuk, mivel a php néhányat előre lefoglalt, ezek listáját a dokumentációban találjuk.

c) Változók típusai

A változók felvehetnek számértéket, szöveget, tömböt, logikai értéket, objektumot, valamint két speciális típust: a NULL-t és az erőforrást (resource).

Példák:

Számértékek (int, float):
$szam_ertek_1 = 1; // Egész szám
$szam_ertek_2 = 1.1; // Tizedes szám

Szöveges értékek (string):
$szoveg_ertek = "Ez egy szöveg."; // Dupla idézőjeles kiírás!*

Logikai értékek (boolean):
$logikai_ertek_1 = true; // Igaz érték
$logikai_ertek_2 = false; // Hamis érték

Tömbök (array):
$tomb_ertek_1 = array("első elem", "második elem"); // számozott tömb
$tomb_ertek_2 = array("elem1"=> "első elem", "elem2"=>"második elem"); // asszociatív tömb

A tömb elemeire a kulcsokon kereszül tudunk hivatkozni szögletes zárójelek közé írt kulccsal. A számozott tömbök kulcsai 0-val kezdődnek. A fenti példából kiindulva:
-----------------------
<?php
$tomb_ertek_1 = array("első elem", "második elem");
$tomb_ertek_2 = array("elem1"=> "első asszociatív elem", "elem2"=>"második asszociatív elem");

echo $tomb_ertek_1[0]; // Kiírja: első elem
echo $tomb_ertek_2["elem1"]; // kiírja: első asszociatív elem

?>
----------------------
Objektumok (object):
$objektum = New Objektum; // A hivatkozott objektumnak léteznie kell

Erőforrás (resource):
$my_resource = mysqli_connect("localhost","myuser","mypassw","mydatabase"); // Adatbázis kapcsolat erőforrása

NULL:
$null_variable = NULL; // Egy változó akkor NULL, ha a NULL konstanst rendeltük hozzá, vagy ha nem volt semmilyen érték hozzárendelve, esetleg, ha az unset() függvénnyel eldobtuk.

--------
*) A változók szöveges értékeit idézőjelek közé tesszük, amelyek lehetnek egyszerű idézőjelek : 'valami', valamint kettős idézőjelek "valami". A kettő közötti különbség az, hogy az egyszerű idézőjelek közötti szöveg értelmezés nélkül létezik, míg a kettős idézőjeles változatban az értelmező további változókat keres benne, amelyeket próbál feltölteni az adott értékkel.

Példák:
---------------------
<?php
$nem_ertelmezett_szoveg = 'Én egy szöveg vagyok, amelyben szerepel a $szoveges_valtozo nevű változó.';
echo $nem_ertelmezett_szoveg;
?>
---------------------

Figyeljük meg a különbséget:
---------------------
<?php
$tipus_neve = 'szöveg';
$ertelmezett_szoveg = "Én egy $tipus_neve vagyok.";
echo $ertelmezett_szoveg;
?>
---------------------

TIPP
Ahol a szöveg nem tartalmaz változót, használjuk egyszerű idézőjelet: így a php értelmező nem dolgozik feleslegesen azon, hogy változókat keressen (gyorsabb futás), valamint hosszú szövegek esetén olvasás közben látjuk, hogy milyen jellegű a tartalom.
-------


A változók hatásköre

A változókat a létrehozásuk után használhatjuk bárhol a kódban, hatáskörük globális, kivéve a függvények belsejét. A függvényben létrehozott változó helyi hatáskörrel bír, a függvényen kívül létező azonos nevű változót nem érinti. Globális változót behozhatunk a függvénybe a "global" kulcsszóval.

Példák:
--------------------
<?php
$szam_ertek = 1;
echo $szam_ertek; // Kiírja: 1

semmit_nem_ir_ki();
globalis_erteket_ir_ki();
lokalis_erteket_ir_ki();

/* Függvények */

function semmit_nem_ir_ki() {
echo $szam_ertek; // Nem ír ki semmit
}

function globalis_erteket_ir_ki() {
global $szam_ertek;
echo $szam_ertek; // Kiírja: 1
}

function lokalis_erteket_ir_ki() {
$szam_ertek = 2;
echo $szam_ertek; // Kiírja: 2
}

?>
--------------------


d) Konstansok


A konstansok olyan azonosítók, amelyek egyszerű értékek tárolására alkalmasak. Hagyományosan NAGYBETŰVEL jelöljük, a "$" jelet leszámítva a felépítésük azonos a változókkal. Némely konstanst a php alapértelmezetten szállít, ezek listája megtalálható a dokumentációban. Olyan helyeken használjuk, ahol a kód olvashatósága az elsődleges cél.

Példák:
define('PI_ERTEK', 3.14159265358979323846); // Csak osztályon kívüli létrehozás szintaxisa
const PI_ERTEK = 3.14159265358979323846; // Csak osztályon belüli létrehozás szintaxisa

Megjegyzések
A fenti példákban szereplő PI_ERTEK konstans valójában fölösleges, mivel az alapértelmezettek között szerepel az M_PI nevű konstans, amely tartalma megegyezik a fenti példáéval.
A konstansokat nem használhatjuk szövegen belül úgy, mint a változókat.

Példa:
--------------------------
<?php
define('KONSTANS','konstans érték');
$valtozo = 'változó érték';

echo "Ez egy konstans értéke: KONSTANS"; // Kiírja: Ez egy konstans értéke: KONSTANS
echo "Ez egy változó értéke: $valtozo"; // Kiírja: Ez egy változó értéke: változó érték

?>
--------------------------

Futás közbeni módosítások


A változókat futás közben új tartalommal tölthetjük fel, valamint előzetes lefoglalás nélkül használhatjuk bárhol az alkalmazásban.

Példa:
-----------------------------
<?php
$valtozo = 'Most szöveg vagyok!';
echo $valtozo; // Kiírja: Most szöveg vagyok!
$valtozo = 1;
echo $valtozo; // Kiírja: 1
$valtozo = NULL;
echo $valtozo; // Nem ír ki semmit.
?>
-----------------------------

Ezzel szemben a konstansokat csak egy speciális függvényen keresztül tudjuk változtatni; azt ajánlom, hogy abban az esetben, ha egy konstanst utólag változatni kell, akkor inkább használjunk helyette változót.

-------------------------------------------------------------------------------------------------

 


Feladatok

  1.  Írjunk egy php példaprogramot, amely előre megadott változókból feltölti a következő szöveget: "Az én nevem ....., és ..... éves vagyok."
    Használjunk beszédes változóneveket!
  2. Írjuk ki egyetlen változó újrafelhasználásával a következő szövegeket: "Az én nevem .....", majd utána: ".... éves vagyok."
  3. Hozzunk létre egy 10 elemből álló tömböt, majd irassuk ki a 3. elemet!

A bejegyzés trackback címe:

https://php-kezdoknek.blog.hu/api/trackback/id/tr347549020

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása