Projeto do Mimoza para encapsulamento do projeto do Webmind e métodos mágicos para leitura de construtores. Com a especialização do projeto, podemos adicionar alguns métodos para facilitar os acessos do projeto do Webmind.
Esse commit está contido em:
Arquivo executável
+28
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
Mimoza_Loader::loadClass('Mimoza_Project_Abstract');
|
||||
|
||||
/**
|
||||
*
|
||||
* Mimoza Project
|
||||
* Manipulador do Projeto do Webmind
|
||||
*
|
||||
* @author Wanderson Henrique Camargo Rosa
|
||||
* @see http://code.google.com/p/webmind/Mimoza
|
||||
*
|
||||
* @package Mimoza
|
||||
* @subpackage Project
|
||||
*
|
||||
*/
|
||||
class Mimoza_Project extends Mimoza_Project_Abstract
|
||||
{
|
||||
/**
|
||||
*
|
||||
* Informação do Nome do Projeto do Webmind
|
||||
* @return string Nome do Projeto Configurado
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->getMindProject()->name;
|
||||
}
|
||||
}
|
||||
Arquivo executável
+95
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
*
|
||||
* Mimoza Project Abstract
|
||||
* Projeto do Mimoza para Encapsulamento de Projeto Webmind
|
||||
* Método de Acesso Rápido para Construtores de Informação
|
||||
*
|
||||
* @author Wanderson Henrique Camargo Rosa
|
||||
* @see http://code.google.com/p/webmind/Mimoza
|
||||
*
|
||||
* @uses Project
|
||||
*
|
||||
* @package Mimoza
|
||||
* @subpackage Project
|
||||
*
|
||||
*/
|
||||
abstract class Mimoza_Project_Abstract
|
||||
{
|
||||
/**
|
||||
*
|
||||
* Projeto Padrão do Webmind
|
||||
* @var Project
|
||||
*/
|
||||
protected $_project;
|
||||
|
||||
/**
|
||||
*
|
||||
* Construtor da Classe
|
||||
* @param Project $project Projeto do Webmind
|
||||
*/
|
||||
public function __construct(Project $project)
|
||||
{
|
||||
$this->_setMindProject($project);
|
||||
$this->init();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Configuração do Ponteiro para Projeto Webmind
|
||||
* @param Project $project Projeto Padrão Webmind
|
||||
* @return Mimoza_Project_Abstract Próprio Objeto
|
||||
*/
|
||||
protected function _setMindProject(Project $project)
|
||||
{
|
||||
$this->_project = $project;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Informação do Ponteiro para Projeto Webmind
|
||||
* @return Project Projeto Configurado do Webmind
|
||||
*/
|
||||
public function getMindProject()
|
||||
{
|
||||
return $this->_project;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Método Mágico
|
||||
* Captura de Métodos não Informados na Construção da Classe
|
||||
* Proxy para Construção Automática de Construtores de Informação do Mimoza
|
||||
* @param $method Nome do Método Capturado
|
||||
* @param $args Parâmetros Informados ao Método
|
||||
* @return Mimoza_Project_Abstract|string Resultado da Execução do Método
|
||||
*/
|
||||
public function __call($method, $args)
|
||||
{
|
||||
if (preg_match('/^build/', $method)) {
|
||||
$class = 'Builder_' . substr($method, 5);
|
||||
Mimoza_Loader::loadClass($class);
|
||||
$builder = new $class($this);
|
||||
return $builder->build($args);
|
||||
} else {
|
||||
Mimoza_Loader::loadClass('Mimoza_Loader_Exception');
|
||||
$message = sprintf(
|
||||
'Unrecognized method "%s" in Project Class', $method);
|
||||
throw new Mimoza_Loader_Exception($message);
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Método para Inicialização e Sobrescrita em Herança
|
||||
* @return Mimoza_Project_Abstract Próprio Objeto
|
||||
*/
|
||||
public function init()
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
}
|
||||
Arquivo executável
+22
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
Mimoza_Loader::loadClass('Mimoza_Exception');
|
||||
|
||||
/**
|
||||
* Mimoza_Project_Exception
|
||||
* Manipulador de Exceções para o Pacote
|
||||
* Especialização para Tratamento Aprimorado
|
||||
*
|
||||
* @author Wanderson Henrique Camargo Rosa
|
||||
* @see http://code.google.com/p/webmind/Mimoza
|
||||
*
|
||||
* @uses Mimoza_Exception
|
||||
*
|
||||
* @package Mimoza
|
||||
* @subpackage Loader
|
||||
*
|
||||
*/
|
||||
class Mimoza_Project_Exception extends Mimoza_Exception
|
||||
{
|
||||
|
||||
}
|
||||
Referência em uma Nova Issue
Bloquear um usuário