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

Σχετικά έγγραφα
Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

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

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

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

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

ΕΠΛ 012. JavaScripts

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

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

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

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

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

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java

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

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

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

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

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

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

Τύποι δεδομένων, τελεστές, μεταβλητές

Προγραμματισμός Η/Υ (ΤΛ2007 )

Εισαγωγή στην πληροφορική

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

ιαχείριση Πληροφοριών στο ιαδίκτυο

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

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

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

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

Ψευδοκώδικας. November 7, 2011

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

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

Εργαστήριο Εκπαιδευτικού Υλικού και Εκπαιδευτικής Μεθοδολογίας (Ε.Ε.Υ.Ε.Μ.)

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

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

for for for for( . */

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

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

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

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

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

Συστήματα Αναμονής (Queuing Systems)

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

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

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

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

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

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

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

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

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

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PASCAL

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

2ο σετ σημειώσεων. 1 Εντολές εκτέλεσης υπό συνθήκη. 19 Μαρτίου 2012

XAMPP Apache MySQL PHP javascript xampp

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

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

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

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

Πληρουορική Γ Γσμμασίοσ

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

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

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

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

Εισαγωγή στην πληροφορική

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

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

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

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

// MATHIMA 2, // s.boot; s.makewindow.boot; // boot server!

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

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

Βασικές Αρχές Προγραμματισμού

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

Ευφυής Προγραμματισμός

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 8 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

Προγραμματισμός Η/Υ (ΤΛ2007 )

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

Transcript:

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

Περιεχόμενα Τι είναι η PHP Που μπορεί να χρησιμοποιηθεί η PHP Τι χρειάζεται για την ανάπτυξη μιας εφαρμογής Οι τύποι δεδομένων, οι τελεστές, οι μεταβλητές και η εμβέλειά τους στην PHP Οι συναρτήσεις στην PHP Οι εντολές διακλάδωσης και επανάληψης της PHP 2

Τι είναι η PHP Server-side scripting γλώσσα προγραμματισμού Μπορεί επίσης να χρησιμοποιηθεί και ως γλώσσα προγραμματισμού γενικού σκοπού 3

Που μπορεί να χρησιμοποιηθεί Στην ανάπτυξη διαδικτυακών εφαρμογών (server-side scripting) Στην ανάπτυξη εφαρμογών που τρέχουν από τη γραμμή εντολών. Κατάλληλο για την εκτέλεση επαναλαμβανόμενων εργασιών περιβάλλον Linux και Windows Στην ανάπτυξη desktop εφαρμογών, με τη βοήθεια σχετικών επεκτάσεων (PHP-GTK) 4

Τι θα χρειαστούμε Για την ανάπτυξη μιας διαδικτυακής εφαρμογής θα πρέπει: Να είναι εγκατεστημένη η PHP στο μηχάνημα που θα τρέχει η εφαρμογή Να είναι εγκατεστημένος ένας web server (λχ τον Apache HTTP server), στο μηχάνημα που θα τρέχει η εφαρμογή Να έχουμε πρόσβαση σε μια βάση δεδομένων, στην περίπτωση που θέλουμε να αναπτύξουμε δυναμικές διαδικτυακές εφαρμογές Να έχουμε στη διάθεσή μας ένα φυλλομετρητή ιστού 5

Ένα τυπικό σενάριο 6

Ένα απλό πρόγραμμα σε PHP <!DOCTYPE html> <html> <body> <h1>my first PHP page</h1> <?php echo "Hello World!";?> </body> </html> 7

Μεταβλητές στην PHP <!DOCTYPE html> <html> <body> <?php $txt = "Hello world!"; $x = 5; $y = 10.5; echo $txt; echo "<br>"; echo $x; echo "<br>"; echo $y;?> </body> </html> Τα ονόματα των μεταβλητών: Πρέπει να ξεκινούν με το $ Μετά το $ θα πρέπει να ακολουθεί είτε γράμμα του λατινικού αλφαβήτου είτε ο χαρακτήρας «_» Μπορούν να περιέχουν μόνο λατινικά γράμματα (A-z), αριθμούς (0-9) και το χαρακτήρα «_» Είναι case-sensitive, δηλ. το $age και το $AGE είναι δύο διαφορετικές μεταβλητές 8

Τύποι δεδομένων στην PHP Οι μεταβλητές μπορούν να αποθηκεύσουν δεδομένα διαφορετικών τύπων. Ανάλογα με τον τύπο των μεταβλητών, καθορίζονται και οι ενέργειες που μπορούμε να εκτελέσουμε στις μεταβλητές αυτές String Integer Float ( λέγεται και double) Boolean Array Object NULL Resource 9

Ο τύπος δεδομένων String Είναι μια ακολουθία από χαρακτήρες. Η ακολουθία αυτή θα πρέπει να περικλείεται από μονά ( ) ή διπλά ( ) εισαγωγικά <!DOCTYPE html> <html> <body> <?php $x = "Hello world!"; $y = 'Hello world!'; echo $x; echo "<br>"; echo $y;?> </body> </html> 10

Ο τύπος δεδομένων Integer Δεν επιτρέπεται να έχει δεκαδικό μέρος Μπορεί να είναι θετικός ή αρνητικός <!DOCTYPE html> <html> <body> <?php $x = 5; echo "The number is:". $x;?> </body> </html> 11

Ο τύπος δεδομένων Float Έχει δεκαδικό μέρος Μπορεί να είναι θετικός ή αρνητικός <!DOCTYPE html> <html> <body> <?php $x = 5.25; echo "The number is:". $x;?> </body> </html> 12

Ο τύπος δεδομένων Array Αποθηκεύει πολλές τιμές κάτω από το ίδιο όνομα Η προσπέλαση των τιμών πραγματοποιείται με τη βοήθεια ενός αριθμητικού δείκτη Ο δείκτης ξεκινάει πάντα από το μηδέν (0) <!DOCTYPE html> <html> <body> <?php $cars = array("volvo", "BMW", "Toyota"); echo "I like ". $cars[0]. ", ". $cars[1]. " and ". $cars[2]. ".";?> </body> </html> 13

Τελεστές Χρησιμοποιούνται για την εκτέλεση πράξεων στις μεταβλητές Η PHP υποστηρίζει τα ακόλουθα είδη τελεστών Αριθμητικοί τελεστές Τελεστές ανάθεσης Τελεστές σύγκρισης Τελεστές αυξομείωσης Λογικοί τελεστές Τελεστές συμβολοσειρών (string operators) Τελεστές πάνω σε arrays 14

Αριθμητικοί Τελεστές 15

Τελεστές Ανάθεσης 16

Τελεστές Σύγκρισης 17

Τελεστές Αυξομείωσης 18

Συναρτήσεις (1) Μια συνάρτηση είναι ένα σύνολο από εντολές οι οποίες εκτελούν μια συγκεκριμένη εργασία και μπορούν να επαναχρησιμοποιηθούν. Οι συναρτήσεις δεν εκτελούνται από μόνες τους. Θα πρέπει εμείς να τις καλέσουμε, χρησιμοποιώντας το όνομα που της έχουμε δώσει. Το όνομα μιας συνάρτησης μπορεί να ξεκινάει με λατινικό γράμμα ή το χαρακτήρα _ ενώ δεν υπάρχει διάκριση ανάμεσα στα πεζά και τα κεφαλαία 19

Συναρτήσεις (2) <!DOCTYPE html> <html> <body> <?php?> </body> </html> function writemsg() { echo "Hello world!"; } writemsg(); 20

Συναρτήσεις (3) Στα μαθηματικά: y=f(x) Σε μια συνάρτηση είναι δυνατό να διοχετεύσουμε την πληροφορία που επιθυμούμε, με τη βοήθεια μεταβλητών που ονομάζονται παράμετροι. Η πληροφορία αυτή, αξιοποιείται από τη συνάρτηση που συνήθως παράγει ένα αποτέλεσμα Μπορούμε να περάσουμε όσες παραμέτρους θέλουμε, χωρισμένους με κόμμα. 21

Συναρτήσεις (4) <!DOCTYPE html> <html> <body> <?php?> </body> </html> 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); 22

