SQL ERROR: query=( SELECT 'common' AS book_type, pbs.book_section_id, pbs.snippet, b.id AS book_id, b.name AS book_name, b.year AS book_year, b.series AS book_series, b.link as book_link, b.litres_link, ba.id AS author_id, ba.name AS author_name, ba.link as author_link, bst.pid as pid, bs.link as section_link FROM kartaslov.phrases p JOIN kartaslov.phrase_book_section pbs ON pbs.phrase_id = p.id AND pbs.book_type = 'common' JOIN kartaslov.books b ON b.id = pbs.book_id JOIN kartaslov.book_authors ba ON ba.id = b.author_id JOIN kartaslov.book_section_text bst ON bst.id = pbs.book_section_text_id JOIN kartaslov.book_sections bs ON bs.id = bst.book_section_id WHERE p.phrase = ? LIMIT 0, 3 ) UNION ALL ( SELECT 'classic' AS book_type, pbs.book_section_id, pbs.snippet, cb.id AS book_id, cb.name AS book_name, cb.year AS book_year, cb.series AS book_series, cb.link as book_link, NULL AS litres_link, cba.id AS author_id, cba.name AS author_name, cba.link AS author_link, cbst.pid as pid, cbs.link as section_link FROM kartaslov.phrases p JOIN kartaslov.phrase_book_section pbs ON pbs.phrase_id = p.id AND pbs.book_type = 'classic' JOIN kartaslov.classic_books cb ON cb.id = pbs.book_id JOIN kartaslov.classic_book_authors cba ON cba.id = cb.author_id JOIN kartaslov.classic_book_section_text cbst ON cbst.id = pbs.book_section_text_id JOIN kartaslov.classic_book_sections cbs ON cbs.id = cbst.book_section_id WHERE p.phrase = ? LIMIT 0, 3 ); err=Unknown column 'pbs.book_section_id' in 'SELECT' SQL_ERR
Το CodeIgniter είναι ένα ισχυρό πλαίσιο PHP με πολύ μικρό αποτύπωμα, σχεδιασμένο για προγραμματιστές που χρειάζονται μια απλή και κομψή εργαλειοθήκη για τη δημιουργία εφαρμογών web με πλήρεις δυνατότητες.
| Θέση | Πεδίο ορισμού | Σελίδα | Δράσεις |
|---|---|---|---|
| 1 | codeigniter.com | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 2 | code-igniter.ru | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 3 | ru.wikibooks.org | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 4 | blogocms.ru | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 5 | twitter.com | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 6 | hostinfo.ru | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 7 | phpframeworks.com | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 8 | max-3000.com | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 9 | net.tutsplus.com | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 10 | buzzman.ru | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| Θέση | Πεδίο ορισμού | Σελίδα | Δράσεις |
|---|---|---|---|
| 1 | code-igniter.ru | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 2 | codeigniter.com | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 3 | ru.wikipedia.org | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 4 | codeigniter.ru | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 5 | habrahabr.ru | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 6 | cigniter.ru | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 7 | codeigniter.org.ru | / | |
|
Πλήρης διεύθυνση URL
Τίτλος
N/A
Τελευταία Ενημέρωση
N/A
Αρχή σελίδας
N/A
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 8 | simplecoding.org | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 9 | blog.termit.name | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
| 10 | en.wikipedia.org | / | |
|
Κυκλοφορία:
N/A
Επιστροφή συνδέσμους:
N/A
Μερίδια κοινωνικής δικτύωσης:
N/A
Χρόνος φόρτωσης:
N/A
Προεπισκόπηση αποσπάσματος:
Δεν υπάρχει διαθέσιμο απόσπασμα |
|||
Καλώς ήρθατε στον κόσμο της ανάπτυξης ιστού όπου η αποτελεσματικότητα και η ευελιξία είναι το κλειδί για τη δημιουργία ισχυρών και επεκτάσιμων εφαρμογών. Σε αυτό το άρθρο, θα βουτήξουμε βαθιά σε ένα από τα πιο δημοφιλή πλαίσια PHP που είναι διαθέσιμα σήμερα - το CodeIgniter. Συντάκτης από τους ειδικούς στη διεύθυνση serpulse.com, αυτός ο οδηγός έχει σχεδιαστεί για να σας παρέχει μια ολοκληρωμένη κατανόηση του τρόπου αξιοποίησης του CodeIgniter για τη δημιουργία ιστότοπων δυναμικών και υψηλής απόδοσης.
Το CodeIgniter είναι ένα πλαίσιο PHP ανοιχτού κώδικα που έχει δημιουργηθεί ειδικά για προγραμματιστές που χρειάζονται μια απλή και κομψή εργαλειοθήκη για τη δημιουργία εφαρμογών web με πλήρεις δυνατότητες. Η ελαφριά φύση του το καθιστά ιδανική επιλογή τόσο για έργα μικρής κλίμακας όσο και για εφαρμογές μεγάλων επιχειρήσεων. Σε αντίθεση με ορισμένα άλλα πλαίσια που είναι γεμάτα με δυνατότητες, το CodeIgniter επιτρέπει στους προγραμματιστές να προσθέτουν μόνο τα στοιχεία που χρειάζονται, κάτι που βοηθά στο να διατηρείται η εφαρμογή λιτή και αποτελεσματική.
Για να ξεκινήσετε με το CodeIgniter, πρέπει πρώτα να κάνετε λήψη της πιο πρόσφατης έκδοσης από τον επίσημο ιστότοπο του. Αφού έχετε τα αρχεία, μπορείτε να τα ανεβάσετε στον διακομιστή σας και να ακολουθήσετε τις οδηγίες εγκατάστασης που περιλαμβάνονται στην τεκμηρίωση. Μετά την εγκατάσταση, θα σας υποδεχθεί μια απλή δομή καταλόγου που οργανώνει την εφαρμογή σας σε μοντέλα, προβολές και ελεγκτές, μεταξύ άλλων.
Ας δημιουργήσουμε μια απλή εφαρμογή "Hello World" για να δείξουμε πόσο εύκολη είναι η εργασία με το CodeIgniter. Ξεκινήστε δημιουργώντας έναν νέο ελεγκτή που ονομάζεται "Welcome" στον κατάλογο application/controllers/:
<προ> <κωδικός>Αυτός ο κωδικός ορίζει μια νέα κλάση που ονομάζεται "Welcome" που επεκτείνει την ενσωματωμένη κλάση CI_Controller. Η μέθοδος 'ευρετηρίου' εκτελείται αυτόματα όταν δεν ζητηθεί συγκεκριμένη μέθοδος, η οποία σε αυτήν την περίπτωση απλώς βγάζει "Hello, world!" στο πρόγραμμα περιήγησης.
Στο CodeIgniter, οι διευθύνσεις URL αντιστοιχίζονται απευθείας σε μεθόδους στους ελεγκτές σας μέσω του συστήματος δρομολόγησης. Από προεπιλογή, οι διαδρομές ορίζονται στο αρχείο application/config/routes.php. Για παράδειγμα, εάν θέλετε να αλλάξετε τη διεύθυνση URL για τη μέθοδο 'ευρετηρίου' του ελεγκτή 'Welcome' από '/welcome/index' σε απλά '/', μπορείτε να προσθέσετε την ακόλουθη γραμμή στο αρχείο routes.php:
<προ> <κωδικός> $route['default_controller'] = 'καλωσόρισμα/ευρετήριο';Ενώ η μέθοδος 'ευρετηρίου' που δημιουργήσαμε νωρίτερα ήταν χρήσιμη για σκοπούς επίδειξης, οι εφαρμογές πραγματικού κόσμου συχνά απαιτούν πιο σύνθετες αλληλεπιδράσεις μεταξύ μοντέλων, προβολών και ελεγκτών. Ας τροποποιήσουμε τον ελεγκτή "Καλώς ήρθατε" για να χρησιμοποιήσουμε ένα μοντέλο και μια προβολή αντί για απευθείας έξοδο κειμένου.
Δημιουργήστε ένα νέο μοντέλο που ονομάζεται "User_model" στον κατάλογο application/models/:
<προ> <κωδικός> 'John Doe', 'email' => 'john.doe@example.com']; } }Στη συνέχεια, δημιουργήστε ένα αρχείο προβολής που ονομάζεται "welcome_message.php" στον κατάλογο application/views/:
<προ> <κωδικός> <κεφάλι>Γεια σας, = $user['name']; ?>! Το email σας είναι = $user['email']; ?>.
Τέλος, ενημερώστε τον ελεγκτή "Welcome" για να φορτώσει το μοντέλο και να μεταβιβάσει δεδομένα στην προβολή:
<προ> <κωδικός> load->model('User_model'); $data['user'] = $this->User_model->get_user(1); $this->load->view('welcome_message', $data); } }Το CodeIgniter συνοδεύεται από μια ποικιλία ενσωματωμένων χαρακτηριστικών ασφαλείας που βοηθούν στην προστασία της εφαρμογής σας από κοινά τρωτά σημεία, όπως η ένεση SQL, η δέσμη ενεργειών μεταξύ τοποθεσιών (XSS) και η παραποίηση αιτημάτων μεταξύ τοποθεσιών (CSRF). Αυτές οι δυνατότητες περιλαμβάνουν:
Ένα από τα καλύτερα πράγματα για το CodeIgniter είναι η επεκτασιμότητα του. Μπορείτε εύκολα να επεκτείνετε τη λειτουργικότητά του δημιουργώντας προσαρμοσμένες βιβλιοθήκες, βοηθούς και προσθήκες. Για παράδειγμα, εάν πρέπει να ενσωματώσετε ένα API τρίτου μέρους στην εφαρμογή σας, μπορείτε να δημιουργήσετε μια προσαρμοσμένη βιβλιοθήκη που χειρίζεται όλα τα αιτήματα και τις απαντήσεις API.
Για να δημιουργήσετε μια προσαρμοσμένη βιβλιοθήκη στο CodeIgniter, απλώς προσθέστε ένα νέο αρχείο PHP στον κατάλογο application/libraries/ και ορίστε μια κλάση που επεκτείνει την κλάση CI_Controller. Ακολουθεί ένα παράδειγμα για το πώς μπορείτε να δημιουργήσετε μια προσαρμοσμένη βιβλιοθήκη που ονομάζεται "My_custom_library":
<προ> <κωδικός> CI =& get_instance(); } δημόσια συνάρτηση do_something() { // Ο προσαρμοσμένος κωδικός σας εδώ } }Μόλις δημιουργήσετε την προσαρμοσμένη βιβλιοθήκη σας, μπορείτε να τη φορτώσετε σε οποιονδήποτε ελεγκτή χρησιμοποιώντας τη μέθοδο $this->load->library():
<προ> <κωδικός> load->library('my_custom_library'); $this->my_custom_library->do_something(); } }Σε αυτό το άρθρο, εξερευνήσαμε τα βασικά της εργασίας με το CodeIgniter, όπως εγκατάσταση, δρομολόγηση, μοντέλα, προβολές, χαρακτηριστικά ασφαλείας και επιλογές προσαρμογής. Μέχρι τώρα, θα πρέπει να έχετε κατανοήσει καλά πώς να χρησιμοποιήσετε αυτό το ισχυρό πλαίσιο PHP για να δημιουργήσετε αποτελεσματικά δυναμικές εφαρμογές Ιστού.
Είτε είστε έμπειρος προγραμματιστής είτε μόλις ξεκινάτε, το CodeIgniter είναι μια εξαιρετική επιλογή για όποιον θέλει να βελτιστοποιήσει τη διαδικασία ανάπτυξης ιστού. Η ελαφριά φύση, η απλότητα και η ευελιξία του το καθιστούν ιδανική λύση τόσο για έργα μικρής κλίμακας όσο και για μεγάλες επιχειρηματικές εφαρμογές.
Τι περιμένετε λοιπόν; Ξεκινήστε να δημιουργείτε καταπληκτικές εφαρμογές Ιστού σήμερα με το CodeIgniter!
Σημείωση: Αυτός ο οδηγός παρέχει μια βασική εισαγωγή στο CodeIgniter. Για πιο προχωρημένα θέματα, όπως η ενοποίηση της βάσης δεδομένων, ο χειρισμός φορμών και η διαχείριση περιόδων σύνδεσης, φροντίστε να ανατρέξετε στον επίσημο Οδηγό χρήστη του CodeIgniter.