Cara menggunakan cakephp 4 api

cakePHP adalah struktur dasar bagi pemrogram untuk membuat aplikasi web. Tujuan utamanya adalah untuk memudahkan pemrogram bekerja secara terstruktur dan cepat tanpa kehilangan fleksibilitas. CakePHP membuang proses monoton dalam pengembangan aplikasi web. CakePHP menyediakan semua alat bantu yang diperlukan

Berikut ini adalah daftar fitur yang dapat dinikmati apabila menggunakan CakePHP
• Komunitas yang aktif dan bersahabat
• Lisensi yang fleksibel
• Kompatibel dengan PHP versi 4 dan 5
• Operasi CRUD yang terintegrasi untuk interaksi dengan database
• Scaffolding aplikasi
• Otomatisasi pembuatan code (code generation)
• Arsitektur MVC
• Request dispatcher dengan URL yang kustom, rapih dan adanya route
• Validasi data yang terintegrasi
• Sistem templating yang cepat dan fleksibel (sintaks PHP, tersedia helpers)
• View Helpers untuk AJAX, JavaScript, HTML Forms dan banyak lagi
• Email, Cookie, Keamanan, Session, dan komponen Request Handling
• ACL yang fleksibel
• Sanitasi Data
• Caching yang fleksibel
• Lokalisasi
• Dapat bekerja dari direktori web dimana saja, dengan sedikit atau bahkan tanpa perlu melibatkan konfigurasi Apache
Sebagai media yang maju cakePHP juga dapat membantu kepada pengguna dengan menggunakan
# Website Resmi CakePHP
http. //www. cakephp. org
Wesite resmi CakePHP selalu menjadi tempat yang tepat untuk dikunjungi. Memiliki fitur taut ke alat bantu pengembang, screencast, peluang donasi, dan unduhan yang sering dikunjungi
# Cookbook
http. //book. cakephp. org
Manual ini mungkin menjadi tempat pertama yang Anda kunjungi untuk mendapatkan jawaban. Sebagaimana kebanyakan proyek sumber terbuka, kami mendapatkan peminat baru secara reguler. Berusahalah untuk mendapatkan jawaban dari pertanyaan Anda sebagai usaha awal. Jawaban mungkin agak telat sampainya, tapi akan teringat lama-dan Anda juga akan membantu mengurangi beban pelayanan kami. Baik manual dan API dapat dikunjungi secara online
# API
http. //api. cakephp. org/1. 2
Langsung ke sasaran dan langsung dari pengembang inti, API (Application Programming Interface) CakePHP merupakan dokumentasi komprehensif untuk semua detail dari cara kerja internal framework. Ini adalah referensi kode yang tepat sasaran, jadi bawalah topi baling-baling Anda
# CakeForge
http. // www. cakeforge. org
CakeForge adalah sumber daya pengembang yang dapat Anda gunakan untuk menghosting proyek CakePHP Anda dan membaginya dengan orang lain. Jika Anda mencari (atau ingin berbagi) komponen atau plugin, silakan periksa CakeForge
# Uji Kasus
http. //api. cakephp. org/tes
Jika Anda merasa informasi yang diberikan dalam API tidak cukup, periksa kode test case yang disediakan oleh CakePHP 1. 2. Mereka dapat digunakan sebagai contoh praktis untuk fungsi dan penggunaan anggota data untuk kelas. Untuk mendapatkan inti uji kasus Anda perlu mendownload paket malam atau melakukan svn branch checkout. Uji kasus akan terletak di
# Channel IRC
#cakephp @ irc. freenode. net
Jika Anda kebingungan, berikan kami suara di channel IRC CakePHP. Biasanya disana ada seseorang dari tim pengembang, khususnya pada siang hari untuk pengguna di Amerika Utara dan Selatan. Kami ingin mendengar dari Anda, apakah Anda memerlukan bantuan, ingin mencari pengguna Cake di wilayah Anda, atau ingin menyumbangkan merek mobil olahraga baru
# Google Group
http. //groups. google. com/group/cake-php
CakePHP juga sangat aktif di Google Group. Grup ini mungkin suatu sumber yang besar untuk mencari arsip jawaban, tanya jawab, dan segera mendapatkan jawaban atas masalah
1. 3 Memahami Model-View-Controller
CakePHP mengikuti pola desain MVC. Memprogram menggunakan MVC memisahkan aplikasi menjadi tiga bagian utama
1. Model yang merepresentasikan data aplikasi
2. View yang menyajikan presentasi data dari model
3. Controller yang menangani dan mengalihkan request dari klien

