|
|
Sebuah Model merepresentasikan model data Anda dan dalam pemrograman berorientasi obyek, model merepresentasikan sesuatu, seperti sebuah mobil, seseorang, atau sebuah rumah. Sebuah blog misalnya, dapat terdiri dari banyak tulisan (post) dan setiap tulisan dapat mempunyai banyak komentar (comment). Blog, Post dan Comment semuanya merupakan contoh model, masing-masing saling berasosiasi. 1.3 Memahami Model-View-Controller CakePHP mengikuti pola desain MVC. Memprogram menggunakan MVC memisahkan aplikasi menjadi tiga bagian utama: Model yang merepresentasikan data aplikasi View yang menyajikan presentasi data dari model 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. Komponen adalah sebuah class bantu dalam logik controller. Jika Anda mempunyai beberapa logik yang ingin digunakan juga oleh controller (atau aplikasi) lain, maka penggunaan komponen sangat tepat. Misal, class inti dari EmailComponent membuat tugas menulis dan mengirim email menjadi lebih mudah. Daripada menulis sebuah method dalam satu controller untuk mengeksekusi logik ini, Anda dapat mempaket logik tersebut sehingga dapat digunakan secara bersama. Controller juga bisa dipadankan dengan callback. Callback dapat digunakan saat Anda ingin menyisipkan beberapa logik diantara operasi inti CakePHP. Callback yang tersedia diantaranya:
Database di Cake PHP Kelompok 8 : FICHRYA RIZANTI 30210258 FIKRI ZUHRON 30210262 NAOMI MEIDITA 30210270
Cake PHP Kerangka kerja untuk mengembangkan aplikasi dalam PHP Mengikuti pola desain MVC Free Open Source Perkembangannya cepat,Komunitasnya banyak dan aktif Bisa dijalankan menggunakan PHP4 dan PHP5 CakePHP juga mendukung berbagai database populer seperti MySQL, PostgreSQL, SQLite, MS SQL, DB 2, dan Oracle CakePHP juga mendukung JavaScript, AJAX, RSS, Email, dan XML yang sudah terintegrasi dalam core library-nya
Kelebihan Easy Installation Easy Debugging Integrated Unit Testing
Kekurangan Membuat tabel di SQL yang terpisah Tidak terdokumentasi dengan baik Keterbatasan dalam PHP Sedikit kaku dalam OOP Akses data melalui array tidak melalui clases seperti ROR , dan dengan kata lain lebih banyak kodenya
CakePHP Framework app/ config/ controllers/ models/ plugins/ tmp/ vendors/ views/ webroot/ cake/ config/ docs/ libs/ vendors/
Keuntungan Lainnya Bake script – command line script generator Uses LAMP common web platform (Linux, Apache, MySQL and PHP) Helpers for HTML, Forms, Pagination, AJAX, Javascript, XML, RSS Scaffolding (no need for views) Create controller with var $scaffold;
Arsitektur MVC Pemisahan Domain Logikal dari GUI
MVC (Model View Controller) Model Data layer View Presentation layer Controller Logic layer
Simpel Database Online list Bisa memasukan add, edit, view and delete untuk data dalam sebuah table Menggunakan single table
Database Add table to DB: CREATE TABLE cake_contacts ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), number VARCHAR(50), created DATETIME DEFAULT NULL, modified DATETIME DEFAULT NULL );
Contoh Model <?php class Book extends AppModel { var$name = 'Book'; var$validate = array( 'title' => array( 'rule' => 'notEmpty' ), 'author' => array( 'rule' => 'notEmpty' ) ); } ?>
Contoh Controller <?php class BooksController extends AppController{ var$name = 'Books'; var$helpers = array('Html','Ajax','Javascript'); function index() { $this->set('books', $this->Book->find('all')); } function view($id = null) { $this->Book->id = $id; $this->set('book', $this->Book->read()); print_r($this->viewVars); } }
Contoh View <h1>Books</h1> <table> <tr> <th>Id</th> <th>Title</th> <th>Author</th> </tr> <?php foreach ($books as $book) ?> <tr> <td><?php echo $book['Book']['id']; ?></td> <td> <?php echo $html->link($book['Book']['title'], array('controller' => 'books', 'action' => 'view', $book['Book']['id'])); ?> </td> <td><?php echo $book ['Book']['author']; ?> </td> </tr> <?php endforeach ?> </table>
ORM (Object Relational Mapper) ORM berjalan di atas abstaction layer(DBAL). Salah satu fitur utama dari ORM ini adalah cara penulisan query dalam bahasa SQL yang berorientasi object. Tidak hanya programming yang memiliki orientasi object yang di kenal OOP, tetapi database pun memiliki orientasi object yang sering disebut Doctrine Query Language(DQL). Terinspirasi dari Hibernates Query Language (HQL). Doctrine-ORM menyediakan pengembangan dengan alternatif yang kuat untuk SQL. Mempertahankan fleksibilitas tanpa memerlukan duplikasi kode.
Relationship Types Ada 3 jenis hubungan yang dapat terjadi antara tabel database : Satu ke satu (hasOne) Satu ke banyak(hasMany) Banyak ke satu(belongsTo) Banyak ke banyak (hasAndBelongsToMany)
Contoh ORM
Controller Code
View Code
Views
CONTOH YANG LAINNYA CLASSROOM
EDIT CLASSROOM
VIEW CLASSROOM
CLASSROOM
PHP BIBLIOGRAPHY INSTALL
BIBLIOGRAPHY UPDATE
Terima kasih :*
Summary: Nilai dasar dan menengah
| URL: |
No comments posted yet
Comments