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.

PHP alapok (PHP webprogramozás alapjai kezdőknek) című cikk borítóképe

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.

>> Itt még részletesebben olvashatsz arról, hogy mi is az a PHP, illetve arról, hogy pontosan mire is használjuk. <<

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


>> Még több ingyenes és fizetős kódszerkesztőről és IDE-ről olvashatsz itt, melyekhez leírásokat is társítottunk, hogy könnyebb legyen választani. <<

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.

Hogyan kommenteljünk PHP-ban?


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


Szintaxis:

$VÁLTOZÓNÉV = VÁLTOZÓÉRTÉK;
Code language: PHP (php)


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.

>> Ha szeretnél további műveleteket látni változókkal, illetve megismerkedni a konstanssal, akkor kattints ide. <<

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.

JavaScript (JS) és PHP tömbök során használatos indexek magyarázata szemléletes példával, grafikával

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

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

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.

>> Tömbelem felülírásáról, új tömbelem hozzáadásáról, tömb hosszának megállapításáról, illetve az összes tömbelem kiíratásáról itt olvashatsz. <<

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


>> A fent említett és a maradék két ciklusfajtáról, a foreach-ről és a do-while-ról ezen a linken olvashatsz részletesebben. <<

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.

>> A nem tárgyalt elseif-ről, illetve a fent említett elágazásokról is rendkívül részletesen olvashatsz, ha ide kattintasz. <<

Ha hasznos volt számodra, akkor kérlek oszd meg másokkal is, hogy ezzel támogass minket!