Gambar 1. Bentuk dasar request MVC
Gambar 1 menunjukkan sebuah contoh dari kerangka request MVC dalam CakePHP. Untuk mengilustrasikan, asumsikan seorang klien bernama Joko telah mengklik taut “Beli buku ini sekarang. ” di halaman beranda (home) aplikasi Anda
• Joko mengklik taut yang merujuk ke http. //www. example. com/buku/beli dan peraba (browser) yang digunakannya akan membuat request ke web server Anda
• Dispatcher mengecek URL request (/buku/beli), dan mengarahkan request tersebut ke controller yang sesuai
• Controller mengeksekusi logik aplikasi. Misalnya, controller mengecek apakah Joko telah login
• Controller juga menggunakan model untuk memperoleh data dari aplikasi. Model umumnya merepresentasikan tabel database, tapi model dapat juga merepresentasikan entri LDAP, RSS feeds, atau file pada sistem. Dalam contoh ini, controller menggunakan model untuk mengambil data pembelian terakhir si Joko dari database
• Setelah memproses data, controller memberikan hasilnya ke view. View mengambil data akhir dan menyiapkannya untuk ditampilkan ke klien. View dalam CakePHP umumnya berupa format HTML, tapi view dapat juga berupa PDF, dokumen XML, atau JSON object (tergantung kebutuhan Anda)
• Saat view selesai menggunakan data yang diberikan controller untuk menghasilkan tampilan, isi dari view tersebut akan dikembalikan ke peraba si Joko
hampir setiap request ke aplikasi mengikuti pola ini. Kami akan menambahkan detail lainnya pada halaman selanjutnya, yang mana khusus berhubungan dengan CakePHP, jadi ingat hal ini baik-baik sebelum berlanjut ke halaman selanjutnya
Kenapa menggunakan MVC? Karena MVC merupakan pola desain perangkat lunak yang tepat dan teruji, yang membuat aplikasi menjadi terjaga, modular, dan berkembang cepat. Mendesain bagian aplikasi menjadi Model, View dan Controller membuat aplikasi lebih kokoh. Fitur baru dapat ditambahkan dengan mudah, dan tampilan baru pada fitur lama adalah pratinjau. Desain yang terpisah dan modular membuat pengembang dan desainer dapat bekerja secara serempak, termasuk mempercepat proses prototyping. Pemisahan dengan MVC juga membuat pengembang leluasa melakukan perubahan di suatu bagian tanpa mempengaruhi bagian lainnya
Jika Anda belum pernah membuat aplikasi dengan cara seperti ini, maka perlu sedikit waktu untuk membiasakannya, tapi kami yakin setelah Anda membuat aplikasi menggunakan CakePHP, Anda tidak akan mau membangun aplikasi dengan cara lain
2 Prinsip Dasar CakePHP
2. 1 Struktur Tata Letak Berkas pada CakePHP
CakePHP tak hanya menyajikan class Controller, Model dan View, tapi CakePHP juga memberikan beberapa class dan object tambahan yang membuat proses pengembangan (development) dalam MVC lebih cepat dan nyaman. Component, Behavior, dan Helper merupakan class-class yang mempermudah penambahan dan penggunaan berulang ke class dasar MVC di dalam aplikasi Anda. Untuk saat ini, kita fokus ke level atas dulu, untuk mengetahui detail penggunaan alat bantu tersebut bisa belakangan
2. 1. 2 Ekstensi-ekstensi untuk View
Helper merupakan class yang membantu operasi logik di view. Seperti halnya component yang digunakan di controller, helper merupakan presentasi dari logik yang dapat diakses dan digunakan bersama oleh beberapa view. Salah satu helper inti, yaitu AjaxHelper, membuat request Ajax dalam view lebih mudah
Sebagian besar aplikasi memiliki kode view yang digunakan berulang kali. CakePHP memberikan kemudahan penggunaan kode view yang berulang untuk layout dan element. Secara default, setiap view dirender oleh controller akan ditempatkan di dalam sebuah layout. Element digunakan saat ada porsi kecil dari content yang ingin digunakan berulang kali oleh beberapa view
2. 1. 3 Ekstensi-ekstensi untuk Model
Hampir sama, Behavior digunakan untuk penggunaan model yang memiliki fungsi yang serupa. Misal, jika Anda menyimpan data user dalam struktur pohon, Anda dapat mendefinisikan model User agar bertingkah layaknya sebuah pohon, dan Anda dapat dengan mudah menghapus, menambahkan, atau menggeser node di struktur pohon Anda
Models juga didukung oleh class lainnya yang disebut DataSource. DataSource merupakan abstraksi untuk model agar model dapat memanipulasi tipe data yang berbeda secara konsisten. Saat sumber utama data di CakePHP berasal dari database, Anda tetap dapat menulis DataSource tambahan untuk model Anda agar direpresentasikan dalam RSS feed, file CSV, entri LDAP, atau event iCal. Dengan menggunakan DataSource, Anda dapat mengasosiasi record dari sumber data yang berbeda. dibanding hanya terbatas pada SQL join, dengan DataSource Anda dapat menegaskan DataSource bahwa model LDAP Anda terasosiasi dengan banyak event iCal
Seperti halnya controller, model dilengkapi dengan fitur callback juga
• beforeFind()
• afterFind()
• beforeValidate()
• beforeSave()
• afterSave()
• beforeDelete()
• afterDelete()
Nama dari method ini sudah cukup menjelaskan fungsi dari penggunaannya. Anda dapat memperoleh detail dari callback di bab model
2. 1. 4 Ekstensi-ekstensi untuk Aplikasi
Masing-masing controller, helper dan model mempunyai class induk yang dapat digunakan untuk mendefinisikan perubahan aplikasi secara luas. AppController (terletak di /app/app_controller. php), AppHelper (terletak di /app/app_helper) ,dan AppModel (terletak di /app/app_helper. php) merupakan tempat yang tepat untuk mendefinisikan method yang ingin dipakai beberapa controller, helper dan model sekaligus
Meskipun bukan berupa class atau berkas, route mempunyai peran dalam membuat request yang di tujukan ke CakePHP. Definsi dalam route menjelaskan bagaimana CakePHP memetakan URL ke action di controller. Konfigurasi default mengasumsikan URL “/controller/action/var1/var2” akan memanggil Controller. action($var1, $var2), tapi dengan mengkonfigurasi route Anda bisa mengkustom URL serta bagaimana URL tersebut dibaca oleh aplikasi
Beberapa fitur dalam sebuah aplikasi dapat dipaketkan secara keseluruhan. Plugin merupakan paket dari model, controller dan view yang dapat di gunakan oleh beberapa aplikasi untuk mengerjakan tujuan khusus. Sistem manajemen pengguna atau blog sederhana merupakan contoh tepat untuk plugin di CakePHP
2. 2 Bentuk Umum Request di CakePHP
Kita telah melewati dasar-dasar dalam CakePHP, jadi kita lanjutkan saja ke pembahasan bagaimana setiap obyek bekerja bersama untuk memenuhi sebuah request. Melanjutkan contoh reqeuest sebelumnya, coba bayangkan si Joko baru saja mengklik taut “Beli buku sekarang. ” pada aplikasi CakePHP