Εμβέλεια μεταβλητών (1) Η εμβέλεια έχει να κάνει με το εύρος ισχύος μιας μεταβλητής. Δηλ σε ποια έκταση του κώδικά μας μπορούμε να την προσπελάσουμε και επομένως να τη χρησιμοποιήσουμε. Η PHP έχει τρία διαφορετικά variable scopes: Local: μια μεταβλητή που έχει δηλωθεί μέσα σε μια συνάρτηση, μπορεί να χρησιμοποιηθεί μόνο μέσα στη συνάρτηση αυτή Global: μια μεταβλητή που έχει δηλωθεί έξω από μια συνάρτηση, δεν μπορεί να χρησιμοποιηθεί μέσα σε συνάρτηση. Static: όταν ολοκληρώνει την εκτέλεσή της μια συνάρτηση οι μεταβλητές της διαγράφονται. Αν δεν επιθυμούμε κάτι τέτοιο μπορούμε να τις δηλώσουμε ως static 23

Εμβέλεια μεταβλητών (2) <!DOCTYPE html> <html> <body> <?php $x = 5; // global scope function mytest() { // using x inside this function will generate an error echo "<p>variable x inside function is: $x</p>"; } mytest();?> echo "<p>variable x outside function is: $x</p>"; </body> </html> 24

