2019-07-17 20:16:19 +00:00
< ? php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE . txt .
* It is also available through the world - wide - web at this URL :
* http :// framework . zend . com / license / new - bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world - wide - web , please send an email
* to license @ zend . com so we can send you a copy immediately .
*
* @ category Zend
* @ package Zend_Tool
* @ subpackage Framework
* @ copyright Copyright ( c ) 2005 - 2009 Zend Technologies USA Inc . ( http :// www . zend . com )
* @ license http :// framework . zend . com / license / new - bsd New BSD License
2019-07-17 20:31:04 +00:00
* @ version $Id : BootstrapFile . php 18951 2009 - 11 - 12 16 : 26 : 19 Z alexander $
2019-07-17 20:16:19 +00:00
*/
/**
* @ see Zend_Tool_Project_Context_Filesystem_File
*/
require_once 'Zend/Tool/Project/Context/Filesystem/File.php' ;
require_once 'Zend/Application.php' ;
/**
* This class is the front most class for utilizing Zend_Tool_Project
*
* A profile is a hierarchical set of resources that keep track of
* items within a specific project .
2019-07-17 20:31:04 +00:00
*
2019-07-17 20:16:19 +00:00
* @ category Zend
* @ package Zend_Tool
* @ copyright Copyright ( c ) 2005 - 2009 Zend Technologies USA Inc . ( http :// www . zend . com )
* @ license http :// framework . zend . com / license / new - bsd New BSD License
*/
2019-07-17 20:31:04 +00:00
class Zend_Tool_Project_Context_Zf_BootstrapFile extends Zend_Tool_Project_Context_Filesystem_File
2019-07-17 20:16:19 +00:00
{
2019-07-17 20:31:04 +00:00
2019-07-17 20:16:19 +00:00
/**
* @ var string
*/
protected $_filesystemName = 'Bootstrap.php' ;
2019-07-17 20:31:04 +00:00
2019-07-17 20:16:19 +00:00
protected $_applicationInstance = null ;
protected $_bootstrapInstance = null ;
2019-07-17 20:31:04 +00:00
2019-07-17 20:16:19 +00:00
/**
* getName ()
*
* @ return string
*/
public function getName ()
{
return 'BootstrapFile' ;
}
2019-07-17 20:31:04 +00:00
2019-07-17 20:16:19 +00:00
public function init ()
{
parent :: init ();
2019-07-17 20:31:04 +00:00
2019-07-17 20:16:19 +00:00
$applicationConfigFile = $this -> _resource -> getProfile () -> search ( 'ApplicationConfigFile' );
$applicationDirectory = $this -> _resource -> getProfile () -> search ( 'ApplicationDirectory' );
2019-07-17 20:31:04 +00:00
2019-07-17 20:16:19 +00:00
if (( $applicationConfigFile === false ) || ( $applicationDirectory === false )) {
throw new Exception ( 'To use the BootstrapFile context, your project requires the use of both the "ApplicationConfigFile" and "ApplicationDirectory" contexts.' );
}
2019-07-17 20:31:04 +00:00
2019-07-17 20:16:19 +00:00
if ( $applicationConfigFile -> getContext () -> exists ()) {
define ( 'APPLICATION_PATH' , $applicationDirectory -> getPath ());
$applicationOptions = array ();
$applicationOptions [ 'config' ] = $applicationConfigFile -> getPath ();
2019-07-17 20:31:04 +00:00
2019-07-17 20:16:19 +00:00
$this -> _applicationInstance = new Zend_Application (
'development' ,
$applicationOptions
);
}
}
2019-07-17 20:31:04 +00:00
2019-07-17 20:16:19 +00:00
/**
* getContents ()
*
* @ return array
*/
public function getContents ()
{
$codeGenFile = new Zend_CodeGenerator_Php_File ( array (
'classes' => array (
new Zend_CodeGenerator_Php_Class ( array (
'name' => 'Bootstrap' ,
'extendedClass' => 'Zend_Application_Bootstrap_Bootstrap' ,
)),
)
));
2019-07-17 20:31:04 +00:00
2019-07-17 20:16:19 +00:00
return $codeGenFile -> generate ();
}
}