Forum und email

Βασικοί Κανόνες Σύνταξης

Table of Contents

Βγαίνοντας από την HTML

Όταν n PHP μεταγλωτίζει (parses) ένα αρχείο, απλά κάνει ένα πέρασμα στο κείμενο του αρχείου μέχρι να συναντήσει ένα από τα ειδικά tags που της λένε να αρχίσει να μεταφράζει το κείμενο ως κώδικα PHP. Ο parser (μεταγλωττιστής) τότε εκτελεί ολόκληρο τον κώδικα που βρίσκει, μέχρι να συναντήσει το επόμενο PHP tag κλεισίματος, το οποίο λέει στον parser να αρχίσει να κάνει ξανά, απλά ένα πέρασμα στο κείμενο. Αυτός είναι ο μηχανισμός που σας επιτρέπει να προσθέτετε PHP κώδικα μέσα σε HTML: ο,τιδήποτε βρίσκεται έξω από τα tags της PHP μένει τελείως μόνο, ενώ οτιδήποτε μέσα μεταγλωττίζεται ως κώδικας.

Υπάρχουν τέσσερα σύνολα από tags που μπορούν να χρησιμοποιηθούν για να δηλώσουμε τα κομμάτια που έχουν κώδικα σε PHP. Από αυτά, μόνο δύο (<?php. . .?> and <script language="php">. . .</script>) είναι πάντα διαθέσιμα. Τα άλλα μπορούν να ενεργοποιηθούν και να απενεργοποιηθούν από το php.ini αρχείο ρυθμίσεων. Ενώ τα short-form tags και τα tags που μοιάζουν με αυτά της ASP μπορεί να είναι βολικά, δεν είναι τόσο portable όσο οι μακρύτερες εκδόσεις. Επίσης, αν σκοπεύετε να προσθέσετε PHP κώδικα σε XML ή XHTML, θα χρειαστεί να χρησιμοποιήσετε την <?php. . .?> φόρμα για να προσαρμοστεί στην XML.

Τα tags που υποστηρίζονται από την PHP είναι:

Example#1 Τρόποι για να βγείτε (escape) από την HTML

1.  <?php echo("if you want to serve XHTML or XML documents, do like this\n"); ?>

2.  <? echo ("this is the simplest, an SGML processing instruction\n"); ?>
    <?= expression ?> This is a shortcut for "<? echo expression ?>"
    
3.  <script language="php">
        
echo ("some editors (like FrontPage) don't
              like processing instructions"
);
    
</script>

4.  <% echo ("You may optionally use ASP-style tags"); %>
    <%= $variable; # This is a shortcut for "<% echo . . ." %>

Ο πρώτος τρόπος, <?php. . .?>, είναι και ο προτιμότερος, καθώς επιτρέπει τη χρήση της PHP σε κώδικα συμβατό με την XML όπως η XHTML.

Ο δεύτερος τρόπος δεν είναι πάντα διαθέσιμος. Τα σύντομα tags είναι διαθέσιμα μόνο όταν έχουν ενεργοποιηθεί. Αυτό μπορεί να γίνει μέσω της συνάρτησης short_tags() (μόνο στην PHP 3), ενεργοποιώντας την επιλογή ρύθμισης short_open_tag στο αρχείο ρυθμίσεων της PHP, ή κάνοντας compile την PHP με την επιλογή --enable-short-tags στο configure. Ακόμη και αν είναι ενεργοποιημένο ως προεπιλογή στο php.ini-dist, η χρήση των short tags δεν προτιμάται.

Ο τέταρτος τρόπος είναι διαθέσιμος μόνο αν τα ASP-style tags έχουν ενεργοποιηθεί χρησιμοποιώντας την asp_tags επιλογή ρυθμίσεων.

Note: Υποστήριξη για τα ASP-style tags προστέθηκε στην έκδοση 3.0.4.

Note: Η χρήση των short tags θα πρέπει να αποφεύγεται κατά την ανάπτυξη εφαρμογών ή βιβλιοθηκων (libraries) που προορίζονται για διανομή (redistribution), ή εφαρμογή σε PHP servers που δεν τους χειρίζεστε οι ιδιοι, επειδη τα short tags μπορεί να μην υποστηρίζονται από τον τελικό server. Για μεταφέρσιμο (portable), κώδικα που θα προορίζεται για χρήση και από άλλους, βεβαιωθείτε ότι δεν κάνετε χρήση των short tags.

Το tag κλεισίματος για το block θα συμπεριλάβει το αμέσως επόμενο trailing newline αν υπάρχει. Επίσης, το tag κλεισίματος αυτόματα υποδηλώνει και ένα ερωτηματικό. Δεν χρειάζεται να έχετε ερωτηματικό για να τερματίσετε την τελευταία γραμμή ενός PHP block.

Η PHP σας επιτρέπει να χρησιμοποιήσετε δομές σαν αυτή:

Example#2 Προχωρημένος τρόπος για να κάνετε escape

<?php
if ($expression) { 
    
?>
    <strong>This is true.</strong>
    <?php 
} else { 
    
?>
    <strong>This is false.</strong>
    <?php 
}
?>
Αυτό λειτουργεί όπως περιμέναμε, επειδή όταν η PHP φτάνει στα ?> tags κλεισίματος, απλά αρχίζει να εμφανίζει ο,τιδήποτε βρει μέχρι να συνατήσει ένα άλλο tag ανοίγματος. Το παράδειγμα που δόθηκε εδώ έχει επινοηθεί, φυσικά, με σκοπό να εμφανίσουμε μεγάλα blocks κειμένου, αφού το να ξεφεύγουμε από τη μεταγλώττιση της PHP είναι γενικά πιο αποτελεσματικό από το να στέλνουμε ολόκληρο το κείμενο μέσω της συνάρτησης echo() ή της print() ή κάτι τέτοιο.