Naming Convension CakePHP « To ~ reizen.
Setelah postingan sebelumnya membahas tentang Tutorial dasar cakePHP dan Penggunaan fungsi Bake, thread kali ini akan mencoba membahas tentang Naming Convension Using CakePhp atau tata acara penamaan didalam CakePHP. Didalam CakePHP, penamaan memegang peranan yang penting dan strict/ketat sekali. Dan aturan tersebut harus dipenuhi. Beberapa aturan tersebut, akan saya coba rangkum seperti dibawah ini :
Database & Table
Beberapa aturan penamaan didalam cakephp untuk database & table, yaitu :
a. Nama table sebaiknya dalam bahasa inggris.
b. Nama dari table harus menggunakan kata jamak (plural) dengan suffix s/es.
c. Jika nama table terdiri dari 2 (dua) nama maka harus menggunakan karakter ‘_’ contohnya: customers, books, authors, line_items
.
d. Jika menggunakan join table, maka penamaannya berdasarkan alphabetical order dengan karakter ‘_’ sebagai pemisah. Contohnya: authors_books; bukan books_authors
.
e. Tiap table harus memiliki field id sebagai primary key-nya.
f. Tiap table memiliki field created dan updated (Optional). Field ini optional, yang tidak akan mengganggu kinerja dari CakePHP jika field tersebut tidak dibuat. Jika field-field tersebut tersedia di dalam table, maka CakePHP akan mengisinya secara otomatis setiap kali ada operasi create atau update.
Model
Beberapa aturan penamaan didalam cakephp untuk Models, yaitu :
a. Ekstensi file berupa *.php
b. Nama class didalam model harus diberi nama dengan format tunggal/single, CamelCased dan disarankan sama dengan nama tabel yang dikelolanya agar mendapatkan automagic loading variable, function dan sebagainya. Contoh : Blog (nama tabel blogs), Shoe (nama tabel shoes).
View
Beberapa aturan penamaan didalam cakephp untuk Views, yaitu :
a. Ekstensi file berupa *.ctp.
b. Untuk view, file-filenya diletakkan di dalam folder tersendiri sesuai nama controller-nya. Misalkan, posts untuk PostsController. Sedangkan nama file-filenya sesuai nama action (function) yang didefinisikan di controller yang bersangkutan.
Controller
Beberapa aturan penamaan didalam cakephp untuk Controller, yaitu :
a. Ekstensi file berupa *.php
b. Nama class didalam controller harus diberi nama dengan format jamak/plural (diakhiri dengan s/es), CamelCased dan adanya suffix (akhiran) Controller. Contoh : BooksController, NewStudentsController.
c. Nama file harus menggunakan huruf kecil.
d. Nama file mengikuti nama controller dan dipisahkan garis bawah antar katanya. Contoh : books_controller, new_students_controller
.
By Tamas Amon (sajt)
This is the Cake Conventions from the old wiki site.
- tables names are plural and lowercased
- model names singular and CamelCased: ModelName
- model filenames are singular and underscored: model_name.php
- controller names are plural and CamelCased with *Controller* appended: ControllerNamesController
- controller filenames are plural and underscored with *controller* appended: controller_names_controller.php
- associations should use the ModelName, and the order should match the order of the foreignKeys: var $belongsTo = ‘User’;
- foreign keys should always be: table_name_in_singular_form_id: user_id (foreign key) -> users (table)
- many-to-many join tables should be named: alphabetically_first_table_plural_alphabetically_second_table_plural ie: tags_users
- columns in many-to-many join tables should be named like other foreign keys ie: tag_id and user_id
- columns named created and modified will automatically be populated correctly
- components should be CamelCased: MyComponent : my_component.php : var $components = array(‘MyComponent’); $this->MyComponent->method();
- helpers should be CamelCased: MyHelper: my_helper.php: var $helpers = array(‘MyHelper’); $myHelper->method();