Η PHP είναι μια διερμηνευόμενη γλώσσα, που σημαίνει ότι εκτελεί απευθείας τον κώδικα που γράφεις.
Τα αρχεία κώδικα PHP είναι αρχεία κειμένου που περιέχουν μια ετικέτα ανοίγματος PHP, <?php, για να σηματοδοτήσουν την αρχή του κώδικα PHP.
Αν το αρχείο περιέχει μόνο κώδικα PHP, μπορείς να παραλείψεις την ετικέτα κλεισίματος ?>, που χρησιμοποιείται για να σηματοδοτήσει το τέλος του κώδικα PHP.
Δες την τεκμηρίωση της ετικέτας PHP για να μάθεις περισσότερα για την ετικέτα PHP.
<?php
// All PHP code goes here
// No closing tag required at the end
Για πιο εύκολη ανάγνωση, όλα τα παραδείγματα κώδικα παραλείπουν την ετικέτα ανοίγματος PHP <?php.
Στις ασκήσεις PHP όμως την έχουμε πάντα, οπότε δε χρειάζεται να την προσθέσεις μόνος σου.
Όλες οι εντολές, όπως οι εκχωρήσεις ή οι κλήσεις συναρτήσεων, πρέπει να τελειώνουν με ; για τον διαχωρισμό εντολών.
Το να παραλείπεις το ; (όπως στη JavaScript) δεν επιτρέπεται και προκαλεί συντακτικά σφάλματα.
Μάθε περισσότερα για τον διαχωρισμό εντολών στην τεκμηρίωση της PHP.
$message = "Success!"; // Statement correctly ends with `;`
$message = "I know JavaScript." // PHP Parse error: syntax error, [...]
Η PHP είναι μια γλώσσα προγραμματισμού με δυναμική τυποποίηση.
Οι τύποι των τιμών ελέγχονται μόνο όσο εκτελείται το πρόγραμμα.
Με τον τελεστή εκχώρησης =, μπορείς να εκχωρήσεις οποιονδήποτε τύπο τιμής σε οποιοδήποτε όνομα μεταβλητής.
Τα ονόματα των μεταβλητών πρέπει να ξεκινούν με το σύμβολο του δολαρίου $.
Για να εμβαθύνεις στις μεταβλητές, δες την τεκμηρίωση των μεταβλητών της PHP.
$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!";
Οι κυριολεκτικές τιμές και οι τιμές που είναι αποθηκευμένες σε μεταβλητές μπορούν να περαστούν σε συναρτήσεις. Όταν ορίζεις τα ορίσματα μιας συνάρτησης, δημιουργούνται νέες μεταβλητές για να κρατήσουν τις τιμές που περνούν μέσα.
// 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
Οι συναρτήσεις μπορούν να επιστρέφουν τιμές χρησιμοποιώντας τη λέξη-κλειδί return.
Οι τιμές προς επιστροφή μπορεί να είναι κυριολεκτικές, αποθηκευμένες σε μεταβλητές ή το αποτέλεσμα μιας εντολής.
function window_height()
{
$heightOffset = 10;
return 100 + $heightOffset;
}
Οι συναρτήσεις μέσα σε κλάσεις και στα στιγμιότυπά τους ονομάζονται μέθοδοι.
Για να καλέσεις μια μέθοδο, πριν από το όνομά της μπαίνει το στιγμιότυπο και το ->.
Ένα στιγμιότυπο κλάσης δημιουργείται με το new.
Οι μέθοδοι έχουν πρόσβαση στην ειδική μεταβλητή $this, η οποία αναφέρεται στο τρέχον στιγμιότυπο.
<?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
Θα εμβαθύνουμε στις συναρτήσεις και στις κλάσεις σε επόμενες ασκήσεις.
Ως βασική μορφή αποσφαλμάτωσης, η εκτύπωση τιμών και περιεχομένων μεταβλητών βοηθά να καταλάβεις τι συμβαίνει. Η PHP μπορεί να εκτυπώσει τιμές με:
echo $variable; για να εμφανίσεις μια συμβολοσειρά που αναπαριστά την τιμήprint $variable;, που είναι το ίδιο με το echo $variable;
var_dump($variable); για να δεις καλύτερα την τιμή, π.χ. τον τύπο που βλέπει η PHPΌταν χρησιμοποιείς echo ή print: Οι κενές συμβολοσειρές, το false και το null δε θα εμφανιστούν.
Και οι κλάσεις και τα στιγμιότυπα θα προκαλέσουν σφάλμα.
Χρησιμοποίησε τη var_dump() για να τα δεις.
Στον διαδικτυακό επεξεργαστή, η έξοδος που παράγεις εμφανίζεται μαζί με τα αποτελέσματα των test. Όταν χρησιμοποιείς τη γραμμή εντολών, η έξοδος εμφανίζεται ανακατεμένη με τον δείκτη προόδου πριν από τη σύνοψη των test.
Τα αρχεία είναι οι βασικές μονάδες οργάνωσης κώδικα στην PHP και σε πολλές άλλες γλώσσες. Για να δείξουμε το όνομα του αρχείου που πρέπει να κοιτάξεις σε ένα μπλοκ κώδικα, χρησιμοποιούμε ένα σχόλιο. Δε χρειάζεται ποτέ να προσθέσεις τέτοια σχόλια στα αρχεία σου:
<?php
// NameOfPhpFile.php
[...]
Κώδικας, συναρτήσεις και κλάσεις μπορούν όλα να βρίσκονται σε ένα μόνο αρχείο. Συνήθως όμως αυτού του είδους οι μονάδες κώδικα βρίσκονται σε ξεχωριστά αρχεία.
Συνηθισμένη πρακτική είναι να έχεις μία κλάση ανά αρχείο, με όνομα αρχείου που ταιριάζει με την κλάση.
<?php
// Calculator.php
class Calculator {
// ...
function add($x, $y)
{
return $x + $y;
}
}
Οι συναρτήσεις συνήθως ομαδοποιούνται σε αρχεία που περιγράφουν το κοινό τους θέμα.
<?php
// window_handling.php
function window_paint()
{
// ...
}
function window_size($width, $height)
{
// ...
}
function window_move($x, $y)
{
// ...
}
Και συχνά υπάρχουν αρχεία που περιέχουν εντολές για άμεση εκτέλεση, όπως ένα index.php που χρησιμοποιείται συνήθως ως σημείο εισόδου μιας διαδικτυακής εφαρμογής.
<?php
// index.php
$sum = add(1, 2);
// ...
Τα ονόματα των κλάσεων πρέπει να είναι όλα PascalCase.
Ανάλογα με το πρότυπο στυλ, τα ονόματα μεταβλητών, συναρτήσεων και μεθόδων μπορεί να είναι είτε camelCase είτε snake_case.
Τα ονόματα μπορούν να περιέχουν γράμματα a-zA-Z, αριθμούς 0-9 και κάτω παύλες _, αλλά δε μπορούν να ξεκινούν με αριθμό.
Τα σχόλια μίας γραμμής ξεκινούν με //, και ένα μπλοκ κειμένου μπορεί να περικλειστεί με /* και */ για να γίνει σχόλιο πολλών γραμμών.
// Single-line comment
/*
Multi-line comment
*/