CAKE BAKE ALL without naming convention di CakePHP


Seperti yang sama-sama kita ketahui, CakePHP memiliki aturan naming convention yang sangat ketat. Jadi jika ingin mendapatkan semua feature yang disediakan, harus taat dengan naming convention tersebut. Salah satu naming convention yang sangat ketat yaitu masalah penamaan nama table haruslah jamak/plural yang ditandai dengan akhiran s/es, jadi jika kita mempunyai table BUKU penamaannya harus menjadi BOOKS atau BUKUS. Sebagai orang Indonesia, hal ini tidaklah mengenakkan. Trus bagaimana caranya jika kita mempunyai table BUKU dan tetap disimpan dengan nama BUKU?? Caranya dengan mengatur file bootsrap.php, Langkah2nya sebagai berikut :

No. Langkah
1. Sebagai contoh, didalam mysql buatlah database dengan nama dbcakephp dan buatlah 1 table dengan nama BUKU. Script create BUKU dapat dilihat dibawah ini :
CREATE TABLE `buku` (
`id` int(11) NOT NULL auto_increment,
`judul_buku` varchar(200) collate latin1_general_ci default NULL,
`pengarang` varchar(200) collate latin1_general_ci default NULL,
`tgl_terbit` date default NULL,
`created` datetime default NULL,
`updated` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
2. Buatlah sebuah project dengan menggunakan fitur CAKE BAKE, beri nama newcake. Step by stepnya bisa dilihat di MEMBUAT PROJEK BARU MENGGUNAKAN FITUR ‘BAKE’.
3. Edit file bootstrap.php yang bisa kita temukan di …\newcake\config\ dan tambahkan script dibawah ini :
Inflector::rules('singular', array('rules' => array(), 'irregular' => array(), 'uninflected' => array('.*')));
Inflector::rules('plural', array('rules' => array(), 'irregular' => array(), 'uninflected' => array('.*')));
4. Kemudian buatlah CRUD application dengan menggunakan fitur CAKE BAKE ALL. Step by stepnya bisa dilihat di CREATING SIMPLE CRUD APPLICATION. Script lengkapnya bisa dilihat dibawah ini : 

C:\xampp2\htdocs\newcake>cake bake all 

PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) ‘php_pdo_oci8.dll’  in Unknown on line 0
?
Welcome to CakePHP v1.3.7 Console
—————————————————————
App : newcake
Path: C:\xampp2\htdocs\newcake
—————————————————————
—————————————————————
Bake All
—————————————————————
Possible Models based on your current database:
1. Books
2. Buku
3. Categories
4. Posts
5. Roti
6. Students
Enter a number from the list above,
type in the name of another model, or ‘q’ to exit
[q] > 2

Baking model class for Buku…

Creating file C:\xampp2\htdocs\newcake\models\buku.php
Wrote `C:\xampp2\htdocs\newcake\models\buku.php`
Buku Model was baked.
SimpleTest is not installed. Do you want to bake unit test files anyway? (y/n)
[y] > n

Creating file C:\xampp2\htdocs\newcake\controllers\buku_controller.php
Wrote `C:\xampp2\htdocs\newcake\controllers\buku_controller.php`
Buku Controller was baked.
SimpleTest is not installed. Do you want to bake unit test files anyway? (y/n)
[y] > n

Creating file C:\xampp2\htdocs\newcake\views\buku\index.ctp
Wrote `C:\xampp2\htdocs\newcake\views\buku\index.ctp`

Creating file C:\xampp2\htdocs\newcake\views\buku\view.ctp
Wrote `C:\xampp2\htdocs\newcake\views\buku\view.ctp`

Creating file C:\xampp2\htdocs\newcake\views\buku\add.ctp
Wrote `C:\xampp2\htdocs\newcake\views\buku\add.ctp`

Creating file C:\xampp2\htdocs\newcake\views\buku\edit.ctp
Wrote `C:\xampp2\htdocs\newcake\views\buku\edit.ctp`
Buku Views were baked.
Bake All complete
C:\xampp2\htdocs\newcake>

5. Jalankan aplikasi melalui url berikut : http://localhost/newcake/buku dan tampilannya kayak dibawah ini nih : 

CRUD APPLICATION

Sumber postingan saya dari http://www.tumpahruah.com, dan telah saya detailkan lebih lanjut. Mudah2an postingan ini bisa bermanfaat untuk kita semua. Amiiiiiiiiiiiin😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s