Εμβέλεια μεταβλητών (3) <!DOCTYPE html> <html> <body> <?php function mytest() { $x = 5; // local scope echo "<p>variable x inside function is: $x</p>"; } mytest();?> // using x outside the function will generate an error echo "<p>variable x outside function is: $x</p>"; </body> </html> 25

Εμβέλεια μεταβλητών (4) Αν θέλουμε μέσα σε μια συνάρτηση να χρησιμοποιήσουμε μεταβλητές με global scope, χρησιμοποιούμε τη λέξη κλειδί global <!DOCTYPE html> <html> <body> <?php $x = 5; $y = 10; function mytest() { global $x, $y; $y = $x + $y; } mytest(); // run function echo $y; // output the new value for variable $y?> </body> </html> 26

Εντολές διακλάδωσης (1) Συχνά, όταν προγραμματίζουμε, χρειάζεται να εκτελέσουμε διαφορετικές ενέργειες, με βάσει διαφορετικές συνθήκες. Για το σκοπό αυτό η PHP προσφέρει τις ακόλουθες εντολές: if statement: αν η συνθήκη είναι αληθής εκτελούνται κάποιες εντολές if...else statement: όταν η συνθήκη είναι αληθής εκτελούνται κάποιες εντολές, αλλιώς εκτελούνται κάποιες άλλες. if...elseif...else statement: ορίζει μια επιπλέον συνθήκη για να εξεταστεί, αν η πρώτη είναι ψευδής. switch statement: Επιλογή ενός από πολλά μπλοκ εντολών για εκτέλεση 27

Εντολές διακλάδωσης (2) <!DOCTYPE html> <html> <body> <?php $t = date("h");?> if ($t < 10) { echo "Have a good morning!"; } elseif ($t < 20) { echo "Have a good day!"; } else { echo "Have a good night!"; } </body> </html> 28

Εντολές επανάληψης (1) Συχνά, όταν προγραμματίζουμε, θέλουμε το ίδιο τμήμα κώδικα να εκτελεστεί περισσότερες από φορές. Για το σκοπό αυτό η PHP προσφέρει τις ακόλουθες εντολές επανάληψης: while: εκτελείται ένα μπλοκ εντολών όσο μια συνθήκη είναι αληθής do...while: ίδια με την προηγούμενη μόνο που πρώτα ελέγχεται η συνθήκη και αν εξακολουθεί να είναι αληθής εκτελείται το μπλοκ των εντολών for: εκτελείται ένα μπλοκ εντολών τόσες φορές όσες καθορίσουμε εμείς foreach: εκτελείται ένα μπλοκ εντολών για κάθε ένα στοιχείο ενός array. 29

Εντολές επανάληψης (2) <!DOCTYPE html> <html> <body> <?php $x = 1;?> while($x <= 5) { echo "The number is: $x <br>"; $x++; } </body> </html> 30

Εντολές επανάληψης (3) <!DOCTYPE html> <html> <body> <?php?> for ($x = 0; $x <= 10; $x++) { echo "The number is: $x <br>"; } </body> </html> 31

PHP & Βάσεις Δεδομένων (1) Η PHP μας δίνει τη δυνατότητα σύνδεσης με βάσεις δεδομένων, για τη δημιουργία δυναμικών ιστοσελίδων Αντί να γράφουμε το περιεχόμενο μιας ιστοσελίδας μέσα στο <body> </body>, το αντλούμε από τις εγγραφές ενός πίνακα της βάσης δεδομένων Επιπλέον, έχουμε τη δυνατότητα επεξεργασίας της πληροφορίας, πριν την προβάλουμε. 32

PHP & Βάσεις Δεδομένων (2) Ακολουθούμε πέντε βήματα: Σύνδεση με τη βάση δεδομένων Ορισμός του character set σε utf8 Άντληση των δεδομένων Επεξεργασία και προβολή των δεδομένων Κλείσιμο της σύνδεσης με τη βάση δεδομένων 33

PHP & Βάσεις Δεδομένων (3) Για τη σύνδεση με MySQL βάση δεδομένων, θα χρησιμοποιήσουμε μια επέκταση της MySQL που ονομάζεται MySQLi Η επέκταση αυτή συνήθως εγκαθίσταται με την εγκατάσταση του package php5 mysql 34

PHP & Βάσεις Δεδομένων (4) Παράδειγμα σύνδεσης PHP με MySQL βάση δεδομένων 35

Παραπομπές W3schools.com - PHP Tutorial: http://www.w3schools.com/php/default.asp Εισαγωγικό tutorial για PHP: http://devzone.zend.com/6/php-101-php-for-theabsolute-beginner/ Επίσημος ιστότοπος της PHP: http://php.net Πληροφορίες για server-side scripting: http://en.wikipedia.org/wiki/server-side_scripting 36