A PHP értelmezett nyelv, ami azt jelenti, hogy közvetlenül futtatja a megírt kódot.
A PHP-kódfájlok olyan szöveges fájlok, amelyek egy <?php nyitó taget tartalmaznak a PHP-kód kezdetének jelölésére.
Ha a fájl csak PHP-kódot tartalmaz, elhagyható a ?> záró tag, amely a PHP-kód végét jelöli.
A PHP tagről bővebben a PHP tag dokumentációjában olvashatsz.
<?php
// All PHP code goes here
// No closing tag required at the end
A könnyebb olvashatóság érdekében a példákból elhagyjuk a <?php nyitó taget.
A PHP-feladatokban viszont mindig ott van, így neked nem kell hozzáadnod.
Minden utasítást, például az értékadásokat és a függvényhívásokat, ;-vel kell lezárni az utasítások elválasztásához.
A ; elhagyása (mint JavaScriptben) nem megengedett, és szintaktikai hibát okoz.
Az utasítások elválasztásáról bővebben a PHP dokumentációjában olvashatsz: utasítások elválasztása.
$message = "Success!"; // Statement correctly ends with `;`
$message = "I know JavaScript." // PHP Parse error: syntax error, [...]
A PHP dinamikusan típusos programozási nyelv.
Az értékek típusát csak futás közben ellenőrzi.
Az értékadó = operátorral bármilyen értéktípus hozzárendelhető bármelyik változónévhez.
A változóneveknek dollár ($) jellel kell kezdődniük.
Ha mélyebben szeretnél elmerülni a változókban, nézd meg a PHP változók dokumentációját.
$count = 1; // Assign an integer value of 1
$count = 2; // Re-assign a new value to the variable
$count = false; // You may assign any value type
// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";
A függvényeknek átadhatók literálértékek és változókban tárolt értékek is. A függvény argumentumainak definiálásakor új változók jönnek létre, amelyek a beérkező értékeket tárolják.
// Declare the window_width function
function window_width($width)
{
echo $width; // Access the value passed into the function as $width
// ...
}
window_width(100); // Call the function with the literal value 100
$newWidth = 100;
window_width($newWidth); // Call the function with the value stored in $newWidth
A függvények a return kulcsszóval adhatnak vissza értékeket.
A visszaadott érték lehet literál, változóban tárolt érték vagy egy utasítás eredménye.
function window_height()
{
$heightOffset = 10;
return 100 + $heightOffset;
}
Az osztályokon belüli függvényeket és azok példányokon keresztül elérhető megfelelőit metódusoknak nevezzük.
Egy metódus hívásakor a neve előtt a példány és a -> áll.
Egy osztálypéldány a new művelettel jön létre.
A metódusok hozzáférnek a speciális $this változóhoz, amely az aktuális példányra mutat.
<?php
// Calculator.php
class Calculator {
// ...
public function sub($x, $y)
{
return $this->add($x, -$y); // Calls the method add() of the current instance
}
public function add($x, $y)
{
return $x + $y;
}
}
$calculator = new Calculator(); // Creates a new instance of Calculator class
$calculator->sub(3, 1); // Calls the method sub() of the instance stored in $calculator
// => 2
A függvényekről és az osztályokról a későbbi feladatokban mélyebben is szót ejtünk.
A hibakeresés egy egyszerű formájaként az értékek és a változók tartalmának kiírása segít megérteni, mi történik. A PHP a következő módokon tud értékeket kiírni:
echo $variable;, amivel az érték stringként megjelenített formáját írhatod kiprint $variable;, ami ugyanazt csinálja, mint az echo $variable;
var_dump($variable);, amivel részletesebben megnézheted az értéket, például azt, hogy milyen típusúnak látja a PHPAz echo és a print használatakor: az üres stringek, a false és a null nem jelennek meg.
Az osztályok és a példányok esetében pedig hibát kapsz.
Ha ezeket is látni szeretnéd, használd a var_dump()-ot.
Az online szerkesztőben az általad előállított kimenet a teszteredményekkel együtt jelenik meg. Amikor a CLI-t használod, a kimenet a folyamatjelzővel keveredve jelenik meg a tesztek összegzése előtt.
A fájlok a kódszervezés alapegységei a PHP-ban és sok más nyelvben. Ha egy kódblokkban meg szeretnénk adni, melyik fájlt nézzük, egy kommentet használunk. Az ilyen kommenteket soha nem kell hozzáadnod a fájljaidhoz:
<?php
// NameOfPhpFile.php
[...]
Kód, függvények és osztályok mind szerepelhetnek egyetlen fájlban. De általában az ilyen kódegységek külön fájlokban vannak.
Általánosan bevett gyakorlat, hogy fájlonként egy osztály szerepel, és a fájl neve megegyezik az osztályéval.
<?php
// Calculator.php
class Calculator {
// ...
function add($x, $y)
{
return $x + $y;
}
}
A függvényeket általában a közös témájukat leíró fájlokba csoportosítjuk.
<?php
// window_handling.php
function window_paint()
{
// ...
}
function window_size($width, $height)
{
// ...
}
function window_move($x, $y)
{
// ...
}
És gyakran vannak olyan fájlok, amelyek közvetlenül végrehajtandó utasításokat tartalmaznak, például egy index.php, amelyet általában egy webalkalmazás belépési pontjaként használnak.
<?php
// index.php
$sum = add(1, 2);
// ...
Az osztálynevek mind PascalCase stílusban írandók.
A stílusszabványtól függően a változók, a függvények és a metódusok nevei lehetnek camelCase vagy snake_case formában.
A nevek tartalmazhatnak betűket (a-zA-Z), számokat (0-9) és aláhúzásjeleket (_), de nem kezdődhetnek számmal.
Az egysoros kommentek //-vel kezdődnek, egy szövegblokkot pedig /* és */ közé zárva több soros kommentté alakíthatsz.
// Single-line comment
/*
Multi-line comment
*/