Παρουσίαση PHP. Μιχάλης Ζήσης GreekLUG



Σχετικά έγγραφα
Τεχνικός Εφαρμογών Πληροφορικής

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

JAVASCRIPT 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

2.1. Εντολές Σχόλια Τύποι Δεδομένων

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

for for for for( . */

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

Τεχνικός Εφαρμογών Πληροφορικής

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Διαδικασιακός Προγραμματισμός

Εισαγωγή στην Αριθμητική Ανάλυση

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Αντώνης Χρυσόπουλος Κατερίνα Κυπριώτη Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ PHP. PHP 2: The Return of PHP Η Δευτέρα Παρουσίαση

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Τεχνικός Εφαρμογών Πληροφορικής

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

Διαδικασιακός Προγραμματισμός

ΗΥ-150. Προγραμματισμός

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Υπολογισμός - Εντολές Επανάληψης

ΕΠΛ 012. JavaScripts

Δομές ελέγχου ροής προγράμματος

ιαδικαστικός Προγραμματισμός

Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Ιστορία της PHP

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Προγραμματισμός Ι (HY120)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΗΥ-150. Προγραμματισμός

3 ο Εργαστήριο Μεταβλητές, Τελεστές

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού

Αντικειμενοστρεφής Προγραμματισμός

Στοιχειώδης προγραμματισμός σε C++

Δομημένος Προγραμματισμός (ΤΛ1006)

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C


ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

3 Αλληλεπίδραση Αντικειμένων

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Ενδεικτική περιγραφή μαθήματος

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Προγραμματισμός ΗΥ και Υπολογιστική Φυσική. Χρήστος Γκουμόπουλος

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ικτυακά Πολυμέσα Ι (Β Έτος, 3ο εξ) ιάλεξη #8η: Javascript: Τεχνικές εντοπισμού/διόρθωσης λαθών, τελεστές, δομές ελέγχου, βρόχοι επανάληψης

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

Περιεχόμενα. Πρόλογος...11

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Η βασική συνάρτηση προγράμματος main()

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

Γλώσσα Προγραμματισμού C

Όταν το πρόγραμμα φτάσει σε αυτή την εντολή και ο καταχωρητής PINA έχει την τιμή

ΠΡΟΣΟΧΗ: Οι απαντήσεις πολλαπλής επιλογής µόνο πάνω στο ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

Δρ. Δημήτριος Α. Κουτσομητρόπουλος. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Α.Τ.Ε.Ι. Πάτρας

Εισαγωγή στο PHP. Τί είναι το PHP. Σταύρος Πολυβίου

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ

Εισαγωγή στη γλώσσα προγραμματισμού C++

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Προγραμματισμός Ι (ΗΥ120)

Φύλλο Εργασίας 3. Μια γρήγορη επανάληψη από τα προηγούμενα

ΤΕΙ Σερρών Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πληροφορικής & Επικοινωνιών. Επώνυμο Όνομα: Α.Μ. : Εξάμηνο : Αίθουσα

Αντικειµενοστρεφής Προγραµµατισµός

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

8. Συνθήκες ελέγχου, λογικοί τελεστές

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Η γλώσσα προγραμματισμού EEL

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Transcript:

Παρουσίαση PHP Μιχάλης Ζήσης GreekLUG

PHP Λίγα λόγια... Η PHP είναι μιας γενικής χρήσης Γλώσσα Προγραμματισμού για δημιουργία δυναμικού περιεχομένου PHP σημαίνει... PHP Hypertext Preprocessor Τρέχει σε συνδιασμό με κάποιον διακομιστή web, πχ Apache Τα PHP scripts εκτελούνται στον server και όχι στον client Παράγει συνήθως κώδικα HTML που φτάνει στον client Μπορεί να εκτελεστεί σε διάφορα ΛΣ, όπως GNU/Linux, Windows Συνδιάζεται με διάφορα συστήματα βάσεων δεδομένων, όπως MySQL, Oracle, PostgreSQL, ODBC Δεν κοστίζει τίποτα, είναι ελεύθερη για λήψη και χρήση Επίσημη ιστοσελίδα: http://php.net/

PHP Τι μπορεί να κάνει; Η PHP μπορεί... να παράγει δυναμικό περιεχόμενο σελίδων να δημιουργήσει, να ανοίξει, να διαβάσει, να γράψει, να διαγράψει και να κλείσει αρχεία στο διακομιστή να συλλέξει/διαχειριστεί δεδομένα φόρμας να στείλει και να λάβει cookies να προσθέσει, να διαγράψει, να τροποποιήσει πληροφορίες σε βάση δεδομένων να περιορίσει τους χρήστες ώστε αυτοί να έχουν πρόσβαση σε ορισμένες σελίδες στην ιστοσελίδα σας να κρυπτογραφήσει δεδομένα Με την PHP δεν είστε περιορισμένοι να εξάγετε HTML κώδικα. Μπορείτε να εξάγετε εικόνες, αρχεία PDF, ακόμη και αρχεία Flash. Μπορείτε επίσης να εξάγετε οποιοδήποτε κείμενο σε XHTML και XML.

PHP Πως ξεκινάω; Για να αρχίσετε να χρησιμοποιείτε την PHP, χρειάζεται... μια web φιλοξενία με υποστήριξη PHP ή έναν διακομιστή web server ακόμα και στον δικό σας υπολογιστή, όπου μπορείτε να εγκαταστήσετε την PHP και MySQL (πχ XAMPP) Να δημιουργήσετε κάποια αρχεία php στον ριζικό κατάλογο του διακομιστή web και ο server θα τα εκτελέσει αυτόματα για εσάς Δεν χρειάζεται να κάνετε compile κάτι ή να εγκαταστήσετε επιπλέον λογισμικό web. Να έχετε στον Η/Υ σας έναν απλό επεξεργαστή κειμένου, ή κάποιον επεξεργαστή κώδικα, όπως το Geany, Notepad++

LAMP Ο όρος LAMP είναι ένα αρκτικόλεξο για μια στοίβα web υπηρεσιών που αποτελείται από το GNU/Linux, τον Apache HTTP Server, την MySQL βάση δεδομένων και την PHP. Σε σύγχρονες παραφράσεις το P αναφέρεται και στις γλώσσες προγραμματισμού Perl ή Python. Όλα τα συστατικά είναι δωρεάν και εργαλεία ελεύθερου λογισμικού / λογισμικού ανοιχτού κώδικα, και ο συνδυασμός τους αποτελεί την δημοφιλέστερη λύση για τη δημιουργία δυναμικών ιστοσελίδων.

Γενική λειτουργία H/Y Αίτημα για domain.gr GNU/Linux Διακομιστής Web Πελάτης/Browser hello.php Επιστρέφει το αποτέλεσμα HTML

PHP Γενικά στοιχεία Τα αρχεία της php έχουν κατάληξη.php,.php4,.php5 Αποθηκεύονται και εκτελούνται στον διακομιστή web O πελάτης/browser δεν έχει πρόσβαση σε αυτά αλλά στο παραγόμενο αποτέλεσμα Τα αρχεία περιέχουν κατά βάση κώδικα HTML, CSS, Javascript, όπου παρεμβάλλεται κώδικας php Δεν χρειάζεται να κάνετε compile κάτι ή να εγκαταστήσετε επιπλέον λογισμικό, τα αρχεία εκτελούνται από τον διακομιστή web

PHP Ιστορία Ι Η ανάπτυξη της PHP άρχισε το 1994, όταν ο Rasmus Lerdorf έγραψε μια σειρά από Common Gateway Interface (CGI) script σε γλώσσα Perl, τα οποία χρησιμοποίησε στην προσωπική του ιστοσελίδα. Τα εργαλεία εκτελούσαν εργασίες, όπως η εμφάνιση βιογραφικό του και την καταγραφή της κυκλοφορίας ιστοσελίδα του. Στην συνέχεια έγραψε εκ νέου αυτά τα script σε γλώσσα C για λόγους απόδοσης αλλά και τους πρόσθεσε τη δυνατότητα να συνεργάζονται με web φόρμες και να επικοινωνούν με βάσεις δεδομένων, δίνοντας το όνομα "Personal Home Page/Forms Interpreter" ή PHP/FI. Ανακοίνωσε δημοσίως την κυκλοφορία του PHP/FI ως "Personal Home Page Tools (PHP Tools) version 1.0" δημοσίως στις 8 Ιουνίου, 1995. Η αρχική PHP δεν επρόκειτο να είναι μια νέα γλώσσα προγραμματισμού, και μεγάλωσε σταδιακά, με τον Lerdorf να επισημαίνει εκ των υστέρων ότι δεν είχε ποτέ καμία πρόθεση να γράψει μια γλώσσα προγραμματισμού και ότι απλώς συνέχισε στο επόμενο λογικό βήμα στο δρόμο ανάπτυξης. Μια ομάδα ανάπτυξης άρχισε να σχηματίζεται και, μετά από μήνες εργασίας και δοκιμών beta, κυκλοφόρησε επίσημα η PHP/FI 2 τον Νοέμβριο του 1997.

PHP Ιστορία ΙΙ Μια από τις επικρίσεις κατά της PHP είναι ότι δεν είχε σχεδιαστεί αρχικά, αλλά αντίθετα αναπτύχθηκε οργανικά και αυτό έχει οδηγήσει σε ασυνεπή ονοματοδοσία των λειτουργιών και των παραμέτρων τους. Οι Zeev Suraski και Andi Gutmans ξαναέγραψαν τον parser της PHP το 1997 που αποτέλεσε τη βάση της PHP 3, αλλάζοντας το όνομά της γλώσσας με το αναδρομικό ακρωνύμιο PHP:. Hypertext Preprocessor και η οποία εκδώθηκε τον Ιούνιο 1998. Οι Suraski και Gutmans προχώρησαν στη συνέχεια στο να ξαναγράψουν τον πυρήνα της PHP, με αποτέλεσμα το να παράγουν το Zend Engine το 1999, το οποίο και αποτέλεσε τη βάση της PHP 4. Τον Ιούλίο του 2004, κυκλοφόρησε η PHP 5, που τροφοδοτείται από το νεότερο Zend Engine II και περιλαμβάνει νέα χαρακτηριστικά, όπως βελτιωμένη υποστήριξη για τον αντικειμενοστραφή προγραμματισμό, τις επεκασεις αντικείμενων PHP Data (POP) και πολλές βελτιώσεις επιδόσεων. [21] Το 2008, η PHP 5 έγινε η μόνη σταθερή έκδοση υπό ανάπτυξη, με αρκετές υποεκδόσεις που συνεχίζουν ως σήμερα.

PHP Σήμερα Υπάρχουν τρεις ενεργές εκδόσεις που υποστηρίζονται: PHP 5.3.x 5.3.28 ως τον Ιούλιο του 2014 PHP 5.4.x 5.4.30 ως τον Μάρτιο του 2015 PHP 5.5.x 5.5.14 ως τον Ιούνιο του 2016 Στους περισσότερους νέους διακομιστές σήμερα η εγκατεστημένη έκδοση είναι η 5.4.x.!ΣΗΜΑΝΤΙΚΟ! Κάθε από μία τις παραπάνω εκδόσεις έχει ένα σύνολο μεταβλητών και παραμέτρων. Κάθε εκδοσή έχει αλλαγές με αποτέλεσμα κάποιες μεταβλητές να έχουν καταργηθεί εντελώς (removed) και κάποιες να έχουν τεθεί προς κατάργηση (deprecated).

1. Βασική Σύνταξη PHP Ι Ένα PHP script μπορεί να τοποθετηθεί οπουδήποτε στο έγγραφο, ενώ ξεκινά με <?php και τελειώνει με?> <?php echo <p>καλησπέρα σας!</p> ;?> Μπορούμε να παρεμβάλουμε όσες φορές θέλουμε τον ίδιο κώδικα Ο κώδικας εκτελείται σειριακά, όπως διαβάζεται Οι περισσότερες εντολές τελειώνουν με ερωτηματικό ; Απαιτείται προσοχή με την σύνταξη για να αποφύγουμε πιθανά λάθη. Μερικά βοηθητικά σημεία: χρησιμοποιείτε εισαγωγικά, παρενθέσεις και αγκύλες σε ζεύγη προσοχή στα πεζά/κεφαλαία η PHP αγνοεί τα κενά

1. Βασική Σύνταξη PHP ΙΙ <html> <head><title>μ.α. ΕΛ/ΛΑΚ PHP</title></head> <body> <?php echo <p>καλησπέρα σας!</p> ;?> </body> </html> <html> <head><title>μ.α. ΕΛ/ΛΑΚ PHP</title></head> <body> <p>καλησπέρα σας!</p> </body> </html>

1. Βασική Σύνταξη PHP ΙΙΙ <html> <head><title> <?php echo Τίτλος σελίδας ;?> </title></head> <body> <?php echo <p>κυρίως κείμενο</p> ;?> </body> </html>

1. Βασική Σύνταξη PHP ΙV <html> <head><title>τίτλος σελίδας</title></head> <body> <p>κυρίως κείμενο</p> </body> </html>

2. Σχόλια στην PHP Ένα σχόλιο στον κώδικα PHP είναι μια γραμμή που δεν διαβάζεται / εκτελείται ως μέρος του προγράμματος. Μοναδικός σκοπός του είναι να διαβαστεί από κάποιον που επεξεργάζεται τον κώδικα! Τα σχόλια είναι χρήσιμα για: να μπορέσει κάποιος άλλος προγραμματιστής να καταλάβει τι κάνετε σε κάθε βήμα ως υπενθύμιση στον εαυτό μας του τι κάναμε Η PHP υποστηρίζει τρεις τρόπους σχολιασμού: <?php // Σχόλιο μίας γραμμής # Αυτό είναι επίσης σχόλιο μίας γραμμής /* Αυτό είναι ένα σχόλιο πολλαπλών γραμμών */?>

3. Γραφή Στην PHP, όλες οι λειτουργίες που ορίζονται από το χρήστη, οι κλάσσεις κατηγορίες και οι λέξεις-κλειδιά (π.χ. if, else, while, echo, κλπ) δεν είναι case-sensitive. Στο παρακάτω παράδειγμα, οι τρεις εντολές echo έχουν γραφεί σωστά: <?php ECHO "Καλημέρα!<br>"; echo "Καλημέρα!<br>"; EcHo "Καλημέρα!<br>";?> Ωστόσο, όλες οι μεταβλητές είναι case-sensitive. Στο παρακάτω παράδειγμα, μόνο η πρώτη δήλωση θα εμφανίσει την τιμή της μεταβλητής χρώματος $color: <?php $color="κόκκινο"; echo "Το καπέλο μου είναι ". $color. "<br>"; echo "Το σπίτι μου είναι ". $COLOR. "<br>"; echo "Το σκυλί μου είναι ". $color. "<br>";?>

4. Μεταβλητές Ι Οι μεταβλητές είναι «δοχεία» για την αποθήκευση πληροφοριών. Δεν υπάρχουν συγκεκριμένοι τύπου μεταβλητών πχ int, string αλλά μπορούν να αλλάξουν τιμές με νέα δήλωση Αρχίζουν με το σήμα του δολαρίου $ και ακολουθεί ένα όνομα που μπορεί να περιέχει γράμματα (A-z), αριθμoύς (0-9) και _ αλλά όχι άλλους ειδικούς χαρακτήρες όπως κενά, πχ $price_a1 Μια μεταβλητή δημιουργείται τη πρώτη στιγμή που ορίσετε μια τιμή για αυτήν <?php $txt="καλησπέρα σας!"; $x=5; $y=10.5;?> Κάθε τιμή μπορεί να είναι: int: 5, 9, 34, -18 float: 0.99, 3.14 string: Καλησπέρα, Κόκκινο 15 boolean: true, false arry: ["Volvo","BMW","Toyota"] object NULL

4. Μεταβλητές ΙΙ <?php $txt1 = Αγόρασα ; $a = 3; $b = 7; $sum = $a+$b; $txt2 = ποτήρια! ; echo $txt1; echo $sum; echo $txt2;?> Αγόρασα 10 ποτήρια!

4. Μεταβλητές ΙΙΙ <?php $txt = Αγόρασα ; echo $txt; $txt = 10; echo $txt;?> Τιμή string Τιμή int Αγόρασα 10

4. Μεταβλητές ΙV Στην PHP, οι μεταβλητές μπορούν να δηλωθούν οπουδήποτε στο script. Η χρήση των μεταβλητών καθορίζεται από το μέρος του script, όπου η μεταβλητή μπορεί να αναφέρεται/χρησιμοποιείται. Η PHP έχει τρεις διαφορετικές χρήσεις για τις μεταβλητές: local global static Μια μεταβλητή που θα δηλωθεί εκτός μιας συνάρτησης είναι για global χρήση και μπορεί να χρησιμοποιηθεί μόνο εκτός της συνάρτησης Μια μεταβλητή που θα δηλωθεί εντός μιας συνάρτησης είναι για local χρήση και μπορεί να χρησιμοποιηθεί μόνο εντός της συνάρτησης

4. Μεταβλητές V <?php $x=5; // χρήση global function vtest() { $y=10; // χρήση local echo "<p>μεταβλητές μέσα στην συνάρτηση:</p>"; echo "Η μεταβλητή x είναι: $x"; echo "<br>"; echo "Η μεταβλητή y είναι: $y"; } vtest(); echo "<p>μεταβλητές έξω από την συνάρτηση:</p>"; echo "Η μεταβλητή x είναι: $x"; echo "<br>"; echo "Η μεταβλητή y είναι: $y";?>

4. Μεταβλητές VΙ Μεταβλητές μέσα στην συνάρτηση: Η μεταβλητή x είναι: Η μεταβλητή y είναι: 10 Test variables outside the function: Η μεταβλητή x είναι: 5 Η μεταβλητή y είναι: Στο παραπάνω παράδειγμα υπάρχουν δύο μεταβλητές x και y και μία συνάρτηση vtest(). Η $x είναι μια global μεταβλητή αφού έχει δηλωθεί εκτός κάποιας συνάρτησης και η $y είναι μια local μεταβλητή, δεδομένου ότι δηλώθηκε μέσα στη συνάρτηση. Όταν τυπώνουμε τις τιμές των δύο μεταβλητών μέσα στη συνάρτηση vtest(), εμφανίζεται μόνο η τιμή της $y, καθώς η τιμή της $x, έχει δηλωθεί έξω από τη συνάρτηση. Αντίθετα εκτός της συνάρτησης vtest(), εμφανίζεται μόνο η τιμή της $x, καθώς η τιμή της $y, έχει δηλωθεί μέσα στη συνάρτηση.

4. Μεταβλητές VΙΙ Όταν μια συνάρτηση έχει ολοκληρωθεί/εκτελεστεί, το σύνολο των μεταβλητών της διαγράφονται. Ωστόσο, μερικές φορές θέλουμε μια local μεταβλητή να κρατήσει την τιμή της. Σε αυτή την περίπτωση, χρησιμοποιήστε την static λέξη-κλειδί κατά την δήλωση της μεταβλητή: <?php function vtest() { static $x=0; echo $x; $x++; } 0 1 2 vtest(); echo "<br>"; vtest(); echo "<br>"; vtest();?>

5. Λειτουργίες string I Διπλά εισαγωγικά αντικατάσταση <?php $a = σας ; echo Καλημέρα, $a! ; // δίνει Καλημέρα, σας!?> Μονά εισαγωγικά μη-αντικατάταση <?php $a = σας ; echo 'Καλημέρα, $a!'; // δίνει Καλημέρα, $a!?> Συνένωση με τον τελεστή τελεία. <?php $a = Καλημέρα ; $b = σας ; echo $a.,.$b; // δίνει Καλημέρα, σας!?>

6. Τελεστές Ι Αριθμητικοί Τελεστές: Τελεστής Λειτουργία Παράδειγμα Αποτέλεσμα $x=10 $y=6 + Πρόσθεση $x + $y 16 - Αφαίρεση $x - $y 4 * Πολλαπλασιασμός $x * $y 60 / Διαίρεση $x / $y 1.6666666666667 % Υπόλοιπο $x % $y 4

6. Τελεστές ΙΙ Ανάθεση τιμής: Ανάθεση Αποτέλεσμα Περιγραφή x = y x = y Ο πρώτος τελεσής ισούται με τον δεύτερο x += y x = x + y Πρόσθεση x -= y x = x - y Αφαίρεση x *= y x = x * y Πολλαπλασιασμός x /= y x = x / y Διαίρεση x %= y x = x % y Υπόλοιπο

6. Τελεστές ΙΙΙ Αλφαρηθμητικοί Τελεστές: Τελεστής Λειτουργία Παράδειγμα Αποτέλεσμα $x=10 $y=6. Αλληλουχία $txt1 = "Γεια" $txt2 = $txt1. " σας!" Το $txt2 περιέχει πλέον "Γεια σας!".= Ανάθεση αλληλουχίας $txt1 = "Γεια" $txt1.= $txt1. " σας!" Το $txt1 περιέχει πλέον "Γεια σας!"

6. Τελεστές ΙV Τελεστές αύξησης/μείωσης: Τελεστής Λειτουργία Περιγραφή ++$x Αύξηση πρίν Αυξάνει την $x κατά ένα, μετά επιστρέφει την $x $x++ Αύξηση μετά Επιστρέφει την $x, μετά αυξάνει την $x κατά ένα --$x Μείωση πρίν Μειώνει την $x κατά ένα, μετά επιστρέφει την $x $x-- Μείωση μετά Επιστρέφει την $x, μετά μειώνει την $x κατά ένα

6. Τελεστές V Τελεστές σύγκρισης: Τελεστής Λειτουργία Παράδειγμα Αποτέλεσμα == Ίσο $x == $y True, αν η $x ισούται με την $y === Ταυτόσημο $x === $y True, αν η $x ισούται με την $y και είναι ίδιου τύπου!= Μη ίσο $x!= $y True, αν η $x δεν ισούται με την $y <> Μη ίσο $x <> $y True, αν η $x δεν ισούται με την $y!== Μη Ταυτόσημο $x!== $y True, αν η $x δεν ισούται με την $y ή δεν είναι ίδιου τύπου > Μεγαλύτερο $x > $y True, αν η $x είναι μεγαλύτερη της $y < Μικρότερο $x < $y True, αν η $x είναι μικρότερη της $y >= Μεγαλύτερο ή ίσο $x >= $y True, αν η $x είναι μεγαλύτερη ή ίση της $y <= Μικρότερο ή ίσο $x <= $y True, αν η $x είναι μικρότερη ή ίση της $y

6. Τελεστές VI Λογικοί τελεστές: Τελεστής Λειτουργία Παράδειγμα Αποτέλεσμα and And $x and $y True, αν τόσο η $x όσο και η $y, είναι true or Or $x or $y True, αν είτε η $x είτε η $y, είναι true xor Xor $x xor $y True, αν είτε η $x είτε η $y, είναι true αλλά όχι και οι δύο && And $x && $y True, αν τόσο η $x όσο και η $y, είναι true Or $x $y True, αν είτε η $x είτε η $y, είναι true! Not!$x True, αν η $x δεν είναι true

7. Συνθήκες Ι Συνθήκη if χρησιμοποιείται για να εκτελέσει τον κώδικα, μόνο εάν ένας καθορισμένος όρος είναι αληθής. if (συνθήκη) { κώδικας που θα εκτελεστεί αν η συνθήκη είναι αληθής } $a = αληθής ; if ( $a == αληθής ) { echo 'Η $a είναι αληθής'; }

7. Συνθήκες ΙΙ Συνθήκη if...else χρησιμοποιείται για να εκτελέσει τον κώδικα, μόνο εάν ένας καθορισμένος όρος είναι αληθής και έναν άλλο κώδικα αν ο όρος δεν είναι αληθής if (συνθήκη) { κώδικας που θα εκτελεστεί αν η συνθήκη είναι αληθής } else { κώδικας που θα εκτελεστεί αν η συνθήκη δεν είναι αληθής } $a = αληθής ; if ( $a == αληθής ) { echo 'Η $a είναι αληθής'; } else { echo 'Η $a δεν είναι αληθής'; }

7. Συνθήκες ΙΙΙ Συνθήκη switch χρησιμοποιείται για να εκτελέσει διάφορες ενέργειες που βασίζονται σε διαφορετικές συνθήκες switch (παράσταση) { case τιμή1: κώδικας που θα εκτελεστεί αν η παράσταση=τιμή1; break; case τιμή2: κώδικας που θα εκτελεστεί αν η παράσταση=τιμή2; Break; default: κώδικας που θα εκτελεστεί αν η παράσταση είναι διαφορετική από όλες τις τιμές; } switch ($num) { case 5: echo Η num είναι 5 ; break; case 10: echo Η num είναι 10 ; break; case 15: echo Η num είναι 15 ; break; default: echo Η num δεν είναι 5,10 ή 15 ; }

8. Βρόχοι While I Συχνά, όταν γράφουμε κώδικα, θέλουμε το ίδιο κομμάτι του κώδικα να τρέξει ξανά και ξανά σε μια σειρά. Αντί για την προσθήκη αρκετών ίδιων γραμμών κώδικα, μπορούμε να χρησιμοποιούμε βρόχους για να εκτελέσουμε μια επαναλμβανόμενη εργασία. Στην PHP, έχουμε τις παρακάτω λειτουργίες while βρόχων: while, διέρχεται μέσω ενός μπλοκ του κώδικα, εφόσον η συνθήκη ελέγχου είναι αληθής do... while, διέρχεται μέσω ενός μπλοκ του κώδικα μια φορά, και στη συνέχεια επαναλαμβάνει το βρόχο όσο η συνθήκη ελέγχου είναι αληθής for, διέρχεται μέσω ενός μπλοκ του κώδικα ένα συγκεκριμένο αριθμό φορών foreach, διέρχεται μέσω ενός μπλοκ του κώδικα για κάθε στοιχείο σε array

8. Βρόχοι While II Βρόχος while εκτελεί ένα μπλοκ του κώδικα για όσο διάστημα η καθορισμένη συνθήκη είναι αληθής. while (συνθήκη) { κώδικας που θα εκτελεστεί αν η συνθήκη είναι αληθής } $i = 0; while ( $i < 5 ) { echo Γεια, σας! ; ++$i; } Γεια, σας! Γεια, σας! Γεια, σας! Γεια, σας! Γεια, σας!

8. Βρόχοι While III Βρόχος do...while εκτελεί ένα μπλοκ του κώδικα μια φορά, στη συνέχεια ελέγχει την συνθήκη και επαναλαμβάνει το βρόχο όσο η συνθήκη είναι αληθής. do { κώδικας που θα εκτελεστεί αν η συνθήκη είναι αληθής } while (συνθήκη); $i = 0; do { echo Γεια, σας! ; ++$i; } while ( $i <= 1 ); Γεια, σας! Γεια, σας!

9. Βρόχοι For I Συχνά, όταν γράφουμε κώδικα, θέλουμε το ίδιο κομμάτι του κώδικα να τρέξει ξανά για ένα συγκεκριμένο αριθμό φορών Στην PHP, έχουμε τις παρακάτω λειτουργίες for βρόχων: for, χρησιμοποιείται όταν γνωρίζoυμε εκ των προτέρων πόσες φορές πρέπει να εκτελεστεί ο βρόχος foreach, χρησιμοποιείται μόνο σε array και για να εμφανίσει μέσω κάθε ζεύγος κλειδιού/τιμής Βρόχος for for (αρχικοποίηση; συνθήκη; βήμα) { κώδικας που θα εκτελεστεί } for ( $i = 0; $i < 3; ++$i ) { echo Γεια, σας! ; } Γεια, σας! Γεια, σας! Γεια, σας!

9. Βρόχοι For IΙ Βρόχος foreach εκτελεί ένα μπλοκ του κώδικα μια φορά, στη συνέχεια ελέγχει την συνθήκη και επαναλαμβάνει το βρόχο όσο η συνθήκη είναι αληθής. foreach ($array as $value) { κώδικας που θα εκτελεστεί } $nums = array("01","02","03","05"); foreach ($nums as $value) { echo "$value <br>"; } 01 02 03 05

+. Break / Continue Εμφανίζονται μέσα σε βρόγχους: while do...while switch for foreach Break Διακόπτει την ροή εκτέλεσης και συνεχίζει εκτός του βρόχου Δεν γίνονται άλλες επαναλήψεις Continue Διακόπτει την ροή εκτέλεσης και συνεχίζει ελέγχοντας την συνθήκη του βρόχου Μπορεί να γίνουν και άλλες επαναλήψεις

10. Συναρτήσεις I Η πραγματική δύναμη της PHP προέρχεται από τις συναρτήσεις της που αριθμούν περισσότερες από 1000 ενσωματωμένες. Εκτός από τις ενσωματωμένες συναρτήσεις PHP, μπορούμε να δημιουργήσουμε τις δικές μας. Μία συνάρτηση είναι ένα σύνολο εντολών που μπορούν να χρησιμοποιηθούν κατ 'επανάληψη σε ένα πρόγραμμα. Μια συνάρτηση δεν εκτελείτε άμεσα αμέσως κατά μια φόρτωση της σελίδας. Μια συνάρτηση θα εκτελεστεί με βάση κάποια κλήση της. function functionname() { κώδικας που θα εκτελεστεί } <?php function writetxt() { echo "Καλησπέρα σας!"; } writetxt(); // κλήση της συνάρτησής μας?>

10. Συναρτήσεις II Πληροφορίες μπορούν να εισαγχθούν σε μια συνάρτηση μέσω ορισμάτων. Τα ορίσματα καθορίζονται μετά από το όνομα της συνάρτησης, μέσα στις παρενθέσεις. Μπορείτε να προσθέσετε όσο ορίσματα θέλετε, απλώς τα χωρίζετε με ένα κόμμα. function functionname($arg1,$arg2,$arg3,...) { κώδικας που θα εκτελεστεί } <?php function familyname($fname) { echo "$fname Νικολάου.<br>"; } familyname("γιάννης"); familyname("μαρία"); familyname("κώστας"); familyname("νατάσα");?>

10. Συναρτήσεις IΙI Μπορούμε να θέσουμε μια προκαθορισμένη τιμή σε ένα όρισμα ώστε αν δεν αποστείλουμε τιμή να λαμβάνει αυτή. function functionname($arg1=x.) { κώδικας που θα εκτελεστεί } <?php function setheight($minheight=50) { echo "Το ύψος είναι : $minheight <br>"; } setheight(150); setheight(); // θα χρησιμοποιήσει την προκαθορισμένη 50 setheight(90);?>

10. Συναρτήσεις IV Η συνάρτηση μπορεί επίσης να μας επιστρέφει κάποια τιμή. Αυτό γίνεται με την εντολή return. <?php function sum($x,$y) { $z=$x+$y; return $z; } echo "5 + 10 = ". sum(5,10). "<br>"; echo "7 + 13 = ". sum(7,13). "<br>"; echo "2 + 4 = ". sum(2,4);?>

11. Array I Ένα array αποθηκεύει πολλαπλές τιμές σε μία μοναδική μεταβλητή. Στην PHP, υπάρχουν τρεις τύποι των πινάκων: Array με δείκτες - Πίνακες με αριθμητικό δείκτη Associative array - Πίνακες με κλειδιά ονομάτων Πολυδιάστατα array - Πίνακες που περιέχουν μία ή περισσότερες συστοιχίες Array με δείκτες <?php $cars=array("volvo","bmw","toyota"); echo "Μου αρέσουν αυτοκίνητα μάρκας ". $cars[0]. ", ". $cars[1]. " and ". $cars[2]. ".";?> Μου αρέσουν αυτοκίνητα μάρκας Volvo, BMW, Toyota.

11. Array IΙ Associative array <?php $age=array("nikos"=>"35","kostas"=>"37","giorgos"=>"43"); echo "Ο Κώστας είναι ". $age['kostas']. " ετών.";?> <?php $age['nikos']="35"; $age['kostas']="37"; $age['giorgos']="43"; echo "Ο Κώστας είναι ". $age['kostas']. " ετών.";?>

12. Παγκόσμιες μεταβλητές Οι Superglobals εισήχθησαν στην PHP 4.1.0 και είναι ενσωματωμένες σε μεταβλητές που είναι πάντα διαθέσιμες γενικά, ανεξάρτητα από τον σκοπό του κώδικα - και μπορείτε να έχετε πρόσβαση σε αυτές από οποιαδήποτε λειτουργία, κλάση ή αρχείο χωρίς να χρειάζεται να κάνετε κάτι ιδιαίτερο. Οι superglobal PHP μεταβλητές είναι: $ GLOBALS $ _SERVER $ _REQUEST $ _POST $ _GET $ _FILES $ _ENV $ _COOKIE $ _SESSION

13. Χειρισμός φορμών I Χρησιμοποιούμε τις superglobals $_GET and $_POST για να συλλέξουμε δεδομένα μιας φόρμας. HTTP GET $_GET[ όνομα παραμέτρου ] HTTP POST $_POST[ όνομα παραμέτρου ] form.html <form action= form.php method= post > <input type= text name= txt /> <input type= submit value= Αποστολή /> </form> form.php <p>συμπλήρωσες το κείμενο... <?php echo $_POST[ txt ];?>! </p>

13. Χειρισμός φορμών II Πότε να χρησιμοποιείτε την GET; Οι πληροφορίες που στέλνονται από μια φόρμα με τη μέθοδο GET είναι ορατές σε όλους (όλα τα ονόματα των μεταβλητών και των τιμών που εμφανίζονται στο URL). Επίσης έχει όρια για τον όγκο των πληροφοριών σε περίπου 2000 χαρακτήρες. Ωστόσο, επειδή οι μεταβλητές εμφανίζονται στο URL, είναι δυνατόν η σελίδα να αποθηκευθεί ως σελιδοδείκτης που μπορεί να είναι χρήσιμο σε ορισμένες περιπτώσεις. Μπορεί να χρησιμοποιηθεί για την αποστολή μη ευαίσθητων δεδομένα. Πότε να χρησιμοποιείτε την POST; Οι πληροφορίες που στέλνονται από μια φόρμα με τη μέθοδο POST είναι αόρατο στους άλλους (όλα τα ονόματα / αξίες που προσαρμόζονται στο σώμα του αιτήματος HTTP) και δεν έχει όρια στην ποσότητα των πληροφοριών για την αποστολή. Επιπλέον η POST υποστηρίζει προηγμένες λειτουργίες, όπως το ανέβασμα αρχείων στο διακομιστή. Ωστόσο, επειδή οι μεταβλητές δεν εμφανίζεται στη διεύθυνση URL, δεν είναι δυνατόν να σελιδοδείκτη η σελίδα.