PHP alapok (PHP webprogramozás alapjai kezdőknek)
Ebben a cikkben mindent elmagyarázunk a PHP-ról, szóval ne ijedj meg, ha kezdő vagy a webprogramozásban. Ez a cikk valóban a PHP alapjairól szól.
Annyira az alapokról, hogy rögtön azzal fogjuk kezdeni, hogy mi is a PHP, megmutatjuk, hogy milyen fájlkiterjesztést kap, majd felállítjuk a PHP programozáshoz szükséges környezetet és beszerzünk egy kódszerkesztőt. Mindezek után áttérünk a PHP nyelv elméleti és gyakorlati részére, azaz tisztázzuk, hogy hogyan működik az echo utasítás, hogyan tudunk kommentelni PHP-ban, hogyan kell változót, tömböt, ciklust, elágazást létrehozni.
Mi az a PHP? A PHP fogalma
Kezdjük egyből a legfontosabb tudnivalóval, azaz azzal, hogy mi is az a PHP.
A PHP fogalma: A PHP egy szerveroldali szkriptnyelv, mely segítségével dinamikus weblapokat készíthetünk. A PHP nyelven írt kódokat a webszerver PHP feldolgozómodulja értelmezi. A PHP egy olyan programozási nyelv, mely segítségével képesek lehetünk elkészíteni egy adatbázisalapú weboldalt is, azaz az adatok egy része egy szerveren van tárolva. Szerveren általában különböző felhasználókhoz köthető adatokat tárolunk, például a bejelentkezési adatok, feltöltött tartalmak.
Szerverkörnyezet a PHP számára
A PHP egy szerveroldali nyelv, azaz szerverre van szükség ahhoz, hogy a PHP-ban megírt kódokat futtatni tudjuk. Az sajnos nem lehetséges, mint a HTML-nél, hogy megírjuk a kódot, majd szimplán megnyitjuk a böngészőnkben. Ha ezt megpróbáljuk, akkor nem a weboldalt fogjuk látni, hanem szimplán a kódot.
Két lehetőség közül választhatunk:
- feltelepítjük a PHP-t és az Apache-ot
- feltelepítjük a XAMPP-ot
Ez a két megoldás egymástól független, szóval nincs szükség mindkettő telepítésére, elegendő a két megoldás közül csak egyet választani. Fontos, hogy a PHP fájlainkat csak úgy tudjuk futtatni, ha az Apache vagy XAMPP szerverünk fut.
>> A programok összehasonlítása, illetve telepítési útmutatása itt olvasható. <<
PHP szerkesztők
Ha feltelepítettük a PHP-hoz szükséges szerverkörnyezetet, akkor szükségünk lesz egy PHP kódszerkesztőre vagy IDE-re. Nem feltétlen kell komplexebb programokban gondolkoznunk, mert akár egy Jegyzettömben is programozhatunk PHP nyelven, de lehet, hogy érdemes elgondolkodnunk egy kicsit komolyabb programon, hiszen az ilyen programok már képesek szintaxis kiemelésre, jelzik a hibáinkat, sőt még akár segítenek is befejezni az elkezdett kódrészlet befejezését.
A legjobb ingyenes PHP kódszerkesztők és IDE-k:
- Visual Studio Code
- NetBeans
- Notepad++
- Sublime Text
PHP fájlkiterjesztése
Ahhoz, hogy a PHP nyelven megírt programkódunk letudjon futni, .php fájlkiterjesztéssel kell elmentenünk.
PHP kiíratás
Ennyi előkészület után most már épp itt az ideje áttérni az első olyan dologra, ahol már valójában a PHP-ban dolgozunk és nem azon, hogy a PHP-ban dolgozhassunk.
Legelsőnek ismerkedjünk a PHP-ban leggyakrabban használt kiírató utasítással, az echo-val. Az echo arra képes, hogy egy megadott változót (erről később) vagy egy szöveget kiír a képernyőre.
Szintaxis
echo("SZÖVEG"/VÁLTOZÓ);
Code language: PHP (php)
Első echo példa
PHP kód
<?php
echo("Ez PHP szöveg <br>");
$valtozo = "Ez egy változó. <br>";
echo($valtozo);
?>
Code language: HTML, XML (xml)
Eredmény
Ez PHP szöveg
Ez egy változó.
A fenti példában elsőnek kiírattunk egy sima szöveget echo-val, majd felvettünk egy $valtozo névre hallgató változót, melynek kiírattuk az értékét a negyedik sorban.
PHP komment, megjegyzés
Most, hogy megírtuk az első PHP kódunkat, éppen itt az ideje megtanulni kommentelni.
A kommentekre, más szóval megjegyzésekre azért van szükség, hogy feliratozni tudjuk a PHP kódunkat, azaz megjegyzéseket tudjunk fűzni egyes kódrészletekhez, hogy egyértelmű legyen mit és miért csináltunk. Elsőre úgy gondolná az ember, hogy miért feliratozzam a saját kódomat? De ha jobban belegondolunk és hónapokig fejlesztünk egy kódot, akkor nehéz lehet visszaemlékezni, hogy mit és miért csináltunk sok-sok nappal ezelőtt. Illetve akkor is óriási szolgálatot tesz, amikor egy másik fejlesztőtől veszünk át egy programot. Ilyenkor nem egy másik fejlesztő kódhalmazán kell kiigazodnunk, mert óriási segítséget nyújtanak az általa fűzött megjegyzések.
Szintaxis
// egysoros komment
# egysoros komment
/*
többsoros
komment
*/
Code language: PHP (php)
Példa
PHP kód
<!DOCTYPE html>
<html>
<body>
<?php
// ez egy egysoros komment, ami nem látszik a weboldalon
# ez egy egysoros komment, ami nem látszik a weboldalon
/*
többsoros
komment
*/
echo("Ez látszani fog a böngészőben.");
?>
</body>
</html>
Code language: HTML, XML (xml)
Eredmény
Ez látszani fog a böngészőben.Láthatjuk, hogy a kommentek nem jelennek meg a böngészőben, csak a kiechozott sor.
>> A kommentekről, megjegyzésekről itt olvashatsz bővebben PHP nyelv alatt. <<
PHP változók
Most indul az igazi móka, most jönnek egy picivel komplexebb dolgok. Mik azok a változók? A változók azt a célt szolgálják, hogy adatot tároljunk bennük. Leggyakrabban azért mentünk el valamit egy változóba, mert azt az értéket szeretnénk többször is felhasználni. Így a későbbiekben nem kell minden egyes alkalommal újból előállítanunk azt az értéket, szimplán csak elő kell szednünk a változónkból.
Vannak különböző szabályok, amelyeket be kell tartani a változók elnevezésekor PHP-ban, ezekkel most nem szeretnénk untatni titeket, hiszen lehetséges, hogy nagyon sokáig nem is futottok bele olyan hibába, hogy egy változó az elnevezése miatt nem működik, ezért akit érdekel a téma, az ide kattintva kaphat részletesebb információt róla.
Változó létrehozása (deklarálása) PHP-ban
Ahhoz, hogy egy változóval bármit kezdeni tudjunk, először deklarálnunk, azaz létre kell hoznunk.
Szintaxis
$VÁLTOZÓNÉV = VÁLTOZÓÉRTÉK;
Code language: PHP (php)
A létrehozást a fenti szintaxis segítségével tehetjük meg.
Példa változó létrehozásra PHP-ban
PHP kód
<?php
$szam = 5;
$karakter = 'A';
$szoveg = "Ez egy szöveg";
?>
Code language: HTML, XML (xml)
A létrehozásnak nincs szemmel látható eredménye, így fölösleges megmutatnunk, hogy a felhasználó képernyőjén mi jelenik meg. (Semmi.)
PHP változók kiíratása, értékének lekérdezése
Most hogy elkészítettük az első (pár) változónkat, épp itt az ideje, hogy kiírassuk őket.
Szintaktika
$VÁLTOZÓNÉV
Code language: PHP (php)
Példa kiíratásra PHP-ban
PHP kód
<code><?php
$szoveg = "Ez egy szöveg";
</code> echo $szoveg; // itt íratom ki a "szoveg" nevű változó tartalmát
<code>?><span style="font-family: Menlo, Consolas, monaco, monospace;"></span></code>
Code language: HTML, XML (xml)
Eredmény
Ez egy szöveg
Ezeken felül még rengeteg dolgot lehet végezni a változókkal: módosítani az értéküket, műveleteket végezni velük vagy törölni őket.
PHP tömbök
A tömb tulajdonképpen egy olyan speciális változó, amely egyidejűleg több elem tárolására képes. Angolul array-nek szoktuk nevezni és a sorszámukkal, indexükkel hivatkozunk rájuk.
A fenti ábra szerint kell elképzelni egy tömböt. Az ábra szerint a tömb neve a „nyelvek”, melynek első helyén a HTML van. A programozásban az első helyen lévő elem sorszáma a nulla. A második elemé az egy. A sorszám nullától indul. Ezeket a sorszámokat szoktuk indexnek nevezni. Ha azt mondjuk, hogy a nulladik indexű elemről beszélünk, akkor a „HTML”-re gondolunk. A tömb jelen pillanatban kettes indexig megy, ha szeretnék egy újabb elemet hozzáadni, akkor az a hármas sorszámú indexet kapná meg.
Akkor érdemes tömböt használnunk, amikor több összefüggő, egymással kapcsolatban álló adatunk van.
Vegyük például a PHP néhány verzióját, ezek a 7.3, a 7.4, a 8.0 és a 8.1.
Ha nem lennének tömbjeink, akkor ezeket az adatokat különböző változókban kellene tárolnunk. Ez így festene:
$verzio1 = 7.3;
$verzio2 = 7.4;
$verzio3 = 7.5;
$verzio4 = 8.0;
$verzio5 = 8.1;
Code language: PHP (php)
De az összefüggő adatokat teljesen fölösleges különálló változókban tárolni, ha tárolhatjuk őket egyetlen egy tömbben is. Tömböt használva a kódunk is jelentősen megrövidül és egyszerűsödik.
A fenti példa tömbként megvalósítva így néz ki:
$verziok = array(7.3, 7.4, 7.5, 8.0, 8.1);
Code language: PHP (php)
Tömb létrehozása PHP nyelvben
Most, hogy már tudjuk, hogy mik azok a tömbök, itt az ideje, hogy megismerkedjünk a létrehozásának mikéntjével.
Szintaxis
$TÖMBNÉV = array(TÖMBELEM1, TÖMBELEM2, TÖMBELEM3 ...);
Code language: PHP (php)
Példa tömb létrehozására PHP-ban
PHP kód
<?php
$verziok = array(7.3, 7.4, 7.5, 8.0, 8.1);
?>
Code language: HTML, XML (xml)
Megjegyzés: A tömblétrehozásnak alapvetően nincs kimeneti (output) értéke, azaz grafikusan semmi sem jelenik meg a képernyőn. Mindezek ellenére a háttérben létrejött a tömb.
Tömb elemeinek lekérdezése, kiíratása PHP-ban
Ha a tömbünkben már vannak elemek, akkor gyakran előforduló igény, hogy írassuk ki annak összes elemét, tartalmát. (Az elemek tömbhöz adásáról itt olvashatsz.)
Szintaktika
$TÖMBNÉV[TÖMBINDEX];
Code language: PHP (php)
Példa tömb elemének kiíratására PHP-ban
PHP kód
<code><?php
$verziok = array(7.3, 7.4, 7.5, 8.0, 8.1);
echo $verziok[0];
?></code>
Code language: HTML, XML (xml)
Eredmény
7.3
Természetesen ezen felül is rengeteg tömbművelet létezik még, amelyeket itt túl hosszas lenne tárgyalni, így akit bővebben érdekel a téma, az kattintson tovább.
PHP ciklusok
A ciklus (vagy iteráció) a programozás egyik alapvető eszköze, amely egy programrészlet ismételt végrehajtásáért felelős. Programozás során gyakran van olyan, hogy egy műveletet többször kell végrehajtanunk – például több felhasználó adatainak bekérése -, ilyenkor nincs szükség arra, hogy a bekérést megvalósító programrészletet annyiszor írjuk le, ahány felhasználó adatát szeretnénk megadni. Ilyen esetekre találták ki a ciklusokat, hiszen elegendő megadnunk, hogy az ismételendő műveleteket hányszor hajtsa végre, és a program annyiszor fogja végrehajtani.
Ciklusok fajtái:
- for – meghatározott számú alkalommal fut le
- foreach – annyiszor fut le, ahány elemű a tömb
- while – először leteszteli, hogy a feltétel igaz-e és addig hajtja végre a ciklusmagot, amíg a feltétel igaz
- do-while – először végrehajtja egyszer a ciklusmagot, majd utána addig hajtja végre újból, amíg a feltétel igaz
Ezek közül a két legalapvetőbb és leggyakrabban használt ciklus, a for és a while ciklus.
for ciklus
A For ciklus egy olyan ciklus, amelynél tisztában kell lennünk azzal, hogy hányszor kell a ciklusnak megismételnie a ciklusmagot. (Ciklusmagnak nevezzük azokat az utasításokat, amelyeket a ciklus futása során ismételten végrehajt.) Ez a tulajdonsága annak köszönhető, hogy három paramétere van, amelyek azért felelősek, hogy számolják hanyadszor fut le a ciklus.
Szintaxis
for (SZÁMLÁLÓ.INICIALIZÁLÁSA; SZÁMLÁLÓ.VIZSGÁLATA; SZÁMLÁLÓ.NÖVELÉSE) {
CIKLUSMAG
}
A számláló inicializálásánál adjuk meg a kezdőértéket, ez általában nulla. A számláló vizsgálatánál vizsgáljuk, meg hogy a számlálónk elérte-e már azt a küszöböt, ahol ki kell lépni a ciklusból. A számláló növelésénél pedig értelemszerűen a számláló értékét növeljük, hogy a ciklus következő ismétlésénél már egy újabb érték szerint tudjunk vizsgálni, hogy a ciklus elérte-e már a kilépéshez szükséges értéket. Ha nem gondoskodnánk a ciklus számlálójának növeléséről, akkor végtelen ciklusokba futhatnánk, amelynek köszönhetően a ciklus sosem érne véget.
Példa for ciklus használatára
PHP kód
<code><?php
</code> for ($szamlalo = 1; $szamlalo <= 10; $szamlalo++) {
echo $szamlalo . "<br>";
}
<code>?> </code>
Code language: HTML, XML (xml)
Eredmény
1
2
3
4
5
6
7
8
9
10
while ciklus
A while ciklus egy olyan ciklus, ahol ciklus mindaddig ismétli önmagát, amíg a feltétel igaz. Először megvizsgáljuk, hogy teljesül-e a feltétel és ha igen, akkor elkezdjük a ciklusmag végrehajtását.
Szintaktika
while (FELTÉTEL) {
CIKLUSMAG
}
Code language: JavaScript (javascript)
A while ciklus esetében nekünk kell külön gondoskodnunk a számláló inicializálásáról és léptetéséről. Hiszen ezek nélkül nagyon könnyen szaladhatnánk végtelen ciklusba.
Példa while ciklus használatára
PHP kód
<code> <?php
$szamok = array(2, 5, 7, 4, 9, 10);
</code> $szamlalo = 0;
while ($szamlalo < 6) {
echo $szamok[$szamlalo] . "<br>";
$szamlalo++;
}
<code>?></code>
Code language: HTML, XML (xml)
Eredmény
2
5
7
4
9
10
PHP elágazások
A programozásban akkor beszélünk elágazásról, amikor a továbbhaladás iránya valamilyen feltételtől függ. Azért is nevezzük feltételes utasításnak, mert a feltétel függvényében dől el, hogy milyen utasításokat fog végrehajtani a program.
A PHP-ban megtalálható elágazások:
- if
- if
- if…else
- if…elseif…else
- switch
if elágazás
Az if elágazás az egyik legalapvetőbb feltételes utasítás, alapértelmezetten csak egyetlen egy ága van, azaz ha igaznak bizonyul a feltétel, akkor belépünk az igaz ágra és ott megcsináljuk az elgondolt műveleteket, ha hamis, akkor szimplán átugorjuk az egész elágazást, hiszen nincs hamis ág.
Szintaktika
if (FELTÉTEL) {
// igaz ág utasításai
}
Code language: JavaScript (javascript)
Példa if elágazásra
PHP kód
<code><?php
$szam1 = 4;
$szam2 = 5;
if (($szam1 % 2) == 0) { // igaz lesz, ezért kiírja, hogy "Páros"
echo "$szam1 páros";
}
if (($szam2 % 2) == 0) { // hamis lesz, ezért nem ír ki semmit
echo "$szam2 páros";
}
?>
</code>
Code language: HTML, XML (xml)
Eredmény
$szam1 páros
A fenti példában kettő elágazást készítettünk, hogy lássátok mi történik abban az esetben, amikor teljesül a feltétel és mi történik, akkor amikor nem.
if…else elágazás
Az if elágazásunk kaphat egy hamis ágat is az else személyében. Ez azért nagyon jó, mert például a fenti példánál simán kitudtuk volna íratni azokat az eseteket is, amikor a szám páratlan.
Szintaxis
if (FELTÉTEL) {
// igaz ág utasításai
} else {
// hamis ág utasításai
}
Code language: JavaScript (javascript)
Példa else…if elágazásra
PHP kód
<code><?php
$szam1 = 4;
$szam2 = 5;
</code> if (($szam1 % 2) == 0) {
echo "$szam1 páros";
} else {
echo "$szam1 páratlan";
}
<code><span style="font-family: Menlo, Consolas, monaco, monospace;">
</span></code> if (($szam2 % 2) == 0) {
echo "$szam2 páros";
} else {
echo "$szam2 páratlan";
}
?><code><mark>
</mark></code>
Code language: HTML, XML (xml)
Eredmény
$szam1 páros
$szam2 páratlan
switch elágazás
A switch elágazás egy olyan feltételes utasítás, amelynél a vizsgált feltételt kifejezésnek fogjukk nevezni, majd megpróbáljuk megtippelni a lehetséges eredményeit a kifejezésnek. Egy példán elmagyarázva sokkal egyszerűbb lesz.
Szintaxis
switch (KIFEJEZÉS) {
case 1:
UTASÍTÁSOK;
break;
case 2:
UTASÍTÁSOK;
break;
case 3:
UTASÍTÁSOK;
break;
default:
UTASÍTÁSOK;
}
Code language: JavaScript (javascript)
A „KIFEJEZÉS” helyére írjuk a változó nevét, amelynek a lehetséges értékeit szeretnénk vizsgálni. A „case” szövegek után jönnek azok az értékek, amelyeket lehetségesként várunk, majd az utasítások helyére írjuk azt, amit az adott esetben szeretnénk művelni. A „break” jelzi a programnak, hogy az adott eset utasításai ebben a pontban értek véget. A legvégén van egy „default” utasítás, ami csak akkor lép életbe, ha a fent látható esetek közül egyik sem felelt meg a feltétel számára.
Példa swich-case elágazásra
PHP kód
<?php
echo "nyelv1: PHP -> ";
$nyelv1 = "PHP";
switch ($nyelv1) {
case "PHP":
echo "A kiválasztott nyelv a PHP.";
break;
case "JS":
echo "A kiválasztott nyelv a JS.";
break;
case "HTML":
echo "A kiválasztott nyelv a HTML.";
break;
default:
echo "Sem a PHP, sem a JS, sem a HTML nincs kiválasztva.";
}
echo "<br> nyelv2: CSS -> ";
$nyelv2 = "CSS";
switch ($nyelv2) {
case "PHP":
echo "A kiválasztott nyelv a PHP.";
break;
case "JS":
echo "A kiválasztott nyelv a JS.";
break;
case "HTML":
echo "A kiválasztott nyelv a HTML.";
break;
default:
echo "Sem a PHP, sem a JS, sem a HTML nincs kiválasztva.";
}<mark>
</mark>?>
Code language: HTML, XML (xml)
Eredmény
nyelv1: PHP -> A kiválasztott nyelv a PHP.
nyelv2: CSS -> Sem a PHP, sem a JS, sem a HTML nincs kiválasztva.
A fenti példában két switch-case esetet készítettünk el, az első azt hivatott szemléltetni, amikor az esetek között megtalálható a kifejezés értéke, a második pedig azt az esetet, amikor egyik case sem felel meg a feltételnek.