CakePHP Tutorial για αρχάριους: Τι είναι το CakePHP Framework;

Περίληψη φροντιστηρίου CakePHP

Σε αυτό το σεμινάριο CakePHP, θα μάθουμε όλες τις βασικές έννοιες από την αρχή. Αυτό το σεμινάριο καλύπτει τον ορισμό του CakePHP, το ιστορικό, τις δυνατότητες, τη δομή και τη διαμόρφωση φακέλων και σύντομες λεπτομέρειες σχετικά με τον τρόπο λειτουργίας του πλαισίου CakePHP.

Τι είναι το CakePHP;

CakePHP είναι ένα πλαίσιο ανοιχτού κώδικα για την ταχεία ανάπτυξη και συντήρηση διαδικτυακών εφαρμογών ενσωματωμένων σε PHP. Βασίζεται στην έννοια της αρχιτεκτονικής MVC, η οποία βοηθά στη δημιουργία εφαρμογών ιστού PHP εύκολα και απλά με λιγότερο κώδικα. Το CakePHP σας βοηθά επίσης να διαχωρίσετε την επιχειρηματική λογική από το επίπεδο δεδομένων και το επίπεδο παρουσίασης.

Γιατί να χρησιμοποιήσετε το CakePHP Framework;

Ακολουθούν τα κύρια οφέλη/πλεονεκτήματα της χρήσης του πλαισίου CakePHP:

  • Η Cake PHP είναι μακράν, μια από τις πιο γρήγορες πλατφόρμες ανάπτυξης ιστού.
  • Το CakePHP επιτρέπει στους προγραμματιστές να αποκτήσουν βελτιωμένο έλεγχο στη βάση δεδομένων και τα ερωτήματα SQL.
  • Βοηθά τους χρήστες να αναπτύξουν ισχυρές εφαρμογές Ιστού χωρίς να χάνουν γρήγορα την ευελιξία του περιβάλλοντος.
  • Υποστήριξη PostgreSQL, SQLite, MySQL, PEAR-DB για ADODB, μια βιβλιοθήκη αφαίρεσης βάσης δεδομένων.
  • Διευκολύνει τις διευθύνσεις URL φιλικές προς τις μηχανές αναζήτησης
  • Παρέχετε λειτουργίες όπως επικύρωση εισόδου και εργαλεία απολύμανσης που καθιστούν την εφαρμογή ασφαλή.
  • Πρότυπο με οικεία σύνταξη PHP

Ιστορία του CakePHP

Τώρα σε αυτό το σεμινάριο CakePHP, θα καλύψουμε την ιστορία του πλαισίου CakePHP:

Έτος Milestone
2005 Το CakePHP αναπτύχθηκε από τον Michal Tatarynowicz στις 15 Απριλίου 2005.
2005 Το CakePHP το δημοσίευσε με άδεια MIT και το άνοιξε στους προγραμματιστές της κοινότητας.
2005 Ο Larry E Masters ανέλαβε ως κύριος προγραμματιστής.
2006 Κυκλοφόρησε η έκδοση 1.0
2011 Κυκλοφόρησε η έκδοση 2
2014 Κυκλοφόρησε η έκδοση 3 η οποία ανακαλεί πλήρως τις προηγούμενες εκδόσεις.
2016 Έκδοση 3.3.3. Το Of CakePHP κυκλοφορεί με πολλές προηγμένες δυνατότητες.
2019 Η έκδοση 3.7.9 είναι η τελευταία έκδοση που κυκλοφόρησε
2021 Η βασική ομάδα του CakePHP ανακοινώνει την άμεση διαθεσιμότητα του CakePHP 4.2.2

Χαρακτηριστικά του CakePHP

Ακολουθούν σημαντικά χαρακτηριστικά του CakePHP.

  • Δραστήρια, φιλική κοινότητα
  • Αρχιτεκτονική MVC
  • Ενσωματωμένη επικύρωση
  • Λειτουργεί από οποιονδήποτε κατάλογο ιστοτόπων, με ορισμένες ή καθόλου ρυθμίσεις παραμέτρων Apache.
  • Μηχανή προτύπων
  • Προσωρινής αποθήκευσης Operaσεις
  • Εύκολες αλληλεπιδράσεις βάσεων δεδομένων CRUD.
  • Ενσωματωμένη επικύρωση
  • Στοιχεία Handlin όπως Email, Cookie, Security, Session και Request
  • Προβολή βοηθών για JavaΓραφή, Ajax, Φόρμες HTML και άλλα

