Welcome to the Cookbook

loading...

3.5.1 Pengenalan

The original text for this section has changed since it was translated. Please help resolve this difference. You can:

More information about translations

Controller digunakan untuk mengurus logic pada sesuatu bahagian dalam aplikasi anda. Biasanya, controller digunakan untuk mengurus logic pada single model. Sebagai contoh, jika anda membina laman untuk online bakery, anda mungkin ada RecipesController dan IngredientsController yang menguruskan resipi dan bahan-bahannya. Dalam CakePHP, controller dinamakan selepas model yang diuruskan, dalam kata nama (baca: plural/jamak).

Model Recipe dipegang oleh RecipesController, Model Product dipegang oleh ProductsController, dan begitulah seadanya.

Controllers pada aplikasi anda adalah kelas-kelas yang melebarkan kelas AppController CakePHP, di mana sebaliknya ia melebarkan pula kelas Controller utama. Kelas AppController boleh ditetapkan di /app/app_controller.php dan ia patut mengandungi kaedah yang dikongsi di antara controllers pada aplikasi anda. Ia melebarkan kelas Controller yang mana adalah library standard dalam CakePHP.

Controllers boleh mengandungi apa sahaja kaedah yang dipanggil actions. Actions adalah controller methods yang digunakan untuk memaparkan views. Satu action ialah kaedah tunggal untuk controller. CakePHP’s dengan segera memanggil actions bila mana datangnya request yang padan dengan URL pada controller’s action. Kembali pada contoh online bakery kita, RecipesController kita mungkin mengandungi view(), share(), dan search() actions. Controller boleh dijumpai di /app/controllers/recipes_controller.php dan mengandungi:

    <?php
    
    # /app/controllers/recipes_controller.php

    class RecipesController extends AppController {
        function view($id)     {
            //action logic goes here..
        }

        function share($customer_id, $recipe_id) {
            //action logic goes here..
        }

        function search($query) {
            //action logic goes here..
        }
    }

    ?>
  1. <?php
  2. # /app/controllers/recipes_controller.php
  3. class RecipesController extends AppController {
  4. function view($id) {
  5. //action logic goes here..
  6. }
  7. function share($customer_id, $recipe_id) {
  8. //action logic goes here..
  9. }
  10. function search($query) {
  11. //action logic goes here..
  12. }
  13. }
  14. ?>

Bagi menggunakan controller secara effektif pada aplikasi anda, kami akan menjelaskan beberapa attributes utama dan kaedah yang diberikan oleh controller CakePHP.