Gambar 2. Bentuk Request Cake pada Umumnya
Hitam = element yang diperlukan, Abu-abu = element opsional, Biru = callback
1. Joko mengklik taut ke http. // www. example. com/books/beli, dan peraba (browser) si Joko membuat request ke web server Anda
2. Rute akan menerjemahkan URL untuk mengekstrak parameter dari permintaan, yaitu. pengontrol, tindakan, dan argumen lain yang memengaruhi logika bisnis selama permintaan
3. Dengan menggunakan rute, URL yang diminta dipetakan ke tindakan di pengontrol (metode di kelas pengontrol). Dalam hal ini metode buy() di kelas BooksController. Callback beforeFilter() di pengontrol dipanggil sebelum pengontrol tindakan logika dijalankan
4. Pengontrol dapat menggunakan model untuk mendapatkan data aplikasi. Dalam contoh ini, pengontrol menggunakan model untuk mengambil data pembelian terakhir Joko dari database. Penggunaan model tidak diperlukan, tetapi semua pengontrol CakePHP pada awalnya membutuhkan setidaknya satu model
5. Setelah model mendapatkan data, model akan memberikannya ke controller. Panggilan balik untuk model dapat dipanggil
6. Pengontrol dapat menggunakan komponen untuk memanipulasi data atau melakukan operasi lain (misalnya untuk manipulasi sesi, autentikasi, atau mengirim email)
7. Saat pengontrol selesai menggunakan model dan komponen untuk menyiapkan data, pengontrol dapat menyediakan data ke tampilan dengan memanggil metode set(). Callback di controller dapat dieksekusi sebelum data dikirim. Kemudian logika dalam tampilan dijalankan, elemen dan/atau pembantu dapat disertakan (termasuk). Secara default, tampilan dirender dalam tata letak
8. Kemudian pengontrol callback tambahan (seperti afterFilter()) dapat dipanggil. Setelah itu, kode tampilan yang dirender diberikan ke layar sentuh Joko
2. 3 Struktur Berkas (File) di CakePHP
Mari kita lihat seperti apa CakePHP terlihat di luar kotak. Anda sudah mengetahui CakePHP dari bentuk request MVC nya, tapi Anda perlu mengetahui juga bagaimana berkas-berkas dalam CakePHP terorganisir
• app
• cake
• docs
• index. php
• vendors
Saat Anda mengunduh CakePHP, Anda akan melihat 4 pelipat (folder). Pelipat app merupakan tempat mengerjakan sulap. yaitu tempat berkas-berkas aplikasi Anda ditempatkan. Pelipat cake adalah tempat dimana sulap terjadi. Berkomitmenlah untuk tidak menyunting berkas-berkas di pelipat ini. Kami tidak dapat membantu jika Anda telah memodifikasi inti CakePHP. Pelipat docs adalah tempat informasi penting seperti readme, changelog, dan lisensi. Dan terakhir, pelipat vendors yang merupakan tempat pustaka pihak ketiga (third-party library) yang digunakan dalam aplikasi CakePHP Anda
2. 3. 1 Pelipat App
Pelipat app dalam struktur berkas CakePHP merupakan tempat dimana Anda akan sering mengerjakan aplikasi Anda. Mari kita lihat ke dalam pelipat app
config Tempat berkas konfigurasi CakePHP. Berkas tata koneksi database, bootstrapping, konfigurasi inti dan lainnya sebaiknya ditempatkan disini
controllers Berisi controller dan component aplikasi Anda
locale Tempat menyimpan berkas string untuk internasionalisasi
models Berisi model, behavior dan datasource aplikasi Anda
plugins Berisi paket plugin
tmp Tempat menyimpan data sementara. Data sebenarnya yang disimpan tergantung pada bagaimana Anda mengkonfigurasi CakePHP, tapi umumnya pelipat ini digunakan untuk menyimpan deskripsi model, log, dan terkadang informasi session
vendors Class atau pustaka pihak ketiga sebaiknya ditempatkan di pelipat ini. Dengan begitu, Anda dapat mudah mengkasesnya menggunakan fungsi App. import(‘vendor’, ‘nama’). Jika diperhatikan lebih seksama hal ini terlihat redundan, karena pelipat folder juga terdapat di tingkat atas struktur direktori CakePHP. Kita akan mendapatkan perbedaan diantara keduanya saat pembahasan manajemen multi aplikasi dan tata (setup) sistem yang lebih kompleks
views Berkas untuk tampilan ditempatkan disini. berkas-berkas element, halaman galat (error page), helper, layout dan view
webroot Dalam tata produksi, pelipat ini merupakan tempat document root aplikasi Anda. Pelipat di dalamnya juga merupakan tempat untuk berkas CSS stylesheet, gambar (images), dan JavaScript
2. 4 Konvensi CakePHP
Kami penggemar konvensi atas konfigurasi. Meskipun membutuhkan waktu untuk mempelajari konvensi CakePHP, Anda telah menghemat waktu untuk jangka panjang. dengan mengikuti konvensi, Anda telah memperoleh fungsionalitas, dan Anda telah membebaskan diri dari mimpi buruk melacak file konfigurasi. Konvensi membuat sistem pengembangan seragam sehingga pengembang lain dapat dengan mudah menavigasi dan membantu
Konvensi CakePHP telah digunakan selama beberapa tahun sebagai praktik dan aturan terbaik untuk pengembangan web. Kami menyarankan Anda menggunakan konvensi ini saat mengembangkan dengan CakePHP, tetapi banyak prinsip dari konvensi ini dapat dengan mudah diganti – biasanya saat Anda bekerja dengan sistem warisan pengembang lainnya.
2. 4. 1 Konvensi File dan Nama Kelas
Secara umum, nama file menggunakan garis bawah sedangkan nama kelas menggunakan CamelCase. Misalnya, kelas KissesAndaHugsController dapat ditemukan di file kisses_and_hugs_controller. php
Nama kelas dalam file tidak harus sama dengan nama file. Misalnya, kelas EmailComponent ditemukan di file email. php, dan kelas HtmlHelper ada di file bernama html. php
2. 4. 2 Konvensi Model dan Database
Nama kelas model ditulis dalam CamelCase dan tunggal. Contoh penamaan kelas model. Orang, Orang Besar dan Orang Sangat Besar
Nama tabel untuk model CakePHP ditulis dengan garis bawah dan jamak. Nama tabel untuk model pada contoh di atas adalah people, big_people, dan really_big_people
Kunci asing dalam hubungan asosiasi hasMany, milikTo atau hasOne secara default dikenali oleh CakePHP dengan nama model terkait (dalam bentuk tunggal) diikuti oleh _id. Jadi jika baker memiliki banyak kue, tabel kue akan merujuk ke baker di tabel baker melalui kunci asing baker_id
Tabel gabungan yang digunakan dalam hubungan hasAndBelongsToMany (HABTM) antara beberapa model harus diberi nama tabel model yang digabungkan menurut abjad (misalnya apples_zebras, bukan zebras_apples)
Semua tabel model di CakePHP yang berinteraksi satu sama lain (kecuali tabel gabungan) memerlukan kunci utama tunggal untuk mengidentifikasi setiap baris secara unik. Jika Anda menginginkan model tabel yang tidak memiliki bidang kunci utama, seperti baris dari tabel posts_tags gabungan, konvensi CakePHP adalah menambahkan satu bidang utama ke tabel
2. 4. 3 Konvensi Pengontrol
Nama kelas controller adalah jamak, CamelCase, dan diakhiri dengan Controller. Contoh konvensi penamaan pengontrol adalah PeopleController dan LatestArticlesController
Fungsi pertama yang mungkin ditulis adalah fungsi index(). Ketika ada permintaan yang menyertakan pengontrol tanpa parameter aksi, CakePHP secara default akan menjalankan fungsi index() pada pengontrol. Misalnya, permintaan ke http. // www. contoh. com/apples/ akan memanggil fungsi index() di controller ApplesController, sedangkan permintaan ke http. // www. contoh. com/apples/view/ akan memanggil fungsi view() pada pengontrol ApplesController
Anda juga dapat mengubah akses fungsi di pengontrol dengan menyisipkan garis bawah di awal nama fungsi. Jika nama fungsi di controller diawali dengan garis bawah, maka fungsi tersebut tidak dapat diakses langsung dari web melainkan hanya melalui panggilan internal. Sebagai contoh
Tampilan Teks Biasa
_findNewArticles();
}

