Τι είναι η PHP;
Πρόκειτε για μία γενικής χρήσης γλώσσα προγραμματισμού, που τρέχει στον server και χρησιμοποιείται συνήθως για την δημιουργία ιστοσελίδων.
Για να τρέξουμε προγράμματα php θα χρειαστούμε:
- php
- web server
- database server
Για να έχουμε όλα αυτά και ακόμη περισσότερα αρκεί να εγκαταστήσουμε το πακέτο XAMPP (https://www.apachefriends.org/index.html).
Που μπαίνει
Μπορούμε να βάλουμε κώδικα php οπουδήποτε σε ένα αρχείο HTML αρκεί να βρίσκεται ανάμεσα σε <?php και ?> και η κατάληξη του αρχείου να είναι .php.
Για να φτιάξουμε το πρώτο μας πρόγρμμα σε php θα κάνουμε τα ακόλουθα:
- Πάμε στον φάκελο C:\xampp\htdocs
- Δημιουργούμε νέο φάκελο με όνομα helloWorld και μέσα σε αυτόν ένα αρχείο με όνομα page1.php που περιέχει τον κώδικα που ακολουθεί.
PHP - Hello, World!
Αν πάμε στην ιστοσελίδα http://localhost/php_projects/page1.php θα εμφανιστεί το ακόλουθο:
και έαν δούμε τον κώδικα της τότε αυτός θα είναι :
PHP - Hello, World!
Hello, World!
Γενικές Παρατηρήσεις
- Κάθε εντολή καλό είναι να έχει στο τέλος ;. Μπορούμε να έχουμε πολλές εντολές στην ίδια γραμμή αρκεί να παρεμβάλεται ; ανάμεσα τους. Παράδειγμα : a = 1; b = 2; s = a + b
- Για σχόλια μιας γραμμής πληκτρολογούμε στην αρχή το σύμβολο // . Για περισσότερες γραμμές πληκτρολογούμε /* στην αρχή της πρώτης γραμμής και */ στο τέλος της τελευταίας.
- Πολλά διαδοχικά κενά αντιμετωπίζονται από την PHP ως ένα. Τα πολλά κενά μπορούν να κάνουν τον κώδικα πιο ευανάγνωστο για εμάς.
- Για την ομαδοποίηση εντολών χρησιμοποιούνται άγκιστρα { }.
- Για κείμενο χρησιμοποιούνται μονά ή διπλά εισαγωγικά.
Μεταβλητές
- Τα ονόματα των μεταβλητών πρέπει να ξεκινούν με $. Ο δεύτερος χαρακτήρας πρέπει να είναι γράμμα ή κάτω παύλα. Από τον τρίτο πειτρέπονται και αριθμοί.
- Μία μεταβλητή που θέλουμε να περιλαμβάνει περισσότερες από μία λέξεις θα πρέπει να γράφεται χωρίς κενά και το πρώτο γράμμα κάθε λέξεις να γράφεται με κεφαλαία γράμματα π.χ. toOnoma ή ToOnoma.
- Δεν δηλώνονται οι μεταβήτές.
- Γίνεται διάκριση πεζών και κεφαλαίων. Οι μεταβλητές myage και MyAge διαφέρουν.
Υπάρχουν 8 τύποι δεδομένων
Επτά primitive (χρησιμοποιούνται για αποθήκευση ενός δεδομένου) τύποι δεδομένων:
- Number (Ακέραιοι και δεκαδικοί) στο διάστημα [-9007199254740991, 9007199254740991]. Υπάρχουν 3 ιδιαίτεροι αριθμοί : Infinity (∞), -Infinity (-∞) και NaN (αποτέλεσμα μιας πράξης που δεν ορίζεται π.χ. “α”/2). Επιτρέπεται η χρήση του συμβόλου της κάτω παύλας (_) ώστε οι αριθμοί να είναι πιο ευανάγνωστοι.
- Bigint για εξαιρετικά μεγάλους αριθμούς. Για να δηλώσουμε έναν ακέραιο ως BigInt βάζουμε στο τέλος το n.
- String δηλ κείμενο. Μπορούμε να χρησιμοποιήσουμε είτε μονά είτε διπλά εισαγωγικά. Δεν υπάρχει καμία διαφορά μεταξύ τους. Υπάρχει ένα είδος εισαγωγικού, το ` (Backticks) το οποίο χρησιμοποιείται όταν το κείμενο που θέλουμε να εμφανίσουμε έχει μονά ή διπλά εισαγωγικά. Τέλος, αν θέλουμε να ενσωματώσουμε στο κείμενο μια μεταβλητή ή έκφραση θα πρέπει να χρησιμοποιήσουμε ${ } όπου μέσα στο άγκιστρο μπάινει η μεταβλητή ή έκφραση.
- Boolean. true/false.
- Null. Χρησιμοποιείται όταν δεν υπάρχει τιμή.
- undefined . Η τιμή μιας μεταβλητής που έχει δηλωθεί αλλά δεν της έχει εκχωρηθεί κάποια τιμή.
- symbol for unique identifiers.
Ενός non-primitive (χρησιμοποιούνται για αποθήκευση πολλών δεδομένων μαζί) τύπου δεδομένων:
- Αντικείμενα.
let x;
x = 6;
// εάν έχουμε περισσότερες από μια μεταβλητές μπορούμε να τις βάλουμε μαζί.
let x = 6, y="Μαρία";
alert( 1 / 0 ); // Infinity
alert( Infinity ); // Infinity
alert( "α" / 2 ); // NaN, δεν ορίζεται διαίρεση κειμένου με αριθμό.
let m = 346_7124_152;
// το "n" σημαίνει οτι είναι BigInt
const megalos = 1234567890123456789012345678901234567890n;
// Μονά και διπλά εισαγωγικά εμφανίζονται κανονικά
alert(`T' όνομα του είναι "Νίκος"`);
// ενσωμάτωση μεταβλητής
let x="σας"
alert( `Καλημέρα ${x}!` ); // Καλημέρα σας!
// ενσωμάτωση έκφρασης
alert( `Το άθροισμα είναι: ${1 + 2}` ); // Το άθροισμα είναι: 3
let tipota;
alert(tipota); // undefined. Η μεταβλητή δεν έχει τιμή.
Τελεστές
- Αριθμητικοί: + , – , * , / , % (υπόλοιπο διαίρεσης δηλ το mod), ++, —
- Εκχώρησης : += , -= , *= , /= , %= . (Παράδειγμα: x+=y είναι το ίδιο με x=x+y)
- Συγκρητικοί: ==, === (ίδια τιμή και ίδιος τύπος), !=, !== (διαφορετική τιμή ή διαφορετικός τύπος), >,>=,<,<=, ?
- Λογικοί: &&, ||, !
Συναρτήσεις
Η γενική τους μορφή είναι:
function όνομα (παράμετρος1, παράμετρος2, παράμετρος3) {
εντολές;
}
Function Declaration
let όνομα = function(παράμετρος1, παράμετρος2, παράμετρος3) {
εντολές;
};
Function Expressions
let όνομα = (παράμετρος1, παράμετρος2, παράμετρος3) => έκφραση;
// Ισοδύναμα μπορεί να γραφεί
function όνομα (παράμετρος1, παράμετρος2, παράμετρος3) {
return έκφραση;
}
//αν έχουμε μια παραμετρο τότε οι () μπορούν να παραληφθούν
let όνομα = παράμετρος1 => έκφραση;
//αν δεν έχουμε παραμετρους τότε μπαίνουν ()
let όνομα = () => έκφραση;
// Αν θέλουμε η συνάρτση να έχει πολλές εντολές τότε χρειάζονται {} και return
let όνομα = (παράμετρος1, παράμετρος2, παράμετρος3) => {
εντολές;
return έκφραση;
};
Arrow Functions
- Μία μεταβήτή που έχει δηλωθεί μέσα σε συνάρτηση είναι ορατή μόνο μέσα σε αυτή.
- Μια μεταβλητή που έχει δηλωθεί έξω από συνάρτηση είναι προσβάσιμη και μέσα σε αυτή.
- Αν μια μεταβλητή έχει δηλωθεί και μέσα και έξω από μια συνάρτηση τότε υπερισχύει η “μέσα”.
Δομή Επιλογής
Η γενική τους μορφή είναι:
switch (age) {
case 18:
εντολές;
case 29:
εντολές;
default:
εντολές;
}
Δομή Επανάληψης
Η γενική τους μορφή είναι:
while (condition) {
...
}
do {
...
} while (condition);
for(let i = 0; i < 10; i++) {
...
}
Αντικείμενα
Η γενική τους μορφή είναι:
let πελάτης = {
όνομα: "Νίκος", //key:value
ηλικία: 30
};
// προσθήκη
πελάτης.τηλέφωνο="69100000";
// Διαγραφή
delete πελάτης.τηλέφωνο;
Πίνακες (Array)
Χρησιμοποιούμε πίνακες όταν θέλουμε να φτιάξουμε μία ομάδα από δεδομένα στα οποία υπάρχει μια σειρά δηλ. πρώτο, δεύτερο τρίτο κλπ. Δεν είναι υποχρεωτικά τα δεδομένα να είναι του ιδιίου τύπου.
let πίνακας = [ 'Μήλο', { όνομα: 'Νίκος' }, true, function() { alert('hello'); } ];
Ας δούμε μερικές από τις πιο χρήσιμες μεθόδους:
- pop() αφαιρεί το τελευταίο στοιχείο και το επιστρέφει.
- push() προσθέτει ένα ή περισσότερα στοιχεία στο τέλος.
- shift() αφαιρεί το πρώτο στοιχείο και το επιστρέφει.
- unshift() προσθέτει ένα ή περισσότερα στοιχεία στην αρχή του πίνακα.
- Length()
let πίνακας = [ 'Μήλο', { όνομα: 'Νίκος' }, true, function() { alert('hello'); } ];
Ασκήσεις
- xxxxxxxxxxx
- xxxxxxxxxxxxxxxxxxxx