CakePHP- Δομή φακέλου

Τώρα σε αυτό το σεμινάριο πλαισίου CakePHP, θα μάθουμε για τη δομή του φακέλου CakePHP.

Παρακάτω είναι μια δομή φακέλου του CakePHP:

Folder Descriptιόν
Δοκιμές Αυτός ο φάκελος περιέχει δοκιμαστικές περιπτώσεις για την εφαρμογή σας.
tmp Ο φάκελος temp αποθηκεύει προσωρινά δεδομένα.
Πάροχος υπηρεσιών Αυτός ο φάκελος σάς βοηθά να αποθηκεύσετε το CakePHP και θα εγκατασταθούν άλλες εξαρτήσεις εφαρμογών.
Webroot Τα Διαχωριστικά Webroot αποθηκεύει όλα τα αρχεία που θέλετε να είναι δημόσια προσβάσιμα.
Bin Ο φάκελος bin περιέχει τα εκτελέσιμα αρχεία της κονσόλας Cake.
Logs Περιέχει τα αρχεία καταγραφής σας, το οποίο εξαρτάται από τη διαμόρφωση του αρχείου καταγραφής σας.
Config Ο φάκελος config αποθηκεύει τα αρχεία διαμόρφωσης που χρησιμοποιεί το CakePHP
Πρόσθετα Αυτός ο φάκελος περιέχει πρόσθετα για την εφαρμογή. είναι όπου αποθηκεύονται τα Πρόσθετα που χρησιμοποιεί η εφαρμογή σας.
src Περιέχει μια εργασία κονσόλας και εντολές για τη διαχείριση της εφαρμογής σας.

Locale Αποθηκεύει αρχεία συμβολοσειρών για διεθνοποίηση.

Μοντέλο Περιέχει τους πίνακες, τις οντότητες και τις συμπεριφορές της εφαρμογής σας.

Διαμόρφωση του CakePHP

Το CakePHP έρχεται με ένα μόνο αρχείο διαμόρφωσης από προεπιλογή. Σας επιτρέπει επίσης να το τροποποιήσετε σύμφωνα με τις απαιτήσεις σας. Υπάρχει ένας φάκελος που ονομάζεται "config" που δίνεται για αυτό το σκοπό.

Μεταβλητό όνομα Descriptιόν
Debug Σας επιτρέπει να αλλάξετε την έξοδο εντοπισμού σφαλμάτων CakePHP.
App.namespace Σας βοηθά να βρείτε κατηγορίες εφαρμογών κάτω από.
App.baseUrl Καταργήστε το σχόλιο αυτής της λέξης-κλειδιού όταν δεν θέλετε να χρησιμοποιήσετε το mod_rewrite του Apache με το CakePHP.
Κωδικοποίηση εφαρμογής Αυτή η εντολή σάς επιτρέπει να ορίσετε τι χρησιμοποιεί η κωδικοποίηση της εφαρμογής σας.
App.base Είναι ένας βασικός κατάλογος στον οποίο βρίσκεται η εφαρμογή Εάν είναι ψευδής, θα εντοπιστεί αυτόματα.
App.fullBaseUrl Πιστοποιημένο όνομα τομέα
App.webroot Είναι ένας κατάλογος webroot.
App.wwwRoot Η διαδρομή αρχείου προς το webroot.
App.jsBaseUrl Διαδρομή προς τον δημόσιο κατάλογο js.
App.paths Διαμόρφωση μονοπατιών για πόρους που δεν βασίζονται σε κλάσεις.
App.cssBaseUrl Είναι μια διαδρομή web προς τον δημόσιο κατάλογο css στο webroot.
Ασφάλεια.αλάτι Είναι μια τυχαία συμβολοσειρά που χρησιμοποιείται στον κατακερματισμό.
Asset.timestamp Αυτή η μεταβλητή σάς επιτρέπει να προσαρτάτε μια χρονική σήμανση όταν χρησιμοποιείτε κατάλληλους βοηθούς.

Cake- Συμβάσεις ονομασίας PHP