function _findNewArticles() {
//Logika untuk menemukan artikel berita terbaru
}
}

?>
1. _findNewArticles();
5. }
6
7. function _findNewArticles() {
8. //Logika untuk menemukan artikel berita terbaru
9. }
10. }
11. ?>
halaman http. // www. contoh. com/news/latest/ dapat diakses seperti biasa oleh pengguna, tetapi ketika pengguna mengakses http. // www. contoh. com/news/_findNewArticles/ maka yang didapat adalah error, karena fungsi yang diakses dimulai dengan garis bawah
Pertimbangan URL untuk Nama Pengontrol
Seperti yang telah Anda lihat, nama pengontrol dengan satu kata akan merujuk ke jalur URL dalam huruf kecil. Misalnya, ApplesController (didefinisikan dalam file 'apples_controller. php') dapat diakses melalui http. // contoh. com/apel
Nama pengontrol yang lebih dari satu kata menggunakan konvensi camelCase dengan bentuk jamak untuk URL. Misalnya, RedApplesController (red_apples_controller. php) akan merujuk ke http. // contoh. com/redApple dan OperatingSystemsController (operating_systems_controller. php) akan merujuk ke http. // contoh. com/operatingSystems
2. 4. 3. 1 Hubungan URL dengan Penamaan Pengontrol
Seperti yang Anda lihat, memberi nama pengontrol dengan satu kata mudah dipetakan ke jalur URL dalam bentuk huruf kecil. Misalnya, ApplesController (yang dapat didefinisikan dalam file 'apple_controller. php') dapat diakses melalui http. // contoh. com/apel
Nama pengontrol yang terdiri dari lebih dari satu kata dipetakan ke URL dalam bentuk camelCase dengan bentuk jamak. Misalnya, RedApplesController (red_apples_controller. php) akan dipetakan ke http. // contoh. com/redApple dan OperatingSystemsController (operating_systems_controller. php) akan dipetakan ke http. // contoh. com/operatingSystems
2. 4. 4 Tampilan Konvensi
File template Tampilan akan diberi nama setelah fungsi pengontrol ditampilkan, dalam bentuk garis bawah. Fungsi getReady() dari class PeopleController akan mencari template View di /app/views/orang/get_ready. ctp
Pola defaultnya adalah /app/views/controller/underscored_function_name. ctp
Dengan memberi nama bagian aplikasi Anda menggunakan konvensi CakePHP, Anda mendapatkan fungsionalitas tanpa kerumitan dan batasan pemeliharaan konfigurasi. Berikut adalah contoh terakhir yang mengikat konvensi
• Tabel database. “people”
• Kelas Model. “Person”, terletak di /app/models/person. php
• Kelas Controller. “PeopleController”, terletak di /app/controllers/people_controller. php
• Template View, terletak di /app/views/people/index. ctp
Menggunakan konvensi ini, CakePHP mengetahui bahwa permintaan untuk http. //example. com/people/ peta untuk panggilan pada fungsi indeks() dari PeopleController, di mana model Person tersedia secara otomatis (dan secara otomatis terikat dengan ‘person’ tabel dalam database), dan mengubahnya ke file. Bagaimanapun tidak ada hubungan yang telah dikonfigurasi dengan cara apa pun selain dengan membuat kelas-kelas dan file-file yang Anda butuhkan untuk membuatnya
Sekarang Anda telah diperkenalkan kepada dasar CakePHP, Anda dapat mencoba menjalankan melalui Tutorial Blog CakePHP untuk melihat hal-hal tersebut berjalan bersama
3 Pengembangan dengan CakePHP
3. 1 Hal – hal yang dibutuhkan
• HTTP Server. Apache dengan mod_rewrite lebih dianjurkan, tapi tidak wajib
• PHP 4. 3. 2 atau versi di atasnya. Ya, CakePHP dapat berfungsi di PHP 4 dan 5
Secara teknis database engine tidak dibutuhkan, tapi kami rasa kebanyakan aplikasi membutuhkannya. CakePHP mendukung beragam database storage engine
• MySQL (4 atau versi di atasnya)
• PostgreSQL
• Firebird DB2
• Microsoft SQL Server
• Oracle
• SQLite
• ODBC
• ADOdb
3. 2 Persiapan Instalasi
CakePHP dapat diinstall dengan mudah dan cepat. Persyaratan minimum yang diperlukan hanyalah server web dan kopian dari Cake, cukup itu saja. Manual ini hanya berfokus pada setting di Apache (karena merupakan server web yang paling sering digunakan), kamu juga bisa mengkonfigurasi CakePHP untuk berjalan di berbagai macam server web seperti LightHTTPD atau Microsoft IIS
Persiapan Instalasi terdiri dari beberapa langkah
• Download berkas CakePHP
• Konfigurasi server web-mu untuk membaca skrip php jika perlu
• Mengecek ijin akses berkas
3. 2. 1 Mendapatkan CakePHP
Ada dua cara untuk mendapatkan salinan terbaru CakePHP. Pertama, Anda dapat mengunduh arsip dalam format kompresi (zip/tar. gz/tar. bz2), atau Anda dapat melakukan check out kode langsung dari repositori (SVN) kami
Untuk mendapatkan salinan terbaru, kunjungi web site kami di http. //www. cakephp. org. Klik tautan "Unduh Sekarang. " yang besar. Unduhan CakePHP dihost di CakeForge, dan Anda dapat juga mengunjungi web site proyek – proyek seputar CakePHP di http. //cakeforge. org/proyek/cakephp
Jika Anda ingin bekerja dengan kode terbaru, silakan periksa nightly build kami di http. //kuephp. org/downloads/index/nightly. Kode CakePHP stabil, dan menyertakan perbaikan antar rilis
Untuk mengambil salinan terbaru dari repositori SVN kami, sambungkan ke https. //svn. cakephp. org/repo/cabang/1. 2. x. x
3. 2. 2 Hak Akses
CakePHP menggunakan direktori /app/tmp untuk sejumlah operasi yang berbeda. Beberapa contohnya antara lain. deskripsi model, tampilan cache, dan informasi sesi
Jadi, pastikan direktori /app/tmp di instalasi kue Anda dapat ditulis oleh pengguna web server
3. 3 Instalasi
Menginstal CakePHP bisa sesederhana menempatkannya di root dokumen server web Anda, tetapi juga bisa serumit dan sefleksibel yang Anda inginkan. Pada bagian ini akan dibahas tiga jenis instalasi CakePHP. pengembangan, produksi, dan maju
• Perkembangan. metode penginstalan yang mudah, URL aplikasi menyertakan nama direktori tempat CakePHP diinstal, dan tidak cukup aman
• Produksi. Membutuhkan akses untuk mengonfigurasi server web root dokumen, URL rapi, sangat aman
• Mahir (Advance). Dengan beberapa konfigurasi, Anda dapat menempatkan direktori CakePHP yang penting di beberapa bagian sistem file yang berbeda, sehingga memungkinkan satu direktori inti CakePHP untuk digunakan oleh banyak aplikasi CakePHP
3. 3. 1 Pengembangan
Tempatkan instalasi kue di root dokumen server web Anda. Misalnya, asumsikan dokumen root server web Anda adalah /var/www/html, tata letak direktori akan terlihat seperti ini di sistem file
• /var/www/html
o /kue_1_2
 / aplikasi
 / kue
 / dok
 / indeks. php
 / vendor
