Php HOWTO
Contents
Τι είναι PHP
Η php είναι μίας ανοιχτού κώδικα (opensource scripting language) και ο λόγος που υπάρχει είναι για να μπορούμε να αναπτύσουμε διαδικτυακές εφαρμογές. Εκτελείται μόνο σε web server και το αποτέλεσμα της εκτέλεσης του κώδικα είναι html.
Ένα παράδειγμα είναι παρακάτω:
<html> <head> <title>Ένα απλό παράδειγμα</title> </head> <body> <?php print("Hello World"); ?> </body> </html>
To αποτέλεσμα του παραπάνω κώδικα είναι το εξής:
Πως λειτουργεί
Η php όπως αναφέραμε παραπάνω αποτελεί μία γλώσσα προγραμματισμού. Με τις γλώσσες προγραμματισμού αναπτύσουμε εφαρμογές. Παράδειγμα μίας εφαρμογής είναι ένας τηλεφωνικός κατάλογος. Σε έναν τηλεφωνικό κατάλογο μπορούμε να έχουμε πλήθος εγγραφών, στοιχείων κ.λ.π. Μέχρι τώρα η εφαρμογή αυτή χρειάζεται να τρέχει στο δικό μας υπολογιστή. Μία διαδικτυακή εφαρμογή τρέχει στον server και από τον δικό μας υπολογιστή χρησιμοποιώντας ένα web browser μπορούμε να κάνουμε χρήση του προγράμματος αυτού.
file:php00.jpeg
Όπως προαναφέραμε η php είναι μία γλώσσα προγραμματισμού που τρέχει στον server, για αυτό και λέγεται server-side scripting.
Μπορούμε όμως να εκτελέσουμε την php και στο δικό μας υπολογιστή. Όταν εκτελούμε τον κώδικα στον δικό μας υπολογιστή τότε λέμε ότι τρέχουμε σε Command line scripting
Η δυναμική της php είναι τόσο μεγάλη που μπορούμε να γράψουμε και εφαρμογές με γραφικό περιβάλλον (π.χ. gtk). Τότε η php αναφέρεται ως desktop client-side applications
Η php μπορεί να "μιλήσει" με πάρα πολλές πλατφόρμες βάσεων δεδομένων, αλλά ακόμα και εάν δεν μπορεί να "μιλήσει" απευθείας τότε μπορεί να επικοινωνήσει με την πλατφόρμα βάσεων που επιθυμούμε κάνοντας χρήση του Open Database Connection standard (ODBC)
Τέλος η php μπορεί να "επικοινωνίσει" με πάρα πολλά πρωτόκολλα όπως LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM ώστε να μπορούμε να αναπτύσουμε εφαρμογές οι οποίες "επικοινωνούνε" με άλλες εφαρμογές που τρέχουνε στον server μας (π.χ. mail server)
php tags
Για να μπορεί ο κώδικας της php να είναι αναγνωρίσιμος από τον web server που "φιλοξενεί" τον κώδικά μας, χρειάζεται να δηλωθεί ανάμεσα σε tags. Τα tags ορίζονται ως :
< >
και η λειτουργία των tags είναι για να ξεχωρίζουν σε μία html σελίδα τα διαφορετικά τμήματα. Έτσι η έναρξη κώδικα php ορίζεται ως:
<?php
και ο τερματισμός του κώδικα php ορίζεται ως :
?>
Μερικά παραδείγματα είναι τα εξής:
<?php echo "This is a test"; ?>
<?php echo "This is a test"; ?>
Ένα πιο περίπλοκο παράδειγμα είναι το παρακάτω:
<html> <head> <title>Ένα απλό παράδειγμα</title> </head> <body> <?php echo "<p>"; ?> Text in paragraph </p> <?php echo "<br>"; ?> <?php print("Hello World"); ?> </body> </html>
όπου το αποτέλεσμα είναι το παρακάτω:
<html> <head> <title>Ένα απλό παράδειγμα</title> </head> <body> <p> Text in paragraph <p> <br> Hello World </body> </html>
Τα tags, όπως προαναφέραμε, ορίζουν ένα php block (block of php code). Έχουμε 3 τρόπους να ορίσουμε ένα php block και αυτοί είναι οι εξής :
- Tag : Για να εκκινήσουμε ένα τμήμα κώδικα γραμμένο σε php γράφουμε : <?php και για να κλείσουμε ένα php block : ?>
<?php echo "Hello World"; ?>
- Short Tag : Εδώ θέλει λίγο προσοχή διότι αρκετοί web servers ΔΕΝ το έχουν ενεργοποιημένο εξ' ορισμού. Για να εκκινήσουμε ένα τμήμα κώδικα: <? και για το κλείσουμε : ?>
<? echo "Hello World"; ?>
- Script : Αυτός ο τρόπος δεν διαφέρει καθόλου από τον τρόπο που γράφουμε Javascript μέσα σε μία σελίδα. Για να γράψουμε ένα php block :
Σχόλια
Τα πάντα στον προγραμματισμό είναι η τεκμηρίωση. (μα τα πάντα όμως). Πως ορίζουμε σχόλια στην php;
// Σχόλιο μίας γραμμής, το σχόλιο τελειώνει όταν τελειώσει η γραμμή. Δλδ εδώ. /* Σχόλια γραμμών. Τα σχόλια που γράφουμε εδώ ΔΕΝ τελειώνουν στο τέλος της μίας γραμμής. Αλλά συνεχίζουν μέχρι να βρεθούν οι παρακάτω 2 χαρακτήρες μαζί Δλδ αυτοί : */
Τύποι
Η php υποστηρίζει αρκετούς τύπους δεδομένων. Οι πιο απλοί τύποι δεδομένων είναι οι παρακάτω:
- Διακριτές τιμές (boolean)
- Αριθμητικές Τιμές (ακέραιοι – δεκαδικοί)
- Αλφαρηθμητικά (strings)
Μερικά παραδείγματα είναι τα παρακάτω:
<?php // Boolean Data Type $a = 0; $b = 1; $c = true; $d = false; // Numbers $e = 10; $f = 10.10; // Strings $g= "text"; $h = "123text"; $i = "text123"; $k = "123text123"; $l = "text this is a text, this is a simple test text"; ?>
Μεταβλητές
Οι μεταβλητές είναι λεκτικά που περιέχουν μία τιμή. Για παράδειγμα θέλουμε να προσθέσουμε 2 αριθμούς.
30+40, Το αποτέλεσμα είναι το 70. Εύκολο.
Αλλά εάν οι τιμές αυτές κάθε φορά αλλάζουν? Εάν θέλουμε να προσθέσουμε όλους τους πρώτους αριθμούς? Εάν θέλουμε να εμφανίζουμε κάθε φορά την ip από την οποία δουλεύουμε ?
Για αυτούς τους λόγους χρησιμοποιούμε μεταβλητές. Οι μεταβλητές στην php ορίζονται με τον χαρακτήρα $ στην αρχή και στην συνέχεια τουλάχιστον ένα γράμμα και έπειτα είτε γράμμα είτε αριθμός.
Παραδείγματα μεταβλητών είναι τα παρακάτω:
<?php a = 10; // Wrong $a = 20 ; // Correct $123abc = 30 ; // Wrong $abc123 = 40; // Correct $g123131aasda453353sdf = 50; // Correct $_SFAFA2341342 = 60 ; // Correct ?>
Φυσικά εάν υπάρχουν και σταθερές μεταβλητές μπορούμε να τις ορίσουμε ως εξής:
<?php define("PI", "3.14159265"); ?>
Με το παραπάνω παράδειγμα ΔΕΝ χρειάζεται να ξέρουμε την τιμή του π,χ. εάν μας χρειάζεται μπορούμε κάθε φορά να την καλούμε με την σταθερά PI
Το αποτέλεσμα είναι : 314.159265
Μαθηματικές πράξεις
Στην php υπηστηρίζονται όλες όλες οι μαθηματικές πράξεις, επειδή η καλύτερη θεωρεία είναι η πράξη παρακάτω παραθέτω παραδείγματα κώδικα php ώστε να γίνουν πιο κατανοητά:
<?php $a = 10; $b = 20; // πρόσθεση $c = $a + $b; echo $c; // prints 30 // αφαίρεση echo $c = $a - $b ; // prints -10 // αντίθετο echo -$c ; // prints 10 // πολλαπλασιασμός echo $c = ( $a * $b) ; // prints 200 // διαίρεση $c = ($b / $a ); echo($c); // prints 2 // Το υπόλοιπο μίας διαίρεσης echo ( $b % $a ) ; // prints 0 ?>
Δομές Ελέγχου
Για την καλύτερη δομή του εγγράφου, η παρακάτω ενότητα υπάρχει εδώ:
Php Control Structures
Συναρτήσεις
Php Control Functions
php MySQL
Για την καλύτερη δομή του εγγράφου, η παρακάτω ενότητα υπάρχει εδώ:
php urls
Παρακάτω είναι μερικά χρήσιμα urls
http://www.php.net/manual/en/
http://dev.mysql.com/doc/refman/5.0/en/index.html
http://www.bierkandt.org/beautify/
http://heanet.dl.sourceforge.n[..]lite-win32-1.7.1.exe