Welcome to the Cookbook

loading...

3.4.4.3 Importing Controllers, Models, Components, Behaviors, and Helpers

All application related class should also be loaded with App::import(). The following examples illustrate how to do so.

3.4.4.3.1 Loading Controllers

App::import('Controller', 'MyController');

Calling App::import is equivalent to require'ing the file. It is important to realize that the class subsequently needs to be initialized.

<?php
// The same as require('controllers/users_controller.php');
App::import('Controller', 'Users');

// We need to load the class
$Users = new UsersController;

// If we want the model associations, components, etc to be loaded
$Users->constructClasses();
?>
  1. <?php
  2. // The same as require('controllers/users_controller.php');
  3. App::import('Controller', 'Users');
  4. // We need to load the class
  5. $Users = new UsersController;
  6. // If we want the model associations, components, etc to be loaded
  7. $Users->constructClasses();
  8. ?>

3.4.4.3.2 Loading Models

App::import('Model', 'MyModel');

3.4.4.3.3 Loading Components

App::import('Component', 'Auth');

<?php
App::import('Component', 'Mailer');

// We need to load the class
$Mailer = new MailerComponent();

?>
  1. <?php
  2. App::import('Component', 'Mailer');
  3. // We need to load the class
  4. $Mailer = new MailerComponent();
  5. ?>

3.4.4.3.4 Loading Behaviors

App::import('Behavior', 'Tree');

3.4.4.3.5 Loading Helpers

App::import('Helper', 'Html');