Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό - PHP ve.pdf
Document Details
![UsableSerpentine6657](https://quizgecko.com/images/avatars/avatar-8.webp)
Uploaded by UsableSerpentine6657
University of Patras
Δρ. Δημήτριος Κουτσομητρόπουλος
Tags
Summary
This document provides an introduction to PHP programming, emphasizing its role in building dynamic and interactive web applications. It presents various aspects of PHP, including its fundamental syntax, data types, control structures, arrays, and functions. The document also covers concepts like server-side programming and explores related topics for students and professionals.
Full Transcript
Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Εισαγωγή στην PHP Δρ. Δημήτριος Κουτσομητρόπουλος «Γιατί καινούργια πράγματα?! Που θα χρειαστούν» Ενδεικτικά… Πρακτικά δεν υπάρχει ερώτημα που να μη θέλει PHP PHP is a server scripting language, and a powerful tool for...
Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Εισαγωγή στην PHP Δρ. Δημήτριος Κουτσομητρόπουλος «Γιατί καινούργια πράγματα?! Που θα χρειαστούν» Ενδεικτικά… Πρακτικά δεν υπάρχει ερώτημα που να μη θέλει PHP PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP doesn’t need to be compiled, it’s executed by the web server exactly as it’s written. PHP generates HTML and can be embedded in any HTML markup, think of PHP as the input and HTML as the output. https://kennyalmendral.github.io/php-request-response-cycle/ Server-side προγραμματισμός ASP (Active Server Pages) / ASP.NET (C#) JSP (Java Server Pages) Node.js PHP Python Ruby on Rails PHP & Frameworks (π.χ. Laravel, CakePHP, Yii…) PHP CMS Frameworks (Wordpress, Drupal, Joomla…) 6 Php market share https://devabit.com/ 8 Server-Side vs Client-Side 9 Server-side προγραμματισμός 10 Εισαγωγή στην PHP PHP : Hypertext Preprocessor Η PHP είναι μία scripting γλώσσα για γενική χρήση Χρησιμοποιείται για web εφαρμογές Αντικειμενοστραφής και διαδικαστική Τρέχει στον server και στον Web Browser επιστρέφει script σε μορφή HTML. Open Source λογισμικό Εγχειρίδιο χρήσης http://www.php.net/docs.php 11 Εισαγωγή στην PHP Ιδανική για την κατασκευή δυναμικών ιστοσελίδων Υποστήριξη πολλών ΣΔΒΔ όπως MySQL, Oracle, MS SQL Server, IBM DB2 κτλ. Μεταφερσιμότητα : διαθέσιμη σε διάφορα λειτουργικά συστήματα όπως Windows, Linux και Unix Συμβατή με τους περισσότερους servers Apache, IIS Τα PHP αρχεία μπορούν να έχουν κατάληξη “.php”, “.php3” ή “.phtml” 12 Τι χρειάζομαι ; Εγκαθιστώ τον Apache server σε σύστημα με Windows ή με Linux Εγκαθιστώ την PHP σε σύστημα με Windows ή με Linux Εγκαθιστώ την MySQL σε σύστημα με Windows ή με Linux 13 Web server Server ο υπολογιστής σας Πλεονεκτήματα της PHP Γρήγορη Μηδενικό κόστος – Ελεύθερο Λογισμικό Εύκολη στη χρήση Μπορεί να τρέχει σε πολλά λειτουργικά συστήματα Διαθέσιμη Τεχνική Υποστήριξη Ασφαλής Σχεδιασμένη για την υποστήριξη βάσεων δεδομένων Εύκολα προσαρμόσιμη 15 Γιατί μαθαίνω και PHP; Παράδειγμα Μία πιτσαρία θέλει να φτιάξει μια απλή web εφαρμογή ώστε οι πελάτες της να μπορούν να παραγγείλουν online φαγητό. Οι παραγγελίες θα μπορούν να πραγματοποιούνται είτε από επισκέπτες είτε από εγγεγραμμένους χρήστες. Στην περίπτωση του εγγεγραμμένου χρήστη, θα διατηρείται ιστορικό παραγγελιών με σκοπό την εμφάνιση προσφορών ή επανάληψη παραγγελίας. Πώς θα υλοποιηθεί με αυτά που έχω μάθει ήδη; Παράδειγμα.PHP 17 Πως Δουλεύουν τα ServerSide Scripts Http response Apache Client Html.php content (Firefox) PHP engine Όταν ο Browser ζητά ένα HTML αρχείο, ο server του επιστρέφει το αρχείο αυτό ως έχει, βάσει του πρωτοκόλλου Όταν ζητηθεί ένα PHP, o server περνά το αίτημα στη μηχανή PHP Η μηχανή PHP διαβάζει τα αρχεία γραμμή-γραμμή και εκτελεί τον κώδικα Τέλος, το αρχείο επιστρέφεται στον Browser ως απλή HTML 18 Τι μπορούν να κάνουν τα Server-Side Scripts 1. Τροποποιούν δυναμικά το περιεχόμενο μιας σελίδας 2. Απαντούν σε ερωτήματα και δεδομένα χρηστών από φόρμες HTML. 3. Μπορεί να τρέχουν σε πολλά λειτουργικά συστήματα 4. Δίνουν πρόσβαση σε δεδομένα και Βάσεις Δεδομένων και επιστρέφουν αποτελέσματα στον Browser 5. Διαμορφώνουν τη σελίδα για εξατομικευμένη χρήση 19 Τι μπορούν να κάνουν τα ServerSide Scripts Πλεονεκτήματα έναντι CGI και PERL ως προς την απλότητα και την ταχύτητα (built-in web δυνατότητες, εύκολο debug κλπ) Παρέχει ασφάλεια, γιατί ο server-side κώδικας δεν είναι εμφανής στον πελάτη-Browser Αφού οι επιστρεφόμενες σελίδες είναι HTML (όχι απαραίτητα valid, εξαρτάται από τον χρήστη), μπορούν να τις δουν όλοι οι Browsers 20 Βασικά στοιχεία της PHP Σε αυτό το μέρος … Κανόνες Σύνταξης Τελεστές Μεταβλητές, Τύποι μεταβλητών, Εκχώρηση τιμών σε μεταβλητές Ενσωμάτωση ΡΗΡ στην HTML Υποθετικές προτάσεις if και switch Επαναληπτικές Δομές : βρόγχου while , do και for Πίνακες Συναρτήσεις Χειρισμός Αρχείων 22 Βασικοί Κανόνες Σύνταξης Ο PHP κώδικας βρίσκεται ανάμεσα στα tags Η σύνταξη μοιάζει με αυτή της C Οι μεταβλητές ξεκινούν πάντα με το σύμβολο $ (variable name : case-sensitive) Ο τύπος της μεταβλητής καθορίζεται από την τιμή που δίνεται Σχόλια ◦ // για μια σειρά ◦ για πολλές σειρές 23 Αριθμητικοί Τελεστές Τελεστής Περιγραφή Παράδειγμα Αποτέλεσμα + Πρόσθεση Χ=2+2 4 - Αφαίρεση Χ=5-2 3 * Πολ/σμός Χ=2*5 10 / Διαίρεση Χ=5/2 2.5 % Υπόλοιπο Χ=5%2 1 ++ Αύξηση Χ=2 3 Χ++ -- Μείωση Χ=2 1 Χ-- 24 Τελεστές Ισότητας Τελεστής Παράδειγμα Ισοδυναμεί με = Χ=Υ Χ=Υ += Χ+=Υ Χ=Χ+Υ -= Χ-=Υ Χ=Χ-Υ *= Χ*=Υ Χ=Χ*Υ /= Χ/=Υ Χ=Χ/Υ %= Χ%=Υ Χ=Χ%Υ 25 Τελεστές Σύγκρισης Τελεστής Περιγραφή Παράδειγμα == Είναι ίσο με 4==2 (false) != Δεν είναι ίσο με 4!=2 (true) > Μεγαλύτερο από 4>2 (true) < Μικρότερο από 5= Μεγαλύτερο Ίσο από 5>=2 (true) 31 Υποθετικές Προτάσεις(if) Σύνταξη Παράδειγμα ?> 32 NULL Try next time! The var_dump() function /body> returns the data type and the value 33 Υποθετικές Προτάσεις(if) Σύνταξη Παράδειγμα ?> 34 35 Επαναληπτικές Δομές (while ή do … while) Σύνταξη Παράδειγμα echo “The number is”.$i.” ”; } while (συνθήκη); ?> 37 Επαναληπτικές Δομές (for) Σύνταξη Παράδειγμα } ?> 38 Πίνακες στην PHP Παράδειγμα Παράδειγμα ?> 40 Επαναληπτικές Δομές για Πίνακες Σύνταξη Παράδειγμα ?> 41 Συναρτήσεις (functions) Δήλωση Συνάρτησης Κλήση Συνάρτησης myFunction(); 42 Συναρτήσεις (functions) Παραδείγματα Συνάρτηση με δύο παραμέτρους ◦ Στην συνάρτηση δεν δηλώνουμε τον τύπο της παραμέτρου. Κλήση της συνάρτησης ◦ Αποτέλεσμα : Nick είναι 35 χρόνων 43 Συναρτήσεις (functions) Παραδείγματα Συνάρτηση με επιστρεφόμενες τιμές Κλήση της συνάρτησης (To $x θα γίνει 10) Echo “5 + 15 ισούται με ”.add(5,15) → Η συνάρτηση καλείται πριν τυπωθεί οτιδήποτε. 44 Αρχεία fopen(,); ◦ Ανοίγει ένα αρχείο σύμφωνα με το mode ◦ Π.χ. $file = fopen(“a.txt”,”r”); fclose(); ◦ Κλείνει ένα ανοιγμένο αρχείο feof(); ◦ Επιστρέφει true εάν το αρχείο έφτασε στο τέλος του fgets(); ◦ Επιστρέφει μία γραμμή από ένα ανοικτό αρχείο 45 Αρχεία Παράδειγμα fopen(,); feof(); text.txt ◦ Επιστρέφει true εάν το αρχείο έφτασε στο τέλος του 1a 2b fgets(); 3c ◦ Επιστρέφει μία γραμμή από ένα ανοικτό αρχείο 4d 5e 46 Αρχεία fgetc(); ◦ Επιστρέφει ένα χαρακτήρα από ένα ανοικτό αρχείο fwrite(,); ◦ Γράφει σε ένα ανοικτό αρχείο το string δεδομένων και επιστρέφει το μέγεθος των δεδομένων που γράφτηκαν ◦ Παράδειγμα : ); 52 Μεταβλητές superglobal Η PHP χρησιμοποιεί $GLOBALS Array for storing data that needs ειδικούς superglobal scope προκαθορισμένους $_COOKIES Array of cookie data passed to page πίνακες που ονομάζονται via HTTP request superglobal μεταβλητές $_ENV Array of server environment data ◦ Επιτρέπουν την $_FILES Array of file items uploaded to the server προσπέλαση σε HTTP $_GET Array of query string data passed to the headers, server via the URL ◦ query string parameters $_POST Array of query string data passed to the κ.α. server via the HTTP header ◦ Παράδειγμα $_SERVER $_REQUEST Array containing the contents of $_GET, $_POST, and $_COOKIES (HTTP_USER_AGENT) $_SESSION Array that contains session data $_SERVER Array containing information about the request and the server 53 Παραδείγματα Χρήσης Σχετικά με τα προγράμματα Web Servers Παρουσίαση των HTTP Headers ◦ PHP: Headers.php Headers.html (HTTP_REFERER) phpinfo() 54 Παραδείγματα Χρήσης.PHP