Exemplo n.º 1
0
 /**
  * init()
  *
  * @return \Zend\Tool\Project\Context\Zf\ActionMethod
  */
 public function init()
 {
     $this->_actionName = $this->_resource->getAttribute('actionName');
     $this->_resource->setAppendable(false);
     $this->_controllerResource = $this->_resource->getParentResource();
     if (!$this->_controllerResource->getContext() instanceof ControllerFile) {
         throw new Context\Exception('ActionMethod must be a sub resource of a ControllerFile');
     }
     // make the ControllerFile node appendable so we can tack on the actionMethod.
     $this->_resource->getParentResource()->setAppendable(true);
     $this->_controllerPath = $this->_controllerResource->getContext()->getPath();
     return $this;
 }
Exemplo n.º 2
0
 public function getApplicationInstance()
 {
     if ($this->_applicationInstance == null) {
         if ($this->_applicationConfigFile->getContext()->exists()) {
             define('APPLICATION_PATH', $this->_applicationDirectory->getPath());
             $applicationOptions = array();
             $applicationOptions['config'] = $this->_applicationConfigFile->getPath();
             $this->_applicationInstance = new \Zend\Application\Application('development', $applicationOptions);
         }
     }
     return $this->_applicationInstance;
 }
Exemplo n.º 3
0
 /**
  * init()
  *
  * @return \Zend\Tool\Project\Context\Filesystem\AbstractFilesystem
  */
 public function init()
 {
     $parentBaseDirectory = $this->_resource->getParentResource()->getContext()->getPath();
     $this->_baseDirectory = $parentBaseDirectory;
     return $this;
 }
Exemplo n.º 4
0
 /**
  * createResource()
  *
  * Method to create a resource with a given context with specific attributes
  *
  * @param string $context
  * @param array $attributes
  * @return \Zend\Tool\Project\Profile\Resource
  */
 public function createResource($context, array $attributes = array())
 {
     if (is_string($context)) {
         $contextRegistry = \Zend\Tool\Project\Context\Repository::getInstance();
         if ($contextRegistry->hasContext($context)) {
             $context = $contextRegistry->getContext($context);
         } else {
             throw new Profile\Exception('Context by name ' . $context . ' was not found in the context registry.');
         }
     } elseif (!$context instanceof \Zend\Tool\Project\Context) {
         throw new Profile\Exception('Context must be of type string or Zend_Tool_Project_Context_Interface.');
     }
     $newResource = new Profile\Resource($context);
     if ($attributes) {
         $newResource->setAttributes($attributes);
     }
     /**
      * Interesting logic here:
      *
      * First set the parentResource (this will also be done inside append).  This will allow
      * the initialization routine to change the appendability of the parent resource.  This
      * is important to allow specific resources to be appendable by very specific sub-resources.
      */
     $newResource->setParentResource($this);
     $newResource->initializeContext();
     $this->append($newResource);
     return $newResource;
 }
Exemplo n.º 5
0
 /**
  * _unserializeRecurser()
  *
  * This method will be used to traverse the depths of the structure
  * as needed to *unserialize* the profile from an xmlIterator
  *
  * @param SimpleXMLIterator $xmlIterator
  * @param \Zend\Tool\Project\Profile\Resource $resource
  */
 protected function _unserializeRecurser(\SimpleXMLIterator $xmlIterator, Resource $resource = null)
 {
     foreach ($xmlIterator as $resourceName => $resourceData) {
         $contextName = $resourceName;
         $subResource = new Resource($contextName);
         $subResource->setProfile($this->_profile);
         if ($resourceAttributes = $resourceData->attributes()) {
             $attributes = array();
             foreach ($resourceAttributes as $attrName => $attrValue) {
                 $attributes[$attrName] = (string) $attrValue;
             }
             $subResource->setAttributes($attributes);
         }
         if ($resource) {
             $resource->append($subResource, false);
         } else {
             $this->_profile->append($subResource);
         }
         if ($this->_contextRepository->isOverwritableContext($contextName) == false) {
             $subResource->initializeContext();
         }
         if ($xmlIterator->hasChildren()) {
             self::_unserializeRecurser($xmlIterator->getChildren(), $subResource);
         }
     }
 }