PHP 8.2: Τι νέο υπάρχει;
Η νέα έκδοση του PHP είναι προ των πυλών. Ποιες είναι οι νέες υλοποιήσεις που πρέπει να γνωρίζετε; Διαβάστε αυτό το άρθρο για να μάθετε!

Στο παρακάτω άρθρο, θα εξηγήσουμε πώς λειτουργεί το Symfony Polyfill και πώς σχετίζεται με τα έργα Symfony. Θα εμβαθύνουμε επίσης στην ιδέα που προσπαθεί να λύσει αυτή η βιβλιοθήκη.
Στις περισσότερες σύγχρονες PHP έργα, θα παρατηρήσετε μια μεγάλη εξάρτηση από το Symfony Polyfill βιβλιοθήκη. Σε αυτό το άρθρο, θα εξηγήσουμε όχι μόνο πώς λειτουργεί και πώς σχετίζεται με την Έργα Symfony, αλλά θα εμβαθύνουμε και στην ιδέα του προβλήματος που προσπαθεί να λύσει.
PHP ήταν σε κακή κατάσταση για μεγάλο χρονικό διάστημα. Ήταν το 2005, όταν ο Andrei Zmievski ξεκίνησε ένα έργο για να φέρει εγγενή υποστήριξη Unicode για PHP λόγω μικτών κριτικών και πολλών ανησυχιών ότι PHP πηγαίνει προς τη λάθος κατεύθυνση. Ανάπτυξη της PHP 6.x ξεκίνησε. Αλλά δεν ολοκληρώθηκε ποτέ - και αυτή είναι μια ιστορία για μια άλλη μέρα. 10 χρόνια αργότερα, κάπου μεταξύ 2014 και 2015, οι Dmitry Stogov, Xinchen Hui και Nikita Popov ξεκίνησαν το phpng
- έργο που βελτιστοποίησε και αναδιαμόρφωσε την εσωτερική μηχανή Zend Engine που χρησιμοποιείται από το PHP.
Και για τα τελευταία χρόνια, PHP αναπτύσσεται ταχύτερα από ποτέ, και σήμερα βρίσκεται στη σταθερή έκδοση 8.1.
Λόγω της ταχείας ανάπτυξης νέων χαρακτηριστικών στη γλώσσα, όχι μόνο οι προγραμματιστές έπρεπε να προσαρμοστούν στις αλλαγές αυτές, αλλά και οι πάροχοι υπηρεσιών υποδομής και φιλοξενίας.
Για να διασφαλίσουμε ότι εμείς, οι προγραμματιστές, μπορούμε να χρησιμοποιούμε τα νεότερα και καλύτερα χαρακτηριστικά της αγαπημένης μας γλώσσας προγραμματισμού Symfony Polyfill project γεννήθηκε.
Αυτό το έργο μεταφέρει χαρακτηριστικά που βρέθηκαν στο τελευταίο Εκδόσεις PHP και παρέχει επίπεδα συμβατότητας για ορισμένες επεκτάσεις και λειτουργίες. Προορίζεται να χρησιμοποιείται όταν η φορητότητα μεταξύ Εκδόσεις PHP και επεκτάσεις είναι επιθυμητή.
Αυτή είναι μια καθαρή περιγραφή του Symfony Polyfill αλλά τι σημαίνει αυτό;
Λόγω της ταχείας εξέλιξης Γλώσσα PHP και την εκτός βημάτων προσαρμογή του λογισμικού των παρόχων υπηρεσιών διαδικτύου, οι περισσότεροι προγραμματιστές βρέθηκαν αντιμέτωποι με μια απλή επιλογή:
Έπρεπε όμως να διατηρήσουν τη συμβατότητα με άλλα εργαλεία και υπηρεσίες που χρησιμοποιούνται ήδη τόσο στο κωδικός και την πλευρά της υποδομής - σχεδόν πάντα χρησιμοποιώντας παλαιότερες εκδόσεις της PHPΧρειάζεται να αναφέρω, αγαπητέ αναγνώστη, τον λεγόμενο "παράγοντα διασκέδασης" αυτών των δύο λύσεων;
Για να διευκολύνει τους προγραμματιστές, η κοινότητα του Ανοικτού Κώδικα το 2015 δημιούργησε η πρώτη σταθερή έκδοση του Polyfill με αριθμό 1.0. Η ζωή των προγραμματιστών έγινε ευκολότερη και θα μπορούσαμε να πούμε ότι το Symfony Polyfill έλυσε ένα πλήθος προβλημάτων, όπως η φορητότητα του κώδικα μεταξύ διαφορετικών πλατφορμών, Έκδοση PHP διαφορές, και κατέστησε πολύ πιο εύκολη την αναδιαμόρφωση των εφαρμογών και τη μείωση του τεχνολογικού χρέους.
Δυστυχώς, δεν μπορούν να λυθούν όλα τα προβλήματα με ένα εργαλείο.
Για σύνθετα Έργα πληροφορικής, η διατήρηση διαφορετικών εκδόσεων περιβαλλόντων για διαφορετικούς πελάτες/ κλάδους/ τμήματα είναι μια κοινή διαδικασία. Αυτό έχει ως αποτέλεσμα την ανάγκη ανάπτυξης πολλών διαφορετικών κλάδων εφαρμογών ταυτόχρονα, συχνά με διαφορετικές λειτουργικές απαιτήσεις και με τη δική τους έλξη. Έχω αντιμετωπίσει πολλές φορές το πρόβλημα της διατήρησης της ίδιας εφαρμογής για διαφορετικούς πελάτες σε διαφορετικά περιβάλλοντα PHP5 / PHP7 και το πλήθος των προβλημάτων που σχετίζονται με την ασυμβατότητα των βιβλιοθηκών ή των εξαρτήσεών τους για διαφορετικές εκδόσεις είναι απλά άλυτο χρησιμοποιώντας μόνο Symfony Polyfill.
Λόγω της ταχείας αύξησης των χαρακτηριστικών που ενσωματώνονται σε PHP, πολλοί προγραμματιστές δεν έχουν συμβαδίσει με το ρυθμό των αλλαγών. Πολλά από τα χαρακτηριστικά που προσφέρονται στις υψηλότερες εκδόσεις των PHP είναι εύκολο να επιτευχθούν με εξωτερικές βιβλιοθήκες, ή οι προγραμματιστές απλά δεν χρειάζονταν τα νέα χαρακτηριστικά, όπως οι Ίνες PHP. Όταν επιλέγετε ομάδα μέλη, είναι καλή ιδέα να βεβαιωθείτε ότι οι δεξιότητες ταιριάζουν ή ότι η διαδικασία παράδοσης κώδικα γίνεται πιο συνεπής με εργαλεία στατικής ανάλυσης και έγκαιρη ανίχνευση σφαλμάτων παλινδρόμησης εκδόσεων.
Η υιοθέτηση των νέων γλωσσικών χαρακτηριστικών εξακολουθεί να είναι αρκετά χαμηλή και PHP 5 πάνω από το μερίδιο 24% δείχνει σαφώς ότι το ένα τέταρτο των έργων PHP εκτελούν εκδόσεις μικρότερες από την έκδοση 7.x, του οποίου η στήριξη ασφαλείας θα τερματιστεί στις 6 Δεκεμβρίου 2022. Αυτό σημαίνει ότι κατά τη στιγμή που γράφεται αυτή η δημοσίευση, πάνω από 25% των έργων Web που βασίζονται σε PHP θα είναι δυνητικά ευάλωτα σε όλες τις νέες ευπάθειες ασφαλείας μέχρι το τέλος του έτους. "Αν λειτουργεί, γιατί να ασχοληθούμε";
Θα πρέπει να προσαρμοζόμαστε στις γλωσσικές αλλαγές το συντομότερο δυνατό και να χρησιμοποιούμε τις πιο πρόσφατες λύσεις το συντομότερο δυνατό. Κατά τη διάρκεια μιας πιθανής μετάβασης ενός έργου Legacy, αξίζει να συμπεριλάβουμε Symfony Polyfill ως αρωγός και χρησιμοποιώντας τεχνικές όπως το Strangler Pattern και η μοντέρνα σήμερα μεθοδολογία BDD, η οποία είναι απίστευτα εύκολο να εφαρμοστεί στην Πλαίσιο Symfony. Έτσι είμαστε πραγματικά αναγκασμένοι να χρησιμοποιήσουμε Symfony Polyfill?
Διαβάστε περισσότερα:
PHP Ανάπτυξη: 58T58P: 5 πράγματα που πρέπει να ξέρετε
7 Startups & Scaleups που θα ταρακουνήσουν τη σκηνή της αγοράς το 2022
PHP Ανάπτυξη. Symfony Console Component - Συμβουλές και κόλπα