Untuk melihat aplikasi CakePHP Anda, arahkan browser Anda ke http. // www. contoh. com/kue_1_2/
3. 3. 2 Produksi
Untuk menggunakan sistem produksi, Anda memerlukan hak akses untuk mengubah root dokumen server web Anda. Memilih untuk menggunakan framework produksi berarti seluruh domain bertindak sebagai satu aplikasi CakePHP
Tata letak produksi menggunakan tata letak berikut
• /path_ke_instalasi_cake/
o / aplikasi
 / webroot (direktori ini ditetapkan sebagai server web root dokumen)
o/kue
o /docs
o /indeks. php
o / vendor
Jika aplikasi ini akan dihosting di Apache, direktif DocumentRoot untuk domain akan terlihat kurang lebih seperti ini
DocumentRoot /path_ke_instalasi_cake/app/webroot
Untuk melihat aplikasi CakePHP Anda, arahkan mouse Anda ke http. // www. contoh. com
3. 3. 3 Instalasi Lanjutan
Ada beberapa situasi di mana Anda ingin menempatkan direktori CakePHP di tempat yang berbeda pada sistem file. Mungkin karena keterbatasan host berbagi, atau Anda hanya ingin sebagian kecil dari aplikasi Anda berbagi perpustakaan Cake yang sama. Bagian ini menjelaskan cara menempatkan direktori CakePHP Anda di seluruh sistem file
Perlu diperhatikan bahwa ada tiga bagian penting dalam aplikasi Cake
1. Pustaka inti CakePHP, di dalam /cake
2. Kode aplikasi Anda, di dalam /app
3. Aplikasi webroot, umumnya di /app/webroot
Masing-masing direktori ini dapat ditempatkan di mana saja di sistem file Anda, kecuali webroot, yang harus dapat diakses oleh server web Anda. Anda bahkan dapat memindahkan direktori webroot dari direktori aplikasi selama Anda memberi tahu Cake di mana lokasinya
Untuk mengonfigurasi instalasi Cake Anda, Anda perlu mengedit beberapa perubahan di /app/webroot/index. php. Ada tiga konstanta yang perlu Anda edit. ROOT, APP_DIR, dan CAKE_CORE_INCLUDE_PATH
• ROOT perlu diset ke path direktori tempat direktori app berada
• APP_DIR perlu disetel ke jalur direktori aplikasi Anda
• CAKE_CORE_INCLUDE_PATH perlu disetel ke jalur direktori pustaka CakePHP Anda
Mari kita lihat contoh sehingga Anda dapat melihat seperti apa instalasi tingkat lanjut dalam praktiknya. Bayangkan jika saya ingin mengkonfigurasi CakePHP agar berfungsi sebagai berikut
• Pustaka inti CakePHP akan ditempatkan di /usr/lib/cake
• Direktori webroot aplikasi saya ada di /var/www/mysite/
• Direktori aplikasi aplikasi saya terletak di /home/me/mysite
Mengingat jenis pengaturan ini, saya perlu mengedit file webroot/indeks. php (yang ada di /var/www/mysite/index. php, dalam contoh ini) menjadi seperti ini
Tampilan Teks Biasa
// /app/webroot/index. php (sebagian, komentar dihapus)

jika (. didefinisikan('ROOT')) {
define('ROOT', DS. 'rumah'. DS. 'aku');
}

jika (. didefinisikan('APP_DIR')) {
tentukan ('APP_DIR', 'situs saya');
}

