PHP 7 10 πράγματα που πρέπει να ξέρετε
Είστε προγραμματιστής ιστού ή κάτοχος ιστότοπου; Οι ιστοτόποι σας τρέχουν σε CMS με δυνατότητα PHP, όπως το WordPress, το Drupal, το Joomla ή το Magento; Τότε έχω καλά νέα για εσάς: το feature-complete beta του νέου Η PHP 7 κυκλοφόρησε πρόσφατα. Η κύρια κυκλοφορία 7.0.0 περιέχει τόσες πολλές δροσερές λειτουργίες που αποφασίσαμε να αφιερώσουμε μια ολόκληρη θέση σε αυτήν. Αλλά πρώτα, πρέπει να γλιστρήσουμε σε μερικές υπενθυμίσεις.
Σημειώστε ότι η PHP 7 βρίσκεται ακόμα στη φάση ανάπτυξης έτσι μην το χρησιμοποιείτε στην παραγωγή μέχρι τον Νοέμβριο όταν το τελική έκδοση θα απελευθερωθεί. Αν - ως μελλοντικός χρήστης - θέλετε να λάβετε το δίκαιό σας μερίδιο από τη διαδικασία ανάπτυξης, μπορείτε να βοηθήσετε στη λήψη της τελευταίας έκδοσης beta, να παίξετε μαζί της στο περιβάλλον δοκιμών και να αναφέρετε τα σφάλματα που εντοπίσατε κατά τη διάρκεια της δοκιμής. Για να μάθετε πότε θα βγει η επόμενη beta, δείτε εδώ το χρονοδιάγραμμα του έργου.
Με το πέρασμα από το δρόμο, ας δούμε το PHP 7.
1. Η ονομασία του PHP 7 (όχι 6)
Η τρέχουσα σταθερή έκδοση χρησιμοποιεί τον αριθμό έκδοσης PHP 5.6. Μετά από κάποια αμφισβήτηση, η ομάδα ανάπτυξης αποφάσισε ότι θα παραλείψει το όνομα PHP 6 για την επόμενη μεγάλη κυκλοφορία. Η PHP 6 υπήρξε ήδη στο παρελθόν ως πειραματικό έργο αλλά δεν φτάνει ποτέ στη φάση παραγωγής.
Για να αποφευχθεί η ανάμειξη της προηγούμενης προσπάθειας από τους χρήστες με την τελευταία έκδοση, η νέα μεγάλη έκδοση θα τρέξει με το όνομα της PHP 7.
2. Η Μάρκα Spanking New Zend Engine
Ο κινητήρας Zend τροφοδοτεί την PHP από το 1999, όταν εισήχθη με τη νέα έκδοση της PHP 4. Ο Zend - για να μην συγχέεται με το Zend Framework - είναι μια μηχανή εκτέλεσης ανοιχτού κώδικα γραμμένη σε C που ερμηνεύει τη γλώσσα PHP. Η τρέχουσα σειρά PHP 5.X χρησιμοποιεί Zend Engine II που ενίσχυσε τη λειτουργικότητα του αρχικού κινητήρα και προσθέτει ένα εκτάσιμο μοντέλο αντικειμένου και ένα σημαντική βελτίωση της απόδοσης στη γλώσσα.
Η PHP 7 λαμβάνει μια ολοκαίνουργια έκδοση του κινητήρα που υπάγεται στο κωδικό όνομα PHP # NG (Next Generation).
3. Δύο φορές την ταχύτητα
Το πιο εύκολα αναγνωρίσιμο πλεονέκτημα του νέου μηχανισμού PHPNG είναι η σημαντική βελτίωση της απόδοσης. Η ομάδα ανάπτυξης της PHPNG επαναπροσδιορίστηκε το Zend Engine, και αξιοσημείωτα βελτιστοποίησε τη χρήση της μνήμης.
Τα αποτελέσματα? Μπορείτε να δείτε τα σημεία αναφοράς απόδοσης που παρέχονται από την ομάδα απόδοσης Zend παρακάτω. Χρησιμοποιώντας PHP 7 όχι μόνο ο κώδικας θα εκτελεστεί γρηγορότερα αλλά και εσείς χρειάζονται λιγότερους διακομιστές για να εξυπηρετήσουν το ίδιο ποσό χρηστών.
4. Διευκολύνει τη διαχείριση σφαλμάτων
Για να πούμε το λιγότερο, το χειρισμό θανατηφόρων και αλλοιωμένων θανατηφόρων σφαλμάτων δεν ήταν ποτέ εύκολο έργο για κωδικοποιητές PHP. Το νέο Εξαιρέσεις κινητήρα θα σας επιτρέψει να αντικαταστήσετε αυτά τα είδη σφαλμάτων με εξαιρέσεις. Εάν η εξαίρεση δεν έχει αλιευθεί, η PHP θα συνεχίσει να επιστρέφει τα ίδια θανατηφόρα λάθη όπως και στην τρέχουσα σειρά 5.X.
Το νέο \ EngineException τα αντικείμενα δεν επεκτείνουν το \Εξαίρεση Βασική κλάση. Αυτό εξασφαλίζει συμβατότητα προς τα πίσω και έχει ως αποτέλεσμα δύο διαφορετικές εξαιρέσεις όσον αφορά τον χειρισμό σφαλμάτων: παραδοσιακός και εξαιρέσεις κινητήρα.
Για να επιτρέψει στους προγραμματιστές να πιάσουν και τα δύο, η PHP 7 εισάγει ένα νέο κοινή γονική κλάση στο όνομα του \ BaseException.
5. Υποστήριξη συστημάτων Windows 64-Bit
Η PHP είναι ένα προεξέχον μέλος της στοίβας LAMP που σημαίνει ότι το περιβάλλον της είναι το Linux - αλλά είναι επίσης δυνατό να το τρέξετε σε ένα σύστημα Windows. Η σειρά 5.X δεν παρέχει ακόμα υποστήριξη ακέραιων ή μεγάλων αρχείων 64 bit, οπότε μέχρι τώρα έχουν ληφθεί υπόψη x64 κατασκευές πειραματικός.
Η PHP 7 θα το αλλάξει αυτό εισάγει συνεπή υποστήριξη 64-bit που σημαίνει ότι θα υποστηρίζονται και φυσικοί αριθμοί 64 bit και μεγάλα αρχεία, επιτρέποντάς σας να τρέχετε με σιγουριά τη γλώσσα στο 64-bit σύστημα Windows σας στο μέλλον.
6. Νέοι χειριστές διαστημοπλοίων και μηδενικής συγκέντρωσης
ο Διαχειριστής διαστημόπλοιας λειτουργεί με το επίσημο όνομα του Συνδυασμένου Διαχειριστή Σύγκρισης. Η σημείωση του νέου χειριστή μοιάζει με αυτό: <=>
(είδος σαν ένα απλοποιημένο διαστημόπλοιο, αν το φαντάζεστε σωστό).
Ο διαχειριστής διαστήματος επιστρέφει 0 εάν και οι δύο τελεστές είναι ίσοι, 1 αν το αριστερό είναι μεγαλύτερο και -1 αν το δικαίωμα είναι μεγαλύτερο. Ονομάζεται επίσης a τρισδιάστατος χειριστής σύγκρισης, και υπάρχει ήδη σε άλλες δημοφιλείς γλώσσες προγραμματισμού όπως το Perl και το Ruby.
Ο χειριστής Null Coalescing σημειώνεται με δύο ερωτηματικά (??). Μπορείτε να το χρησιμοποιήσετε όταν θέλετε να ελέγξετε αν υπάρχει κάτι και να επιστρέψετε μια προεπιλεγμένη τιμή, αν δεν το κάνει. Ο χειριστής συγχώνευσης επιστρέφει το αποτέλεσμα του πρώτου τελεστή του αν υπάρχει και δεν είναι μηδέν και ο δεύτερος τελεστής σε οποιαδήποτε άλλη περίπτωση.
Ακολουθεί ο τρόπος με τον οποίο ο νέος φορέας εκμετάλλευσης μειώνει το χρόνο που δαπανάται με βασικές δηλώσεις:
7. Επιτρέπει ακριβείς δηλώσεις τύπου
Έχετε θελήσει ποτέ να αποτρέψετε ακούσιες τιμές επιστροφής δηλώνοντας τον τύπο επιστροφής μιας συνάρτησης; Λοιπόν, η νέα PHP 7 επιτρέπει στους προγραμματιστές να βελτιώσουν την ποιότητα του κώδικα τους με τη βοήθεια των δηλώσεων τύπου επιστροφής.
Η παρακάτω εικόνα απεικονίζει μια πολύ απλή περίπτωση χρήσης όπου το foo () η λειτουργία υποτίθεται ότι επιστρέφει έναν πίνακα. Δείτε πιο πολύπλοκα παραδείγματα εδώ.
Για να βελτιώσει ακόμη περισσότερο τη λειτουργία, η PHP 7 εισάγει 4 νέες δηλώσεις τύπου για κλιμακωτούς τύπους: int, float, string και bool. Οι νέοι κλιμακωτοί τύποι επιτρέπουν στους προγραμματιστές να δηλώσουν ότι αναμένουν να επιστραφούν ακέραιοι αριθμοί, πλωτήρες, χορδές ή booleans. Οι νέοι κλιμακωτοί τύποι που εισήχθησαν από την PHP 7 θα υποστηριχθούν επίσης από το Tip Type Tips που επιτρέπει στους προγραμματιστές να αναγκάσουν τον τύπο παραμέτρων από τη σειρά PHP 5.X.
8. Προσθέτει Ανώνυμες Τάξεις
Η PHP 7 σάς δίνει τη δυνατότητα να χρησιμοποιείτε ανώνυμες τάξεις, ήδη μια καθιερωμένη πρακτική σε άλλες αντικειμενοστρεφείς γλώσσες όπως C # και Java. Μια ανώνυμη τάξη είναι μια τάξη χωρίς όνομα. Το αντικείμενο που παράγει έχει την ίδια λειτουργικότητα με ένα αντικείμενο μίας ονομαστικής κλάσης.
Η σύνταξη είναι η ίδια με αυτή που έχουμε συνηθίσει στις παραδοσιακές τάξεις PHP, λείπει μόνο το όνομα. Αν οι ανώνυμες τάξεις χρησιμοποιούνται καλά, μπορούν να επιταχύνει την κωδικοποίηση καθώς και το χρόνο εκτέλεσης. Οι ανώνυμες τάξεις είναι εξαιρετικές όταν μία τάξη χρησιμοποιείται μόνο μία φορά κατά τη διάρκεια της εκτέλεσης και σε περιπτώσεις όπου δεν χρειάζεται να τεκμηριωθεί μια τάξη.
9. Διευκολύνει τις εισαγωγές από τον ίδιο χώρο ονομάτων
Η νέα Δήλωση Χρήσης Ομάδας θα είναι θετική για όσους από εσάς θέλετε εισάγετε πολλές κλάσεις από το ίδιο χώρο ονομάτων. Η νέα σύνταξη κόβει την ευκρίνεια, κάνει τον κώδικα σας πιο εύκολο στα μάτια και σας εξοικονομεί πολύ χρόνο δακτυλογράφησης.
Επίσης, θα είναι ευκολότερο να διαβάσετε και να εντοπίσετε κώδικες εντοπισμού σφαλμάτων, καθώς οι δηλώσεις ομαδικής χρήσης σας βοηθούν να προσδιορίσετε τις εισαγωγές που ανήκουν στην ίδια ενότητα.
10. Καθαρίζει το δωμάτιο
Ο στόχος της PHP 7 ήταν να απελευθερώσει τον χώρο για να βελτιώσει, γι 'αυτό ήταν απαραίτητο να απαλλαγούμε από πολλές απογοητευμένες λειτουργίες και παλαιά και μη υποστηριζόμενα API Server και επεκτάσεις. Αν θέλετε να ελέγξετε ποιες είναι αυτές λεπτομερώς, κάντε κλικ εδώ και εδώ.
Όλα τα αντικείμενα που έχουν αφαιρεθεί έχουν υποβληθεί για λίγο στην PHP 5, οπότε πιθανότατα δεν τα έχετε χρησιμοποιήσει για μεγάλο χρονικό διάστημα. Ωστόσο, έχετε υπόψη σας εάν έχετε μια εφαρμογή παλαιού τύπου που εκτελούνται σε παλαιότερες εκδόσεις PHP η νέα PHP 7 μπορεί ενδεχομένως να σπάσει ο κώδικας.