[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/prime_links.php on line 131: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/prime_links.php on line 132: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/prime_links.php on line 131: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/prime_links.php on line 132: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/prime_links.php on line 131: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/prime_links.php on line 132: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4730: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4732: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4733: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4734: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
tempo.gr αρχειοθετημένες συζητήσεις • Εισαγωγή στη γλώσσα PHP (Μάθημα 1ο)
Οι συζητήσεις που βρίσκονται εδώ είναι αρχειοθετημένες. Παρακαλούμε, μεταβείτε στην κοινότητα-forum του tempo.gr.
Δημιουργία απάντησης

Εισαγωγή στη γλώσσα PHP (Μάθημα 1ο)

23 Απρ 2013, 21:49

H PHP είναι μια γλώσσα προγραμματισμού που χρησιμοποιείται για τη δημιουργία scripts τα οποία εκτελούνται στο χώρο του web server. Όπως είναι γνωστό scripts ονομάζονται τα προγράμματα των οποίων ο πηγαίος κώδικας δεν μεταγλωττίζεται, προκειμένου να παραχθεί ο εκτελέσιμος κώδικας, αλλά είναι ο ίδιο εκτελέσιμος από κατάλληλη μηχανή εκτέλεσης που ονομάζεται διερμηνευτής (interpreter). Ο διερμηνευτής (interpreter) της PHP ονομάζεται PHP Hypertext Preprocessor, τα αρχικά του οποίου συνθέτουν την
ονομασία της γλώσσας.

Τα PHP scripts ενσωματώνονται σε HTML σελίδες και εκτελούνται στον web server κατά την εξυπηρέτηση των σελίδων. Ένα PHP script ξεκινά με <?php και κλείνει με ?>. Στο εσωτερικό του μπορεί να περιλαμβάνονται μία ή περισσότερες εντολές της PHP. Σε μια HTML σελίδα μπορεί να υπάρχουν περισσότερα του ενός PHP scripts τα οποία παρεμβάλλονται σε οποιοδήποτε σημείο του HTML κώδικα, όχι όμως στο εσωτερικό άλλων PHP scripts. Η εκτέλεσή τους λαμβάνει χώρο πριν τη μεταφορά των σελίδων στον browser του χρήστη. Τα βήματα επεξεργασίας μιας PHP σελίδας θα παρουσιαστούν στην επόμενη ενότητα. Η PHP είναι ιδιαίτερα δημοφιλής για την ανάπτυξη web εφαρμογών με κυριότερα πλεονεκτήματα τα εξής:
• είναι γρήγορη στην εκτέλεση,
• έχει δυνατότητα επικοινωνίας με τις περισσότερες εμπορικές βάσεις δεδομένων,
• διαθέτει πολλές βιβλιοθήκες,
• διανέμεται και χρησιμοποιείται δωρεάν,
• είναι εύκολη στην εκμάθησή της καθώς μοιάζει με τις C/C++, Java και perl,
• υποστηρίζει τα τυπικά γνωρίσματα μιας αντικειμενοστρεφούς γλώσσας, (κλάσεις,
κληρονομικότητα, πολυμορφισμός),
• είναι μεταφέρσιμη,
• η υλοποίησή της μηχανής εκτέλεσής της είναι ανοικτού κώδικα,
• υποστηρίζεται αποτελεσματικά από την εταιρεία Zend Technologies
()

Περισσότερες πληροφορίες για την PHP, τεκμηρίωση καθώς και σχετικό λογισμικό
(μηχανή εκτέλεσης, βιβλιοθήκες κτλ.) μπορείτε να βρείτε στη διεύθυνση .

Στάδια επεξεργασίας μιας PHP σελίδας

Στο παρακάτω σχήμα απεικονίζονται τα στάδια επεξεργασίας μιας PHP σελίδας από τη
στιγμή της αίτησής της μέχρι την εμφάνιση στον browser του χρήστη.
php.jpg
php.jpg (73.85 KiB) 3404 προβολές

Θεωρούμε ότι o web browser εκτελείται σε ένα υπολογιστή ο οποίος είναι συνδεμένος στο διαδίκτυο. Ο χρήστης ζητάει τη σελίδα page.php που βρίσκεται στο δικτυακό τόπο http://www.mysite.com. Ο παραπάνω δικτυακός τόπος φιλοξενείται σε εξυπηρετητή ο οποίος είναι συνδεδεμένος στο διαδίκτυο και εκτελεί ένα web server π.χ. τον Apache web server (). Η μηχανή εκτέλεσης της PHP (PHP Preprocessor) εκτελείται a) ως υποσύστημα του web server (το οποίο φορτώνεται κατά την έναρξη της εκτέλεσής του) ή b) ως πρόγραμμα το οποίο καλείται από τον web server όταν του ζητηθεί η εξυπηρέτηση μιας σελίδας *.php. Στην πρώτη περίπτωση ο εκτελέσιμος κώδικας του PHP Preprocessor αποτελεί μια βιβλιοθήκη η οποία φορτώνεται δυναμικά από τον web server, ενώ στη δεύτερη έχει τη μορφή προγράμματος που βρίσκεται στον κατάλογο /cgi-bin της εγκατάστασης του web server. Η «Βάση Δεδομένων» μπορεί να βρίσκεται στο ίδιο μηχάνημα με τον web server ή σε διαφορετικό (το οποίο είναι προσβάσιμο μέσω δικτύου). Στο εργαστήριο η βάση δεδομένων που θα χρησιμοποιηθεί είναι η MySQL η οποία είναι διαθέσιμη από το δικτυακό τόπο .

Ας δούμε πιο αναλυτικά τα στάδια επεξεργασίας μιας PHP σελίδας:

1. Ο χρήστης ζητάει την εμφάνιση της σελίδας page.php βάζοντας τη διεύθυνση http://www.mysite.com/page.php.

2. Η αίτηση του χρήστη στέλνεται μέσω του web browser στην διεύθυνση http://www.mysite.com όπου παραλαμβάνεται από τον web server.

3. O web server εξετάζει την κατάληξη (*.php) της ζητούμενης σελίδας και διαπιστώνει ότι είναι PHP σελίδα. Έτσι αναθέτει την επεξεργασία της σε πρώτο στάδιο στον PHP Preprocessor. Η ανάθεση γίνεται γιατί ο web server δεν μπορεί να εκτελέσει τα PHP scripts που ενσωματώνει η σελίδα. Οι καταλήξεις των σελίδων που προωθούνται στον PHP Preprocessor για την επεξεργασία τους ορίζονται στο αρχείο παραμέτρων του web server. Στην περίπτωση του Apache το αρχείο αυτό είναι το httpd.conf το οποίο βρίσκεται στο φάκελο conf της εγκατάστασης της Windows εγκατάστασης του Apache.

4. O PHP Preprocessor παραλαμβάνει την σελίδα page.php από το τοπικό σύστημα αρχείων κάνει συντακτικό έλεγχο και προχωρά στην εκτέλεση των scripts που ενσωματώνει. Η εκτέλεση ενός PHP script μπορεί να παράγει HTML κώδικα. Ο κώδικας αυτός παρεμβάλλεται στη θέση του script, το οποίο αφαιρείται από την HTML σελίδα μετά την εκτέλεσή του. Έτσι το αποτέλεσμα της εκτέλεσης μιας PHP σελίδας (η οποία αποτελείται από HTML και PHP κώδικα) είναι μια καθαρά HTML σελίδα.

5. Κατά την εκτέλεσή του, ένα PHP script μπορεί να ανοίγει σύνδεση με κάποια βάση δεδομένων και να λαμβάνει από αυτή δεδομένα, πιθανώς για την ενσωμάτωσή τους στην HTML σελίδα.

6. Όταν ολοκληρωθεί η εκτέλεση των PHP scripts μιας PHP σελίδας, η παραγόμενη HTML σελίδα επιστρέφεται στον web server.

7. O web server αναλαμβάνει την αποστολή της σελίδας στο μηχάνημα από το οποίο παρέλαβε την αντίστοιχη αίτηση.

8. Η σελίδα παραλαμβάνεται και απεικονίζεται από το browser του χρήστη.
Δημιουργία απάντησης