
Το CakePHP είναι μια πλατφόρμα ανοικτού κώδικα για PHP που προορίζετε για να κάνει την δημιουργία, τη δημοσίευση και τη συντήρηση των εφαρμογών ευκολότερη. Επίσης προσφέρει πολλά χρήσιμα μοντέλα σχεδίασης, όπως είναι το MVC (Μοντέλο – Προβολή – Ελεγκτής) που συναντάμε και σε άλλες δημοφιλείς πλατφόρμες. Όπως το Ruby on Rails. Η πλατφόρμα CakePHP επίσης παρέχει ένα μεγάλο αριθμό πολύτιμων βιβλιοθηκών για να χειρίζεστε κοινές εργασίες. Ένα παράδειγμα είναι ο «Inflector» (μια ρουτίνα που παίρνει μια λέξη για διαχειρίζεται την μορφή της [ενικός – πληθυντικός])
Αυτό το άρθρο έχει ως στόχο να σας κατευθύνει προς τη σωστή κατεύθυνση ώστε να μπορείτε να αρχίσετε με το CakePHP και τελικά να δημιουργήσετε τη δική σας εφαρμογή με τη χρήση της πλαρφόρμας.
Ένα σημαντικό μέρος τους χρόνου που καταναλώνετε για να προγραμματίσετε μια εφαρμογή σε PHP είναι γράφοντας ξανά και ξανά των ίδιο κώδικα για κάποιες λειτουργίες όπως είναι οι συνδέσεις με βάσεις δεδομένων ή αποστέλλοντας δεδομένων στο περιηγητή διαδικτύου. Φυσικά, όλος αυτός ο κώδικας εύκολα μπορεί να αποδιοργανωθεί σε μια εφαρμογή που γράφετε με PHP. Αυτό που χρειάζεται είναι μια πλατφόρμα για την PHP που να κάνει ότι και η Ruby on Rails στη Ruby.
Το CakePHP παρέχει ένα μεγάλο αριθμό από βιβλιοθήκες που υποστηρίζουν κοινές εργασίες και έχει και την κατάλληλη δομή για να οργανώνετε ο κώδικας σε φακέλους και συνδέετε ο κώδικας με αρχεία. Σαν αποτέλεσμα, ο χρόνος που καταναλώνετε για να γράφετε και να οργανώνετε τον κώδικα σας μειώνετε αρκετά.
Στη λίστα που ακολουθεί μπορείτε να δείτε μια λίστα με πράγματα που σας παρέχει το CakePHP για να κάνει τον προγραμματισμό ευκολότερο.
Πριν αρχίσετε να γράφετε κώδικα με το CakePHP χρειάζεστε το δικό σας αντίγραφο της πλατφόρμας ανεβασμένο στον Server σας. Επισκεφτείτε το CakePHP.org και κάντε Click στο μεγάλο πορτοκαλί κουμπί που λέει Download.
Εφόσον και έχετε ένα αντίγραφο της πλατφόρμας, ανεβάστε το στον Server σας ο οποίος όμως μπορεί να εκτελέσει PHP και έχει και MySQL. Θα σας πρότεινα να δημιουργήσετε ένα νέο κατάλογο και να τοποθετήσετε εκεί το αντίγραφό σας.
Αφού τελειώσετε με το ανέβασμα στο Server η δομή του καταλόγου σας θα πρέπει να μοιάζει με την ακόλουθη :
/Διαδρομή ως τη ρίζα της εφαρμογής
/cake/
/docs/
/app/
config/
controllers/
models/
plugins/
tmp/
vendors/
views/
webroot/
index.php
.htaccess
/vendors/
index.php
.htaccess
Όλοι αυτοί οι κατάλογοι μπορεί αρχικά να σας φοβίζουν, αλλά με το να υπάρχουν τόσοι πολλοί κατάλογοι επιτυγχάνετε η καλύτερη οργάνωση των διαφορετικών στοιχείων της πλατφόρμας. Μερικά από τα ονόματα των καταλόγων δεν είναι άμεσα κατανοητά για το τι μπορεί να κάνουν και έτσι ακολουθεί ανάλυση για κάθε κατάλογο ξεχωριστά.
Ο κατάλογος cake έχει αποθηκευμένες όλες τις λειτουργίες του πυρήνα και τις εσωτερικές διεργασίες του CakePHP. Συνήθως δεν χρειάζεται να κάνετε καμία αλλαγή εδώ.
Ο κατάλογος docs έχει μέσα πληροφορίες για την άδεια χρήσης (copyright.txt), το αρχείο αλλαγών που έχουν πραγματοποιηθεί μέχρι σήμερα στην πλατφόρμα και μερικά άλλα χρήσιμα αρχεία. Αυτός ο κατάλογος δεν είναι απαραίτητος για να λειτουργήσει το CakePHP, οπότε μπορείτε να τον διαγράψετε αν θέλετε.
Ο κατάλογος app είναι αυτός στον οποίο θα βάλετε μέσα τα αρχεία της εφαρμογής σας. Σε αυτό τον φάκελο θα γράψετε διατηρείτε τος Controllers σας, τις ρυθμίσεις σας, τα πρότυπα σας και άλλα πολλά.
Ο κατάλογος config διατηρεί όλα τα αρχεία ρυθμίσεων για την εφαρμογή σας. Μέσα θα βρείτε το αρχείο ρυθμίσεων για τη βάση δεδομένων, τη λίστα πρόσβασης, τα inflections και τα routes (Μορφοποίηση των URL)
Στον κατάλογο models θα αποθηκεύετε όλα τα αρχεία ενεργειών για τη βάση δεδομένων.
Στον κατάλογο views θα αποθηκεύετε όλα τα αρχεία προσχεδίων, δομών της σελίδας σας (Επικεφαλίδες, υποσέλιδα, μενού) και τα αρχεία των Helpers που σας παρέχουν επιπλέον λειτουργίες (όπως για παράδειγμα AJAX)
Στον κατάλογο controllers θα αποθηκεύεται όλα τα αρχεία που είναι απαραίτητα για τις λειτουργίες της εφαρμογής σας. Ένας controller είναι ένα μέρος της εφαρμογής που διαχειρίζεται τα models και τα views.
Ο κατάλογος plugins διατηρεί πρόσθετα που είναι ο συνδυασμός models, views και controller που μπορούν να πακεταριστούν και να χρησιμοποιηθούν και σε άλλες εφαρμογές. Για παράδειγμα φανταστείτε ένα plugin για τη διαχείριση των χρηστών ή ένα plugin που είναι αρμόδιο για τα RSS.
Ο κατάλογος tmp διατηρεί αρχεία της cache που δημιουργούνται από το σύστημα διαχείρισης της cache και επίσης διατηρεί και αρχεία αποσφαλμάτωσης. Αυτός ο φάκελος θα σας φανεί πολύ χρήσιμος κατά τη διάρκεια παραγωγής της εφαρμογής σας.
Ο κατάλογος vendors μπορεί να περιέχει άλλες βιβλιοθήκες που ίσως θέλετε να ενσωματώσετε στην εφαρμογή σας
Ο κατάλογος webroot διατηρεί το στατικό περιεχόμενο της εφαρμογής σας όπως είναι για παράδειγμα τα CSS, η JavaScript, οι εικόνες, κ.α. που είναι απαραίτητα στοιχεία για την εφαρμογή σας.
Ο δεύτερος κατάλογος vendors σας επιτρέπει να αποθηκεύεται βιβλιοθήκες από τρίτους κατασκευαστές και να τις χρησιμοποιήσετε μέσα από τους controllers σας. Για παράδειγμα, αν θέλετε να δημιουργήσετε μια εφαρμογή για το Facebook με το CakePHP, μπορείτε να αποθηκεύσετε τη βιβλιοθήκη του Facebook σε αυτό το φάκελο και στη συνέχεια να ρυθμίσετε το CakePHP για να την φορτώνει.
Οι ρυθμίσεις του CakePHP είναι εξαιρετικά πολύ απλές. Βασικά θα πρέπει να πούμε στο CakePHP που θα βρει τη βάση δεδομένων και πως θέλουμε να λειτουργούν κάποια μέρη του CakePHP.
Για προγραμματιστικούς λόγους θα πρέπει να δημιουργήσετε μια νέα βάση δεδομένων και ένα χρήστη με τα ακόλουθα δικαιώματα : ALTER, CREATE TEMPORARY TABLES, CREATE, DELETE, DROP, SELECT, INSERT, UPDATE, REFERENCES, INDEX, LOCK TABLES.
Αφού έχετε δημιουργήσει τη βάση δεδομένων και τον χρήστη, μπορούμε τώρα να ρυθμίσουμε το CakePHP για να βρίσκει τη νέα βάση δεδομένων. Το αρχείο ρυθμίσεων για τη βάση δεδομένων είναι στον κατάλογο /app/config/database.php.default
ανοίξτε το αρχείο και κατεβείτε κάτω χαμηλά μέχρι να εντοπίσετε τον ακόλουθο πίνακα.
var $default = array('driver' => 'mysql',
'connect' => 'mysql_connect',
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'project_name',
'prefix' => '');
και εισάγετε της πληροφορίες της βάσης δεδομένων σας. Αν για οποιοδήποτε λόγο δεν μπορείτε να δημιουργήσετε μια νέα βάση δεδομένων ή ο Server σας δεν το επιτρέπει, μπορείτε να δημιουργήσετε πίνακες με πρόθεμα σε μια ήδη υπάρχουσα βάση δεδομένων απλά αλλάζοντας την ιδιότητα prefix μέσα στον πίνακα. Μετά την ρύθμιση του αρχείου θυμηθείτε να μετονομάσετε το αρχείο σε database.php
Οι υπόλοιπες ρυθμίσεις τη εφαρμογής είναι στον κατάλογο /app/config/core.php. Σε αυτό το αρχείο μπορείτε να αλλάξετε το επίπεδο αποσφαλμάτωσης, πως αποθηκεύονται οι σύνοδοι, πόσο να διατηρούνται τα δεδομένα μιας συνόδου για μεγαλύτερη ασφάλεια, το όνομα από τα cookies και άλλα. Από τη στιγμή που θα αρχίσουμε να προγραμματίζουμε την εφαρμογή μας ίσως χρειαστεί να αλλάξουμε αυτές τις τιμές, αλλά δεν είναι και απαραίτητο.
Από τη στιγμή που έχετε εισάγει τις σωστές ρυθμίσεις για τη βάση δεδομένων και έχετε ανεβάσει και τα αρχεία σας στον Server, η εγκατάσταση θα πρέπει να είναι έτοιμη για προγραμματισμό. Πληκτρολογήστε στον περιηγητή τη θέση στην οποία έχετε τοποθετήσει το CakePHP. Αν όλα δουλεύουν κανονικά θα πρέπει να δείτε την ακόλουθη σελίδα.
Αυτό το Tutorial είχε ως σκοπό να σας δείξει τα βασικά του CakePHP και πως να το ρυθμίσετε για να λειτουργήσει στο Server σας. Σε επόμενα Tutorials θα σας παρουσιάσουμε πως να δημιουργήσετε μια εφαρμογή από το μηδέν με το CakePHP, προσθέτοντας λειτουργίες όπως AJAX, και προσαρτώντας νέες βιβλιοθήκες όπως αυτή του Facebook να χρησιμοποιείτε επιπλέον κώδικα.
Thanks for the great post, I have linked back to your site
[...] ανοίξτε το αρχείο και κατεβείτε κάτω χαμηλά μέχρι να εντοπίσετε τον ακόλουθο πίνακα. [...]