jika (. didefinisikan('CAKE_CORE_INCLUDE_PATH')) {
tentukan('CAKE_CORE_INCLUDE_PATH', DS. 'usr'. DS. 'lib'. DS. 'kue');
}
1. // /app/webroot/index. php (sebagian, komentar dihapus)
2. jika (. didefinisikan('ROOT')) {
3. define('ROOT', DS. 'rumah'. DS. 'aku');
4. }
5. jika (. didefinisikan('APP_DIR')) {
6. tentukan ('APP_DIR', 'situs saya');
7. }
8. jika (. didefinisikan('CAKE_CORE_INCLUDE_PATH')) {
9. tentukan('CAKE_CORE_INCLUDE_PATH', DS. 'usr'. DS. 'lib'. DS. 'kue');
10. }
Disarankan untuk menggunakan konstanta DS daripada simbol garis miring untuk pembatas jalur bundel. Ini mencegah kesalahan dari file yang hilang karena pembatas yang salah, dan membuat kode Anda lebih portabel
3. 3. 3. 1 Jalur Kelas Tambahan
Terkadang bermanfaat untuk dapat berbagi kelas MVC antar aplikasi pada sistem yang sama. Jika Anda menginginkan pengontrol yang sama dalam dua aplikasi, Anda dapat menggunakan bootstrap. php CakePHP untuk menyediakan kelas tambahan ini ke tampilan
Di dalam bootstrap. php, tentukan beberapa variabel bernama khusus sehingga CakePHP tahu di mana lagi harus mencari kelas MVC
Tampilan Teks Biasa
$viewPaths = larik();
$controllerPaths = larik();
$modelPaths = larik();
$helperPaths = larik();
$componentPaths = larik();
$behaviorPaths = array();
1. $viewPaths = larik();
2. $controllerPaths = larik();
3. $modelPaths = larik();
4. $helperPaths = larik();
5. $componentPaths = larik();
6. $behaviorPaths = larik();
Setiap variabel khusus ini dapat diset menjadi array dari absolute path filesystem dimana class tambahan dapat ditemukan saat direquest. Pastikan setiap path yang didefinisikan terdapat trailing slash
3. 3. 4 Apache dan mod_rewrite
Sementara CakePHP ditulis untuk bekerja dengan mod_rewrite di luar kotak- dan biasanya tanpa masalah-kami mengetahui ada beberapa pengguna berjuang mendapatkan semua itu bekerja secara apik di sistem mereka. Inilah beberapa hal yang perlu Anda coba untuk mendapatkannya bekerja secara tepat
• Pastikan . htaccess override diperbolehkan. Dalam httpd. conf, Anda perlu memiliki bagian yang mendefinisikan Directory Anda pada server. Pastikan AllowOverride diset ke All untuk DocumentRoot yang sesuai
• Pastikan Anda menyunting httpd. conf sistem, bukan httpf. conf user- atau site-tertentu
• Apakah CakePHP tidak menemukan berkas . htaccess yang dibutuhkannya? Hal ini kadang terjadi saat menyalin atau memindahkan karena beberapa sistem operasi memperlakukan berkas dengan awalan ‘. ’ sebgai berkas tersembunyi. Pastikan salinan CakePHP Anda berasal dari bagian unduhan di situs atau repsitori SVN kami, dan telah di mekarkan secara benar
• Pastikan Anda memuat mod_rewrite secara benar. Anda akan mendapatkan sesuatu seperti LoadModule rewrite_module libexec/httpd/mod_rewrite. so (pengguna Linux/Unix perlu juga melihat sesuatu seperti AddModule mod_rewrite. c) dalam httpd. conf Anda. Juga pastikan tidak berupa komentar (dengan penambahan # di awal). Restart Apache untuk memastikan tata conf Anda aktif
• Jika Anda menginstal CakePHP ke dalam direktori pengguna (http. //example. com/~username), Anda perlu mengubah berkas . htaccess dalam base direktori tempat instalasi CakePHP Anda. Cukup tambahkan baris “RewriteBase /~myusername/”
3. 3. 5 Lighttpd and mod_magnet
While lighttpd features a rewrite module, it is not an equivalent of Apache’s mod_rewrite. Full mod_rewrite functionalities are spread amongst Lighttpd’s mod_rewrite, mod_magnet and mod_proxy
CakePHP, however, mostly needs mod_magnet to redirect requests in order to work with pretty URLs
To use pretty URLs with CakePHP and Lighttp, place this lua script in /etc/lighttpd/cake
Tampilan Teks Biasa
— little helper function
function file_exists(path)
local attr = lighty. stat(path)
if (attr) then
return true
else
return false
end
end
function removePrefix(str, prefix)
return str. sub(1,#prefix+1) == prefix. ”/” and str. sub(#prefix+2)
end

— prefix without the trailing slash
local prefix = ”

— the magic 😉
if (not file_exists(lighty. env[“physical. path”])) then
— file still missing. pass it to the fastcgi backend
request_uri = removePrefix(lighty. env[“uri. path”], prefix)
if request_uri then
lighty. env[“uri. path”] = prefix . “/index. php”
local uriquery = lighty. env[“uri. query”] or “”
lighty. env[“uri. query”] = uriquery . (uriquery ~= “” and “&” or “”) . “url=” . request_uri
lighty. env[“physical. rel-path”] = lighty. env[“uri. path”]
lighty. env[“request. orig-uri”] = lighty. env[“request. uri”]
lighty. env[“physical. path”] = lighty. env[“fisik. doc-root”] . lighty. env[“physical. rel-path”]
end
end
— fallthrough will put it back into the lighty request loop
— that means we get the 304 handling for free. 😉
1. — little helper function
2. function file_exists(path)
3. local attr = lighty. stat(path)
4. if (attr) then
5. return true
6. else
7. return false
8. end
9. end
10. function removePrefix(str, prefix)
11. return str. sub(1,#prefix+1) == prefix. ”/” and str. sub(#prefix+2)
12. end
13. — prefix without the trailing slash
14. local prefix = ”
15. — the magic 😉
16. if (not file_exists(lighty. env[“physical. path”])) then
17. — file still missing. pass it to the fastcgi backend
18. request_uri = removePrefix(lighty. env[“uri. path”], prefix)
19. if request_uri then
20. lighty. env[“uri. path”] = prefix . “/index. php”
21. local uriquery = lighty. env[“uri. query”] or “”
22. ringan. env[“uri. query”] = uriquery . (uriquery ~= “” and “&” or “”) . “url=” . request_uri
23. lighty. env[“physical. rel-jalur”] = ringan. env[“uri. jalur"]
24. ringan. env[“request. orig-uri”] = ringan. env[“permintaan. Tipe"]
25. ringan. env[“fisik. path”] = lighty. env[“fisik. doc-root”]. ringan. env[“fisik. jalur rel”]
26. akhir
27. akhir
28. — fallthrough akan memasukkannya kembali ke loop permintaan ringan
29. — itu berarti kami mendapatkan penanganan 304 secara gratis. 😉
Jika Anda menjalankan instalasi CakePHP dari subdirektori, Anda harus mengatur prefix = 'subdirectory_name' pada skrip di atas
Kemudian beri tahu Lighttpd tentang vhost Anda
$HTTP[“host”] =~ “contoh. com” {
server. error-handler-404 = “/index. php”

magnet. tarik-fisik-jalur-ke = ( “/etc/lighttpd/cake. tertawa terbahak-bahak" )

server. document-root = “/var/www/cake-1. 2/aplikasi/webroot/”

# Pikirkan tentang mengeluarkan file vim tmp juga
url. akses-tolak = (
“~”, “. inc", ". sh", "sql", ". sql", ". tpl. php”,
“. xtmpl", "Entri", "Repositori", "Root",
“. ctp", "kosong"
)
}
3. 3. 6 Nyalakan
Baiklah, mari kita lihat CakePHP beraksi. Bergantung pada penyiapan yang Anda gunakan, Anda harus mengarahkan browser ke http. // contoh. com atau http. // contoh. com/kue_instal/. Pada langkah ini, Anda akan melihat home default CakePHP, dan pesan yang menginformasikan status koneksi database Anda saat ini
Senang. Anda siap membuat aplikasi CakePHP pertama Anda
3. 4 Konfigurasi
Pada CakePHP, detail konfigurasi database disimpan dalam sebuah file, yaitu di app/config/database. php. Contoh file konfigurasi database dapat dilihat di app/config/database. php. bawaan. Konfigurasi yang benar akan terlihat seperti ini
Tampilan Teks Biasa
var $default = array('driver' => 'mysql',
'gigih' => salah,
'host' => 'localhost',
'login' => 'cakephpuser',
'kata sandi' => 'c4k3roxx. ',
'database' => 'my_cakephp_project',
'awalan' => ”);
1. var $default = array('driver' => 'mysql',
2. 'gigih' => salah,
3. 'host' => 'localhost',
4. 'login' => 'cakephpuser',
5. 'kata sandi' => 'c4k3roxx. ',
6. 'database' => 'my_cakephp_project',
7. 'awalan' => ”);
Secara default, $default akan digunakan, kecuali disebutkan lain dalam $useDbConfig dalam sebuah model. Misalnya, jika aplikasi saya memiliki database lama selain yang default, saya dapat menggunakannya dalam model dengan membuat koneksi baru ke database $legacy yang arraynya kurang lebih sama dengan array $default. Caranya adalah dengan menyetel var $useDbConfig = `legacy` pada model yang relevan
Isi pasangan nilai / konten di array konfigurasi sesuai dengan kebutuhan Anda
Nilai Kunci
driver Nama driver database yang akan digunakan di sini. Contoh. mysql, postgres, sqlite, pear-drivername, adodb-drivername, mssql, oracle, atau odbc
persistent Perlu tidaknya menggunakan koneksi secara persistent ke dalam database
nama host host dari server database (atau alamat IP-nya)
login Username digunakan untuk login ke database
password Password digunakan untuk login ke database
database Nama database yang akan digunakan
awalan (opsional) Sebuah String yang digunakan sebagai awalan dari setiap tabel dalam database. Jika Anda tidak menggunakan awalan pada nama tabel Anda, kosongkan bagian ini
port (optional) Port TCO atau Unix socket melakukan koneksi ke database server
encoding Menentukan karakter apa yang digunakan untuk mengirimkan pernyataan SQL ke server
schema Digunakan pada database PostgreSQL untuk menentukan schema mana yang akan digunakan
Setting prefix adalah untuk tabel, bukan model. Sebagai contoh, jika anda membuat tabel join untuk Apple dan Flavor model anda, anda menamakannya prefix_apples_flavors (not prefix_apples_prefix_flavors), dan menset prefix setting menjadi ‘prefix_’
Sampai disini, anda mungkin ingin melihat CakePHP Conventions. Penamaan yang benar untuk table anda (dan penambahkan beberapa kolom) bisa membawa anda ke fungsionalitas yang membebaskan, sehingga anda tidak perlu melakukan konfigurasi. Sebagai contoh, jika anda menamakan tabel database anda big_boxes, model anda BigBox, controller anda BigBoxesController, semuanya akan bekerja secara bersama – sama secara otomatis (tanpa konfigurasi). Dengan aturan konvensi, gunakan garis bawah, huruf kecil, dan bentuk jamak kata untuk setiap nama tabel di dalam database. Contoh . bakers, pastry_stores, savory_cakes
3. 4. 2 Konfigurasi Utama
Di dalam CakePHP, konfigurasi aplikasi terletak di /app/config/core. php. Isi file ini adalah kumpulan definisi variabel dari class Configure dan definisi konstanta yang menentukan bagaimana aplikasi anda nantinya akan bekerja. Sebelum kita melihat lebih dalam mengenai variabel ini, anda perlu harus terbiasa dulu dengan Configure, class registry untuk konfigurasi CakePHP
3. 4. 3 Kelas Konfigurasi
Walaupun beberapa hal perlu dikonfigurasi di dalam CakePHP, kadangkala akan lebih baik jika anda memiliki konfigurasi tersendiri untuk aplikasi anda. Dulu mungkin anda harus mendefinisikan konfigurasi custom atau konstanta di dalam beberapa berkas (file). Hal ini membuat anda harus meng-include-kan berkas konfigurasi tersebut setiap kalau anda memerlukan variabel atau konstanta di dalamnya
Kelas Configure baru dari CakePHP dapat digunakan untuk menyimpan data tersebut, dan mengambil nilai tertentu dari aplikasi atau runtime. Hati – hati, kelas ini memperbolehkan untuk menyimpan apa saja di dalamnya, dan menggunakannya di bagian lain dalam kode anda (sebuah godaan untuk merusak pola MVC, sedangkan CakePHP didesain untuk itu). Tujuan utama dari kelas Configure ini adalah untuk mengumpulkan variabel – variabel yang bisa disebar (share) di banyak objek. Selalu ingat untuk tetap mengikuti aturan “convention over configuration” dan anda tidak akan berakhir dengan merusak struktur MVC yang sudah dirancang
Kelas ini bertindak sebagai singleton dan method – method di dalamnya bisa dipanggil darimana saja di dalam aplikasi anda (dalam konteks statis)
Tampilan Teks Biasa

1
3. 4. 3. 1 Configure Methods
3. 4. 3. 1. 1 write
write(string $key, mixed $value)
Gunakan write() untuk menyimpan data di dalam konfigurasi aplikasi anda
Tampilan Teks Biasa
Configure. write(‘Company. name’,’Pizza, Inc. ’);
Configure. write(‘Company. slogan’,’Pizza for your body and soul’);
1. Configure. write(‘Company. name’,’Pizza, Inc. ’);
2. Configure. write(‘Company. slogan’,’Pizza for your body and soul’);
penggunaan notasi titik di dalam parameter $key. Anda bisa menggunakan notasi ini untuk mengorganisir konfigurasi anda dalam satu gruo logikal
Contoh di atas juga bisa ditulis dalam satu panggilan
Tampilan Teks Biasa
Configure. write(
‘Company’,array(‘name’=>’Pizza, Inc. ’,’slogan’=>’Pizza for your body and soul’)
);
1. Configure. write(
2. 'Perusahaan',array('nama'=>'Pizza, Inc. ’,’slogan’=>’Pizza for your body and soul’)
3. );
Anda bisa menggunakan Configure. write(‘debug’, $int) untuk berpindah antara mode debug dan mode produksi secara langsung (on the fly). Hal ini akan berguna terutama untuk AMF atau interaksi SOAP dimana melakukan debugging informasi bisa menyebabkan masalah parsing
3. 4. 3. 1. 2 read
read(string $key = ‘debug’)
Digunakan untuk membaca data konfigurasi dari aplikasi. Standarnya adalah nilai penting dari debug CakePHP. Koola kunci (kunci) diberikan, data dikembalikan sebagai nilai kembalian dari fungsi ini. Dengan menggunakan contoh write() di atas, kita sekarang dapat membaca datanya
Tampilan Teks Biasa
Konfigurasi. baca('Perusahaan. name’); //yields. 'Pizza, Inc. ’
Konfigurasi. baca('Perusahaan. slogan'); . 'Pizza untuk tubuh dan jiwamu'

Konfigurasi. read('Perusahaan');

// hasil
array('nama' => 'Pizza, Inc. ’, ‘slogan’ => ‘Pizza untuk tubuh dan jiwa Anda’);
1. Konfigurasi. baca('Perusahaan. nama'); . 'Pizza, Inc. ’
2. Konfigurasi. baca('Perusahaan. slogan'); . 'Pizza untuk tubuh dan jiwamu'
3
4. Konfigurasi. read('Perusahaan');
5
6. // hasil
7. array('nama' => 'Pizza, Inc. ’, ‘slogan’ => ‘Pizza untuk tubuh dan jiwa Anda’);
3. 4. 3. 1. 3 hapus
hapus(string $kunci)
Digunakan untuk menghapus informasi dari konfigurasi aplikasi
Tampilan Teks Biasa
Konfigurasi. hapus('Perusahaan. nama');
1. Konfigurasi. hapus('Perusahaan. nama');
3. 4. 3. 1. 4 beban
memuat(string $jalan)
Gunakan metode ini untuk mengambil informasi konfigurasi dari file tertentu
Tampilan Teks Biasa
// /app/config/messages. php

1. // /app/config/messages. php
2
7
8
Setiap pasangan kunci-nilai diwakili dalam file oleh array $config. Variabel - variabel lain dalam file akan diabaikan oleh fungsi load()
3. 4. 3. 1. 5 versi
Versi: kapan()
Mengembalikan informasi versi CakePHP yang digunakan dalam aplikasi saat ini
3. 4. 3. 2 Variabel Konfigurasi Utama CakePHP
Kelas Configure digunakan untuk mengatur grup variabel konfigurasi utama CakePHP. Variabel - variabel ini dapat ditemukan di app/config/core. php. Uraian masing-masing variabel dan pengaruhnya terhadap aplikasi CakePHP Anda dijelaskan di bawah ini
Deskripsi Konfigurasi Variabel
debug Mengubah output dari Debugging CakePHP

0 = Mode produksi, tidak ada output
1 = Pesan kesalahan dan peringatan ditampilkan
2 = Pesan kesalahan, peringatan, dan SQL ditampilkan
3 = Pesan kesalahan, peringatan, SQL, dan pembuangan lengkap dari pengontrol ditampilkan
Aplikasi. baseUrl Batalkan komentar definisi ini, jika Anda tidak berencana menggunakan Apache mod_rewrite dengan CakePHP. Jangan lupa untuk menghapus file tersebut. htaccess
Rute. admin Batalkan komentar pada definisi ini jika Anda ingin menggunakan rute admin dari CakePHP. Ganti variabel ini dengan rute admin yang ingin Anda gunakan. Ini akan dibahas lebih lanjut nanti
Cache. nonaktifkan Jika disetel ke true, maka caching akan dimatikan untuk semua bagian situs web
Cache. centang Jika disetel ke true, aktifkan cache untuk dilihat. Aktivasi masih diperlukan di pengontrol, tetapi variabel ini juga mengaktifkan deteksi pengaturan
Sidang. save Memberi tahu CakePHP tentang mekanisme penyimpanan sesi mana yang akan digunakan

php = Menggunakan penyimpanan sesi default PHP
cake = Menyimpan data sesi di /app/tmp
database = Menyimpan data sesi dalam database. Pastikan tabel telah diatur menggunakan file SQL yang terletak di /app/config/sql/sessions. sql
Sidang. table Nama tabel yang menyimpan informasi session (tidak termasuk prefiks)
Sidang. database Nama database yang menyimpan sesi
Sidang. cookie Nama cookie yang digunakan untuk melacak sesi
Sidang. batas waktu Batas waktu sesi standar (dalam detik). Nilai sebenarnya tergantung pada Keamanan. tingkat
Sidang. mulai Jika disetel ke benar, sesi akan berjalan secara otomatis
Sidang. checkAgent Jika disetel ke false, sesi CakePHP tidak akan melakukan pemeriksaan untuk memastikan bahwa agen pengguna tidak berubah di antara permintaan
Keamanan. tingkat Tingkat keamanan dari CakePHP. Batas waktu sesi ditentukan dalam 'Sesi. batas waktu', dikalikan dengan nilai yang tercantum di sini

Nilai yang valid
'tinggi' = x 10
'sedang' = x 100
'rendah' ​​= x 300

'tinggi' dan 'sedang' mengaktifkan sesi. referrer_check

Keamanan. garam Sebuah string acak yang digunakan dalam keamanan hashing
Acl. nama kelas, Acl. database Konstanta yang digunakan oleh fungsi-fungsi dari Konstanta Daftar Kontrol Akses CakePHP. Silakan lihat bab daftar Access Control untuk informasi lebih lanjut
Konfigurasi cache juga ada di core. php – Kami akan membahasnya nanti
Kelas Configure dapat digunakan untuk membaca dan menulis pengaturan konfigurasi utama secara langsung saat dijalankan (on the fly). Ini akan sangat berguna terutama jika Anda ingin mengubah pengaturan debug hanya untuk bagian tertentu dari aplikasi Anda
3. 4. 3. 3 Konstanta Konfigurasi
Sementara sebagian besar opsi konfigurasi ditangani oleh Configure, ada beberapa konstanta yang digunakan CakePHP selama runtime.
Konstanta Deskripsi
LOG_ERROR Kesalahan Konstan. Digunakan untuk membedakan antara error logging dan debugging. PHP saat ini mendukung LOG_DEBUG
3. 4. 4 Kelas Aplikasi
3. 4. 4. 1 Menggunakan Aplikasi. impor()
Aplikasi. import($type, $name, $parent, $search, $file, $return);
Sekilas Aplikasi. impor tampak rumit, namun dalam sebagian besar kasus penggunaan hanya diperlukan 2 argumen
3. 4. 4. 2 Mengimpor Lib Inti
Pustaka inti seperti Sanitize, dan Xml dapat dimuat oleh
Tampilan Teks Biasa
Aplikasi. import('Core', 'Sanitasi');
1. Aplikasi. import(‘Core’, ‘Sanitize’);
The above would make the Sanitize class available for use
3. 4. 4. 3. 1 Pengontrol Pemuatan
Aplikasi. import(‘Controller’, ‘MyController’);
Aplikasi Panggilan. import is equivalent to require’ing the file. Penting untuk disadari bahwa kelas selanjutnya perlu diinisialisasi
Tampilan Teks Biasa
constructClasses();
?>
1. kelas konstruksi();
8. ?>
3. 4. 4. 3. 2 Loading Models

Iklan

Bagikan ini

  • Twitter
  • Facebook

Saya suka ini

Suka Memuat.