Το κέικ ακολουθεί την ιδέα της σύμβασης πάνω από τη διαμόρφωση. Η μέθοδος σύμβασης ονομασίας σάς επιτρέπει να οργανώσετε τη λειτουργία της διαδικτυακής εφαρμογής. Σε αυτή τη μέθοδο, περισσότερες από μία λέξεις στο όνομα πρέπει να διαχωρίζονται με "_" κατά την ονομασία του αρχείου και θήκες camel κατά την ονομασία της κλάσης.

Τα τμήματα MVC πρέπει να ακολουθούν την παρακάτω σύνταξη:

Όνομα αρχείου Ονομα τάξης Όνομα βασικής κλάσης Τοποθεσία
Μοντέλο Όνομα αρχείου
Ενικός τύπος του ονόματος του πίνακα με επέκταση .php π.χ.: order.php
Το όνομα αρχείου σε μια θήκη Camel, π.χ.: Παραγγελία AppModel /app/models
ελεγκτής tablename_controller με επέκταση .php, π.χ.: ordcrs_controllcr.php Το όνομα του πίνακα επισυνάπτεται Ελεγκτής, π.χ. OrdcrsController AppController /app/controllers
Προβολή Το όνομα της ενέργειας στον ελεγκτή με επέκταση .ctp, π.χ.: add.ctp Χωρίς μαθήματα. μια προβολή c ετικέτες HTML και PHP. ' /app/vuews/όνομα ελεγκτή

Διαμόρφωση βάσεων δεδομένων

Το CakePHP σάς επιτρέπει να ρυθμίσετε τις παραμέτρους της βάσης δεδομένων config / app.php αρχείο. Παρέχει προεπιλεγμένη σύνδεση με παρεχόμενες παραμέτρους τις οποίες μπορείτε να τροποποιήσετε ανάλογα με την επιλογή σας.

Σημαντικές παράμετροι δίνονται παρακάτω:

βάση δεδομένων Όνομα βάσης δεδομένων
θύρα (προαιρετικό)
κωδικοποίησης
Η θύρα TCP ή η υποδοχή Unix που χρησιμοποιείται για τη σύνδεση στο διακομιστή.
Χρονική ζώνη Ζώνη ώρας διακομιστή για ρύθμιση.
Schema Σας βοηθά να καθορίσετε ποιο σχήμα μπορείτε να χρησιμοποιήσετε.
unix_socket Αυτή η βάση δεδομένων χρησιμοποιείται από προγράμματα οδήγησης για σύνδεση μέσω αρχείων υποδοχής Unix.
Κλειδί SSL Είναι μια διαδρομή αρχείου προς το αρχείο κλειδιού SSL.
ssl_cert Είναι μια διαδρομή αρχείου προς το αρχείο πιστοποιητικού SSL.
ssl_ca Είναι μια διαδρομή αρχείου προς την αρχή πιστοποιητικού SSL.
Ιστορικό Αυτός ο όρος σας βοηθά να εκτελέσετε καταγραφή ερωτημάτων.
Μέσα σε αυτό Μια λίστα ερωτημάτων που πρέπει να αποστέλλονται στον διακομιστή της βάσης δεδομένων κάθε φορά που δημιουργείται η σύνδεση.
Ορίστε το σε true εάν θέλετε να χρησιμοποιήσετε δεσμευμένες λέξεις ή ειδικούς χαρακτήρες

Πώς λειτουργεί το MVC στο CakePHP;

Τώρα, θα μάθουμε πώς λειτουργεί το MVC στο CakePHP σε αυτό το σεμινάριο πλαισίου CakePHP.

Είναι ένας δυναμικός τρόπος δημιουργίας του αρχικού μηχανισμού μιας διαδικτυακής εφαρμογής. Το μοντέλο, η προβολή και ο ελεγκτής- χωρίζουν το ένα το άλλο.

Αρχιτεκτονική MVC στο CakePHP
Αρχιτεκτονική MVC στο CakePHP

Το Cake PHP χωρίζει τις λειτουργίες σε τρία μέρη:

  • Μοντέλα: Χρησιμοποιούνται για όλες τις αλληλεπιδράσεις βάσεων δεδομένων.
  • Προβολές: Χρησιμοποιείται για όλες τις εξόδους και τις οθόνες.
  • Ελεγκτές: Χρησιμοποιούνται για τον έλεγχο της ροής της εφαρμογής

Ακολουθούν τα βήματα για να χρησιμοποιήσετε την αρχιτεκτονική MVC στο CakePHP:

Βήμα 1) Ο πελάτης ή ο χρήστης αλληλεπιδρά με την προβολή

