Class ProjectTask
Task class for creating new project apps and plugins
Copyright: Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
License: License (http://www.opensource.org/licenses/mit-license.php)
Location: tasks/project.php
Properties summary
- 
			
$configPathpublicstringconfigs path (used in testing). 
Inherited Properties
Method Summary
- 
			
bake() public
Looks for a skeleton template of a Cake application, and if not found asks the user for a path. When there is a path this method will make a deep copy of the skeleton to the project directory. A default home page will be added, and the tmp file storage will be chmod'ed to 0777.
 - 
			
cakeAdmin() public
Enables Configure::read('Routing.prefixes') in /app/config/core.php - 
			
corePath() public
Generates and writes CAKE_CORE_INCLUDE_PATH - 
			
createHome() public
Writes a file with a default home page to the project. - 
			
execute() public
Checks that given project path does not already exist, and finds the app directory in it. Then it calls bake() with that information.
 - 
			
getPrefix() public
Checks for Configure::read('Routing.prefixes') and forces user to input it if not enabled - 
			
help() public
Help - 
			
securityCipherSeed() public
Generates and writes 'Security.cipherSeed' - 
			
securitySalt() public
Generates and writes 'Security.salt' 
Method Detail
bake() public ¶
bake( string $path , string $skel = null , string $skip = array('empty') )
Looks for a skeleton template of a Cake application, and if not found asks the user for a path. When there is a path this method will make a deep copy of the skeleton to the project directory. A default home page will be added, and the tmp file storage will be chmod'ed to 0777.
Parameters
- string $path
 - Project path
 - string $skel optional null
 - Path to copy from
 - string $skip optional array('empty')
 - array of directories to skip when copying
 
cakeAdmin() public ¶
cakeAdmin( string $name )
Enables Configure::read('Routing.prefixes') in /app/config/core.php
Parameters
- string $name
 - Name to use as admin routing
 
Returns
Success
corePath() public ¶
corePath( string $path )
Generates and writes CAKE_CORE_INCLUDE_PATH
Parameters
- string $path
 - Project path
 
Returns
Success
createHome() public ¶
createHome( string $dir )
Writes a file with a default home page to the project.
Parameters
- string $dir
 - Path to project
 
Returns
Success
execute() public ¶
execute( string $project = null )
Checks that given project path does not already exist, and finds the app directory in it. Then it calls bake() with that information.
Parameters
- string $project optional null
 - Project path
 
getPrefix() public ¶
getPrefix( )
Checks for Configure::read('Routing.prefixes') and forces user to input it if not enabled
Returns
Admin route to use
securityCipherSeed() public ¶
securityCipherSeed( string $path )
Generates and writes 'Security.cipherSeed'
Parameters
- string $path
 - Project path
 
Returns
Success
securitySalt() public ¶
securitySalt( string $path )
Generates and writes 'Security.salt'
Parameters
- string $path
 - Project path
 
Returns
Success
Methods inherited from Shell
_checkArgs() public ¶
_checkArgs( integer $expectedNum , string $command = null )
Will check the number args matches otherwise throw an error
Parameters
- integer $expectedNum
 - Expected number of paramters
 - string $command optional null
 - Command
 
_controllerName() public ¶
_controllerName( string $name )
Creates the proper controller plural name for the specified controller class name
Parameters
- string $name
 - Controller class name
 
Returns
Controller plural name
_controllerPath() public ¶
_controllerPath( string $name )
Creates the proper controller path for the specified controller class name
Parameters
- string $name
 - Controller class name
 
Returns
Path to controller
_loadDbConfig() public ¶
_loadDbConfig( )
Loads database file and constructs DATABASE_CONFIG class makes $this->DbConfig available to subclasses
Returns
_loadModels() public ¶
_loadModels( )
if var $uses = true Loads AppModel file and constructs AppModel class makes $this->AppModel available to subclasses if var $uses is an array of models will load those models
Returns
_modelKey() public ¶
_modelKey( string $name )
Creates the proper underscored model key for associations
Parameters
- string $name
 - Model class name
 
Returns
Singular model key
_modelName() public ¶
_modelName( string $name )
Creates the proper controller camelized name (singularized) for the specified name
Parameters
- string $name
 - Name
 
Returns
Camelized and singularized controller name
_modelNameFromKey() public ¶
_modelNameFromKey( string $key )
Creates the proper model name from a foreign key
Parameters
- string $key
 - Foreign key
 
Returns
Model name
_pluginPath() public ¶
_pluginPath( string $pluginName )
Find the correct path for a plugin. Scans $pluginPaths for the plugin you want.
Parameters
- string $pluginName
 - Name of the plugin you want ie. DebugKit
 
Returns
$path path to the correct plugin.
_pluralHumanName() public ¶
_pluralHumanName( string $name )
Creates the plural human name used in views
Parameters
- string $name
 - Controller name
 
Returns
Plural human name
_pluralName() public ¶
_pluralName( string $name )
Creates the plural name for views
Parameters
- string $name
 - Name to use
 
Returns
Plural name for views
_singularHumanName() public ¶
_singularHumanName( string $name )
Creates the singular human name used in views
Parameters
- string $name
 - Controller name
 
Returns
Singular human name
_singularName() public ¶
_singularName( string $name )
creates the singular name for use in views.
Parameters
- string $name
 
Returns
$name
createFile() public ¶
createFile( string $path , string $contents )
Creates a file at given path
Parameters
- string $path
 - Where to put the file.
 - string $contents
 - Content to put in the file.
 
Returns
Success
err() public ¶
err( mixed $message = null , integer $newlines = 1 )
Outputs a single or multiple error messages to stderr. If no parameters are passed outputs just a newline.
Parameters
- mixed $message optional null
 - A string or a an array of strings to output
 - integer $newlines optional 1
 - Number of newlines to append
 
error() public ¶
error( string $title , string $message = null )
Displays a formatted error message and exits the application with status code 1
Parameters
- string $title
 - Title of the error
 - string $message optional null
 - An optional error message
 
hr() public ¶
hr( integer $newlines = 0 )
Outputs a series of minus characters to the standard output, acts as a visual separator.
Parameters
- integer $newlines optional 0
 - Number of newlines to pre- and append
 
in() public ¶
in( string $prompt , mixed $options = null , string $default = null )
Prompts the user for input, and returns it.
Parameters
- string $prompt
 - Prompt text.
 - mixed $options optional null
 - Array or string of options.
 - string $default optional null
 - Default input value.
 
Returns
the default value, or the user-provided input.
initialize() public ¶
initialize( )
Initializes the Shell acts as constructor for subclasses allows configuration of tasks prior to shell execution
nl() public ¶
nl( integer $multiplier = 1 )
Returns a single or multiple linefeeds sequences.
Parameters
- integer $multiplier optional 1
 - Number of times the linefeed sequence should be repeated
 
Returns
out() public ¶
out( mixed $message = null , integer $newlines = 1 )
Outputs a single or multiple messages to stdout. If no parameters are passed outputs just a newline.
Parameters
- mixed $message optional null
 - A string or a an array of strings to output
 - integer $newlines optional 1
 - Number of newlines to append
 
Returns
Returns the number of bytes returned from writing to stdout.
shortPath() public ¶
shortPath( string $file )
Makes absolute file path easier to read
Parameters
- string $file
 - Absolute file path
 
Returns
short path
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