Class App
Class/file loader and path management.
- Object
- App
Link: http://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Configuration.html#the-app-class
Since: CakePHP(tm) v 1.2.0.6001
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: configure.php
Properties summary
-
$__loaded
publicarray
Holds loaded files. -
$__map
publicarray
Holds key/value pairs of $type => file path. -
$__objects
publicarray
Holds and key => value array of object types. -
$__paths
publicarray
Holds paths for deep searching of files. -
$behaviors
publicarray
List of additional path(s) where behavior files reside. -
$components
publicarray
List of additional path(s) where component files reside. -
$controllers
publicarray
List of additional path(s) where controller files reside. -
$datasources
publicarray
List of additional path(s) where datasource files reside. -
$helpers
publicarray
List of additional path(s) where helper files reside. -
$libs
publicarray
List of additional path(s) where libs files reside. -
$locales
publicarray
List of additional path(s) where locale files reside. -
$models
publicarray
List of additional path(s) where model files reside. -
$plugins
publicarray
List of additional path(s) where plugins reside. -
$return
publicboolean
Whether or not to return the file that is loaded. -
$search
publicarray
Paths to search for files. -
$shells
publicarray
List of additional path(s) where console shell files reside. -
$types
publicarray
List of object types and their properties -
$vendors
publicarray
List of additional path(s) where vendor packages reside. -
$views
publicarray
List of additional path(s) where view files reside.
Method Summary
-
__destruct() public
Object destructor. -
__find() public
Locates the $file in $__paths, searches recursively. -
__list() public
Returns an array of filenames of PHP files in the given directory. -
__load() public
Attempts to load $file. -
__map() public
Maps the $name to the $file. -
__mapped() public
Returns a file's complete path. -
__overload() public
Used to overload objects as needed. -
__paths() public
Returns default search paths. -
__remove() public
Removes file location from map if the file has been deleted. -
__resetCache() public
Determines if $__maps, $__objects and $__paths cache should be reset. -
__settings() public
Loads parent classes based on $type. Returns a prefix or suffix needed for loading files.
-
build() public
Build path references. Merges the supplied $paths with the base paths and the default core paths.
-
core() public
Returns a key/value list of all paths where core libs are found. Passing $type only returns the values for a given value of $key.
-
getInstance() public
Returns a single instance of App. -
import() public
Finds classes based on $name or specific file(s) to search. Calling App::import() will not construct any classes contained in the files. It will only find and require() the file.
-
objects() public
Returns an array of objects of the given type. -
path() public
Used to read information stored path -
pluginPath() public
Get the path that a plugin is on. Searches through the defined plugin paths. -
themePath() public
Find the path that a theme is on. Search through the defined theme paths.
Method Detail
__destruct() public ¶
__destruct( )
Object destructor.
Writes cache file if changes have been made to the $__map or $__paths
__find() public ¶
__find( string $file , boolean $recursive = true )
Locates the $file in $__paths, searches recursively.
Parameters
- string $file
- full file name
- boolean $recursive optional true
- search $__paths recursively
Returns
boolean on fail, $file directory path on success
__list() public ¶
__list( string $path , string $suffix = false , $extension = false )
Returns an array of filenames of PHP files in the given directory.
Parameters
- string $path
- Path to scan for files
- string $suffix optional false
- if false, return only directories. if string, match and return files
- $extension optional false
Returns
List of directories or files in directory
__load() public ¶
__load( string $file )
Attempts to load $file.
Parameters
- string $file
- full path to file including file name
Returns
__map() public ¶
__map( string $file , string $name , string $type , string $plugin )
Maps the $name to the $file.
Parameters
- string $file
- full path to file
- string $name
- unique name for this map
- string $type
- type object being mapped
- string $plugin
- camelized if object is from a plugin, the name of the plugin
__mapped() public ¶
__mapped( string $name , string $type , string $plugin )
Returns a file's complete path.
Parameters
- string $name
- unique name
- string $type
- type object
- string $plugin
- camelized if object is from a plugin, the name of the plugin
Returns
file path if found, false otherwise
__overload() public ¶
__overload( string $type , string $name , $parent )
Used to overload objects as needed.
Parameters
- string $type
- Model or Helper
- string $name
- Class name to overload
- $parent
__paths() public ¶
__paths( string $type )
Returns default search paths.
Parameters
- string $type
- type of object to be searched
Returns
list of paths
__remove() public ¶
__remove( string $name , string $type , string $plugin )
Removes file location from map if the file has been deleted.
Parameters
- string $name
- name of object
- string $type
- type of object
- string $plugin
- camelized name of plugin
__resetCache() public ¶
__resetCache( boolean $reset = null )
Determines if $__maps, $__objects and $__paths cache should be reset.
Parameters
- boolean $reset optional null
Returns
__settings() public ¶
__settings( string $type , string $plugin , boolean $parent )
Loads parent classes based on $type. Returns a prefix or suffix needed for loading files.
Parameters
- string $type
- type of object
- string $plugin
- camelized name of plugin
- boolean $parent
- false will not attempt to load parent
Returns
build() public ¶
build( array $paths = array() , boolean $reset = false )
Build path references. Merges the supplied $paths with the base paths and the default core paths.
Parameters
- array $paths optional array()
- paths defines in config/bootstrap.php
- boolean $reset optional false
- true will set paths, false merges paths [default] false
core() public ¶
core( string $type = null )
Returns a key/value list of all paths where core libs are found. Passing $type only returns the values for a given value of $key.
Parameters
- string $type optional null
valid values are: 'model', 'behavior', 'controller', 'component', 'view', 'helper', 'datasource', 'libs', and 'cake'
Returns
numeric keyed array of core lib paths
import() public ¶
import( mixed $type = null , string $name = null , mixed $parent = true , array $search = array() , string $file = null , boolean $return = false )
Finds classes based on $name or specific file(s) to search. Calling App::import() will not construct any classes contained in the files. It will only find and require() the file.
Parameters
- mixed $type optional null
The type of Class if passed as a string, or all params can be passed as an single array to $type,
- string $name optional null
- Name of the Class or a unique name for the file
- mixed $parent optional true
boolean true if Class Parent should be searched, accepts key => value array('parent' => $parent ,'file' => $file, 'search' => $search, 'ext' => '$ext'); $ext allows setting the extension of the file name based on Inflector::underscore($name) . ".$ext";
- array $search optional array()
- paths to search for files, array('path 1', 'path 2', 'path 3');
- string $file optional null
- full name of the file to search for including extension
- boolean $return optional false
$return, return the loaded file, the file must have a return statement in it to work: return $variable;
Returns
true if Class is already in memory or if file is found and loaded, false if not
Link
objects() public ¶
objects( string $type , mixed $path = null , boolean $cache = true )
Returns an array of objects of the given type.
Example usage:
App::objects('plugin');
returns array('DebugKit', 'Blog', 'User');
Parameters
- string $type
- Type of object, i.e. 'model', 'controller', 'helper', or 'plugin'
- mixed $path optional null
Optional Scan only the path given. If null, paths for the chosen type will be used.
- boolean $cache optional true
- Set to false to rescan objects of the chosen type. Defaults to true.
Returns
Either false on incorrect / miss. Or an array of found objects.
path() public ¶
path( string $type )
Used to read information stored path
Usage:
App::path('models'); will return all paths for models
Parameters
- string $type
- type of path
Returns
array
pluginPath() public ¶
pluginPath( string $plugin )
Get the path that a plugin is on. Searches through the defined plugin paths.
Parameters
- string $plugin
- CamelCased/lower_cased plugin name to find the path of.
Returns
full path to the plugin.
themePath() public ¶
themePath( string $theme )
Find the path that a theme is on. Search through the defined theme paths.
Parameters
- string $theme
- lower_cased theme name to find the path of.
Returns
full path to the theme.
Methods inherited from Object
Object() public ¶
Object( )
A hack to support __construct() on PHP 4 Hint: descendant classes have no PHP4 class_name() constructors, so this constructor gets called first and calls the top-layer __construct() which (if present) should call parent::__construct()
Returns
__openPersistent() public ¶
__openPersistent( string $name , string $type = null )
Open the persistent class file for reading Used by Object::_persist()
Parameters
- string $name
- Name of persisted class
- string $type optional null
- Type of persistance (e.g: registry)
_persist() public ¶
_persist( string $name , string $return , $object , $type = null )
Checks for a persistent class file, if found file is opened and true returned If file is not found a file is created and false returned If used in other locations of the model you should choose a unique name for the persistent file There are many uses for this method, see manual for examples
Parameters
- string $name
- name of the class to persist
- string $return
- $object the object to persist
- $object
- $type optional null
Returns
Success
_savePersistent() public ¶
_savePersistent( string $name , object $object )
You should choose a unique name for the persistent file
There are many uses for this method, see manual for examples
Parameters
- string $name
- name used for object to cache
- object $object
- the object to persist
Returns
true on save, throws error if file can not be created
_set() public ¶
_set( array $properties = array() )
Allows setting of multiple properties of the object in a single line of code. Will only set properties that are part of a class declaration.
Parameters
- array $properties optional array()
- An associative array containing properties and corresponding values.
_stop() public ¶
_stop( $status = 0 )
Stop execution of the current script. Wraps exit() making testing easier.
Parameters
- $status optional 0
- http://php.net/exit for values
cakeError() public ¶
cakeError( string $method , array $messages = array() )
Used to report user friendly errors. If there is a file app/error.php or app/app_error.php this file will be loaded error.php is the AppError class it should extend ErrorHandler class.
Parameters
- string $method
- Method to be called in the error class (AppError or ErrorHandler classes)
- array $messages optional array()
- Message that is to be displayed by the error class
Returns
message
dispatchMethod() public ¶
dispatchMethod( string $method , array $params = array() )
Calls a method on this object with the given parameters. Provides an OO wrapper
for call_user_func_array
Parameters
- string $method
- Name of the method to call
- array $params optional array()
- Parameter list to use when calling $method
Returns
Returns the result of the method call
log() public ¶
log( string $msg , integer $type = LOG_ERROR )
Convience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.
Parameters
- string $msg
- Log message
- integer $type optional LOG_ERROR
- Error type constant. Defined in app/config/core.php.
Returns
Success of log write
requestAction() public ¶
requestAction( mixed $url , array $extra = array() )
Calls a controller's method from any location. Can be used to connect controllers together or tie plugins into a main application. requestAction can be used to return rendered views or fetch the return value from controller actions.
Parameters
- mixed $url
- String or array-based url.
- array $extra optional array()
- if array includes the key "return" it sets the AutoRender to true.
Returns
Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.
toString() public ¶
toString( )
Object-to-string conversion. Each class can override this method as necessary.
Returns
The name of this class
Properties detail
$types ¶
List of object types and their properties
array( 'class' => array('suffix' => '.php', 'extends' => null, 'core' => true), 'file' => array('suffix' => '.php', 'extends' => null, 'core' => true), 'model' => array('suffix' => '.php', 'extends' => 'AppModel', 'core' => false), 'behavior' => array('suffix' => '.php', 'extends' => 'ModelBehavior', 'core' => true), 'controller' => array('suffix' => '_controller.php', 'extends' => 'AppController', 'core' => true), 'component' => array('suffix' => '.php', 'extends' => null, 'core' => true), 'lib' => array('suffix' => '.php', 'extends' => null, 'core' => true), 'view' => array('suffix' => '.php', 'extends' => null, 'core' => true), 'helper' => array('suffix' => '.php', 'extends' => 'AppHelper', 'core' => true), 'vendor' => array('suffix' => '', 'extends' => null, 'core' => true), 'shell' => array('suffix' => '.php', 'extends' => 'Shell', 'core' => true), 'plugin' => array('suffix' => '', 'extends' => null, 'core' => true) )