Βήμα 2) Προβολή ελεγκτή ειδοποιήσεων για το συγκεκριμένο συμβάν.

Βήμα 3) Στέλνει ένα αίτημα βάσης δεδομένων στο μοντέλο και ο ελεγκτής ενημερώνει το μοντέλο.

Βήμα 4) Το μοντέλο ειδοποιεί την άποψη ότι έχει αλλάξει.

Βήμα 5) Το View λαμβάνει δεδομένα μοντέλου και ενημερώνεται σύμφωνα με τα δεδομένα που έλαβε.

Γιατί να χρησιμοποιήσετε το MVC;

  • Το CakePHP MVC σάς βοηθά να διαχωρίσετε την επιχειρηματική λογική από την παρουσίαση και την ανάκτηση δεδομένων.
  • Ένας ιστότοπος χωρίζεται σε λογικές ενότητες τις οποίες μπορείτε να διαχειριστείτε με έναν συγκεκριμένο ελεγκτή.
  • Κατά τη δοκιμή και τον εντοπισμό σφαλμάτων μιας εφαρμογής, οποιοσδήποτε προγραμματιστής σάς βοηθά να εντοπίσετε και να διορθώσετε τα σφάλματα χωρίς να έχετε πλήρεις λεπτομέρειες του κώδικα.

Μειονεκτήματα της χρήσης του πλαισίου CakePHP

  • Η τεκμηρίωση που υποστηρίζει το CakePHP δεν είναι τόσο ολοκληρωμένη όσο θα έπρεπε.
  • Για να χρησιμοποιήσει το λογισμικό CakePHP, ο προγραμματιστής πρέπει να ενημερώσει τις προεπιλεγμένες διαδρομές για τη δημιουργία φανταχτερών URL, κάτι που είναι πολύ περισσότερη δουλειά σε σύγκριση με άλλα πλαίσια PHP.
  • CakePHP μονόδρομη δρομολόγηση σε σύγκριση με άλλα πλαίσια.
  • Εκμάθηση PHP πλαίσιο δεν είναι εύκολο.
  • Η προσφορά δρομολόγησης μονής κατεύθυνσης είναι ένα άλλο μειονέκτημα σε σύγκριση με πλαίσια όπως το Ruby on Rails.

Σύνοψη

  • Το CakePHP είναι ένα πλαίσιο ανοιχτού κώδικα που βοηθά στην πολύ ευκολότερη ανάπτυξη και συντήρηση εφαρμογών PHP.
  • Το CakePHP επιτρέπει στους προγραμματιστές να αποκτήσουν βελτιωμένο έλεγχο στη βάση δεδομένων και τα ερωτήματα SQL.
  • Αναπτύχθηκε από τον Michal Tatarynowicz στις 15 Απριλίου 2005
  • Η αρχιτεκτονική MVC και η ενσωματωμένη επικύρωση είναι τα πιο σημαντικά χαρακτηριστικά του CakePHP
  • Το CakePHP έρχεται με ένα μόνο αρχείο διαμόρφωσης από προεπιλογή που σας επιτρέπει να το τροποποιήσετε σύμφωνα με τις απαιτήσεις σας.
  • Η μέθοδος σύμβασης ονομασίας του CakePHP σας επιτρέπει να οργανώσετε τη λειτουργία της διαδικτυακής εφαρμογής.
  • Το CakePHP σάς επιτρέπει να διαμορφώσετε τη βάση δεδομένων σε αρχείο config/app.php.
  • Το Cake PHP χωρίζει τις λειτουργίες MVC σε τρία μέρη:
  • Μοντέλα: Χρησιμοποιούνται για όλες τις αλληλεπιδράσεις βάσεων δεδομένων, Προβολές: Χρησιμοποιούνται για όλες τις εξόδους και οθόνες, Ελεγκτές: Χρησιμοποιούνται για τον έλεγχο της ροής της εφαρμογής
  • Το μεγαλύτερο πλεονέκτημα της χρήσης MVC στο CakePHP είναι ότι σας βοηθά να διαχωρίσετε την επιχειρηματική λογική από την παρουσίαση και την ανάκτηση δεδομένων.
  • Το μεγαλύτερο μειονέκτημα του CakePHP είναι ότι η τεκμηρίωση που υποστηρίζει το CakePHP δεν είναι τόσο ολοκληρωμένη όσο θα έπρεπε.