45 |
Ο κώδικας πυρήνα περιέχει πολλές, σημαντικές και κυρίως αναγκαίες, για μία εφαρμογή
μεγάλου βεληνεκούς, συναρτήσεις. Οι συναρτήσεις αυτές συγκεντρώνουν τα κάτωθι
χαρακτηριστικά.
Προειδοποίηση και διαχείριση σφαλμάτων (Error & Logs Handler) [20]
Πολλαπλοί μηχανισμοί προσωρινής αποθήκευσης (cache) [21]
Διαχείριση ενοτήτων (Sessions) [22] και Cookies
Διασύνδεση με βάσεις δεδομένων
Διαχείριση δεδομένων συνδεδεμένων χρηστών (CUserIdentity) [23]
Διαχείριση διευθύνσεων για SEO [24] (URL manager) [25]
Ασφάλεια εφαρμογής μέσω PDO εκφράσεων [26], πιστοποίηση αιτήσεων (CSRF)
[27], επικύρωσης, δικαιωμάτων και εκκαθάριση δεδομένων χρήστη (Sanitization)
[28].
Ταυτόχρονα παρέχεται στο σύστημα αρχείων πυρήνα η δυνατότητα για προσθήκη
επεκτάσεων και API [29] για πίνακες, φόρμες και γενικώς για αρχεία εμφάνισης. Όλα τα αρχεία
πυρήνα βρίσκονται στο σύστημα αρχείων της εφαρμογής μας και μπορούμε να τα επεξεργαστούμε
ή να δημιουργήσουμε νέα με δικές μας συναρτήσεις και λειτουργίες σε πηγαίο κώδικα PHP.
Τα τελευταία χρόνια εκτός από τα πλαίσια λογισμικού χρησιμοποιούνται πολύ
περισσότερο τα Συστήματα Διαχείρισης Περιεχομένου (CMS) [30]. Τα CMS είναι διαδικτυακές
εφαρμογές κατασκευασμένες σε πηγαίο κώδικα οι οποίες επιτρέπουν την τροποποίησή τους μέσω
ποικίλων λειτουργιών. Πρόκειται για πανίσχυρες εφαρμογές οι οποίες είναι ιδιαίτερα μεγάλες σε
μέγεθος με σκοπό να καλύψουν όσο περισσότερες γίνεται επιθυμητές τροποποιήσεις. Γενικώς τα
CMS δεν συνίστανται για απαιτητικά έργα και πολλαπλούς χρήστες, διότι εμφανίζουν χαμηλή
αποδοτικότητα και δύσκολο αν όχι κλειστό κώδικα πυρήνα. Ο λόγος της χαμηλής αποδοτικότητάς
τους είναι ακριβώς ο υπερβολικά μεγάλος κώδικας πυρήνα, από τον οποίο για μία απλή εφαρμογή
μπορεί να χρησιμοποιείται μόνο το 10%, ενώ παράλληλα εκτελείται και το υπόλοιπο 90%.
Τα πλαίσια λογισμικού ασφαλώς δεν σχετίζονται καθόλου με τα συστήματα διαχείρισης
περιεχομένου, είναι πολύ μικρότερα σε μέγεθος και παρέχουν τον κώδικα με τις συναρτήσεις σε
PHP και όχι την ίδια την εφαρμογή με σκοπό την τροποποίησή της. Έτσι, εμφανίζουν τεράστια
διαφορά σε απόδοση και ταχύτητα όπως παρουσιάζουν οι εικόνες 13, 14 και 15.