Προγραμματισμός χρησιμοποιώντας Php - Mysql
Η php είναι μια εξαιρετικά δημοφιλής γλώσσα
προγραμματισμού για server-side scripting. Αυτό σημαίνει
ότι οι εντολές php μεταφράζονται και εκτελούνται από τον http-server
πριν "σερβιριστούν" στον πελάτη. Ο πελάτης βλέπει τα αποτελέσματα
των εντολών αυτών και όχι τον κώδικα που τα παρήγαγε. Συνεπώς το
"προϊόν" που παράγεται από ένα κώδικα php είναι κώδικας html. Ο
κώδικας php πρέπει να βρίσκεται μέσα σε αρχείο με κατάληξη ".php"
και μπορεί να είναι ανάμικτος με κώδικα html. Ο κώδικας php
ξεχωρίζει επειδή βρίσκεται μέσα σε ένα tag που ξεκινάει με
<?php
και τελειώνει με
?>
. Για παράδειγμα, έστω ότι στο server υπάρχει το παρακάτω αρχείο
test.php
:
<html>
<head>
<title>
</title>
</head>
<body>
<p>Αυτός είναι κλασσικός κώδικας HTML</p>
<?php
echo "<br><p>Αυτός ο κώδικας HTML παράγεται από την php</p>";
$text = "<br><p>Hello</p>";
echo $text;
for ($i=0; $i<4; $i++) {
echo "<p>Γραμμή ".$i."</p>";
}
?>
</body>
</html>
Ο πελάτης καλώντας από τον browser το αρχείο
test.php
θα παραλάβει το παρακάτω επεξεργασμένο αρχείο που περιλαμβάνει την
κανονική html συν το αποτέλεσμα που παρήχθη από την php:
<html> <head> <title> </title> </head> <body> <p>Αυτός είναι κλασσικός κώδικας HTML</p> <br><p>Αυτός ο κώδικας HTML παράγεται από την php</p> <br><p>Hello</p> <p>Γραμμή 0</p> <p>Γραμμή 1</p> <p>Γραμμή 2</p> <p>Γραμμή 3</p> </body> </html>
Η php χρησιμοποιείται από μεγάλο ποσοστό ιστοτόπων και από πολύ
γνωστές ιστοσελίδες όπως: Google, Apple, Facebook, Yahoo!,
Wikipedia, Digg, SitePoint, Amazon, Ebay, YouTube, Flickr, κλπ.
Σύμφωνα με αξιόπιστα στατιστικά η PHP χρησιμοποιείται από το 81.3% όλων των
ιστοσελίδων των οποίων η server-side γλώσσα είναι γνωστή.
Η php είναι η γλώσσα πάνω στην οποία έχουν γραφτεί οι πιο
δημοφιλείς πλατφόρμες ανάπτυξης blog, Wordpress, Joomla!, και
Drupal.
Η Mysql είναι μια
σχεσιακή βάση δεδομένων της εταιρίας Oracle η οποία συνεργάζεται με
την php έτσι ώστε να παράγονται δυναμικές ιστοσελίδες. Δεν είναι η
μόνη βάση δεδομένων που μπορεί να συνεργαστεί με την php (άλλο
παράδειγμα είναι, πχ. η βάση ανοιχτού κώδικα Postgresql).
Ωστόσο η Mysql έρχεται "πακέτο" μαζί με την php σε διάφορα δημοφιλή
λογισμικά που προσφέρουν επίσης τον ανοιχτού κώδικα http-server "Apache".
Συνήθως η php και η mysql εγκαθίστανται σε συνδυασμό με κάποιον http-server. Η πιο απλή λύση είναι να κατεβάσετε και να εγκαταστήσετε ένα από τα παρακάτω λογισμικά τα οποία προσφέρουν σε πακέτο τον Apache http-server, τη γλώσσα php, και τη βάση mysql. Είναι όλα δωρεάν και η επιλογή τους εξαρτάται από την πλατφόρμα του λειτουργικού συστήματος που έχει ο server:
Εκτελούμε την εφαρμογή
XAMPP Control Panel
και πατάμε τα
κουμπιά "Start" που αντιστοιχούν στις υπηρεσίες Apache και Mysql.
Θα πρασινίσουν και οι δύο αυτές υπηρεσίες και θα εμφανιστούν
αριθμοί θυρών (ports) στις αντίστοιχες θέσεις. Ο Apache server
χρησιμοποιεί by default τις θύρες 80 και 443 ενώ η mysql
χρησιμοποιεί τη θύρα 3306 (βλ. σχήμα):
Ορισμένες
εφαρμογές όπως το skype, μπορεί να χρησιμοποιούν τις θύρες 80, 443
και συνεπώς συγκρούονται με τον Apache server. Ειδικά για το
skhype, η λύση είναι απλή: απο-επιλέξτε το κουτάκι "Χρήση των θυρών
80 και 443..." στο μενού "Επιλογές" > "Για προχωρημένους" >
"Σύνδεση" (βλ. σχήμα):
Για να
βρούμε ποιες θύρες χρησιμοποιούνται από άλλες εφαρμογές εκτελούμε
την εντολή "netstat -a" είτε από το DOS command window είτε από το
XAMPP Control Panel:
Πληροφοριακά, το XAMPP εκτός από τον Apache, τη Mysql, και την php
προσφέρει επί πλέον τις υπηρεσίες FileZilla (FTP Server), Mercury
(Email Server), Tomcat (Java Applet Server) και τη γλώσσα Perl.
Οι εφαρμογές php γράφονται μέσα στον φάκελο
C:\xampp\htdocs
τον οποίο έχει δημιουργήσει το XAMPP. Ένα οποιοδήποτε αρχείο x.php
καλείται από τον browser γράφοντας στο πεδίο της διεύθυνσης του
browser
localhost/x.php
εφόσον καλούμε το αρχείο από το ίδιο μηχάνημα όπου είναι στημένος
ο server/x.php
εφόσον καλούμε το αρχείο από άλλο
υπολογιστήΜην ανοίγετε αρχεία php από τα Windows σα να ήταν απλά αρχεία html.
Το βασικό portal για την php είναι το php.net.
Το βασικό portal για την mysql
είναι το mysql.com.
Πολύ καλή πηγή πληροφοριών με παραδείγματα τόσο για την php όσο και
για την mysql είναι το w3schools.com.
Ένα πρόγραμμα php μπορεί να αναπτυχθεί και να αποσφαλματωθεί μέσα
στο προγραμματιστικό περιβάλλον eclipse στο οποίο πρέπει να στηθεί
ένας αποσφαλματωτής php όπως το
zend
ή το
xdebug
. Παρακάτω θα δείξουμε τα βήματα που χρειάζονται έτσι ώστε να
χρησιμοποιηθεί το xdebug σε eclipse
σε πλατφόρμα Windows. Προϋποτίθεται ότι έχετε ήδη
εγκαταστήσει
XAMPP
στον υπολογιστή σας.
Eclipse for PHP Developers
από την σελίδα Eclipse Downloads. Σημειώστε ότι απλώς κάνετε
unzip το αρχείο και το εκτελέσιμο πρόγραμμα eclipse.exe
είναι αμέσως διαθέσιμο (δεν χρειάζεται installation).
dll για το xdebug. Για να
βοηθηθείτε στην επιλογή του κατάλληλου dll
χρησιμοποιήστε τον Xdebug Wizard.
phpinfo() η οποία
δίνεται εδώ: http://localhost/xampp/phpinfo.php,
επικολλήστε την στο παράθυρο που δίνεται και πατήστε το κουμπί
. Η σελίδα αυτή θα σας δώσει custom
installation instructions όπως οι παρακάτω:
php.ini προσθέστε/αλλάξτε τις
ακόλουθες γραμμές zend_extension = "C:\xampp\php\ext\<το dll αρχείο που κατεβάσατε>.dll" xdebug.remote_enable = 1 xdebug.remote_handler = "dbgp" xdebug.remote_port = 9000
XAMPP Control Panel.
Κ. Διαμαντάρας (Tελευταία ενημέρωση 13/6/2015)