Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Salve imaster! então eu to aprendendo esse lance de MVC e os conceitos de OOP. (ta dificil =X)
tenho seguinte!
bom minha view consiste em incluir os arquivos com HTML..
e passo pra view uma herança da model (seria uma herança sei la =X).. funciona legal!
Porem to com impressao que to fazendo muita volta pra pouca coisa.
Controller - controller expecifico
//instancio view e model na Controller
public function initThis() {
//associacoes direta
$this->model = new modelgalery();
$viewMan = new viewManager();
//aqui a view recebe uma instancia de MODEL
$view = new viewGalery($this->model);
$viewMan->index($view, 'index',$widget);//passo instancia da viewEspefica
}
Model - model especifica
public function __construct() {
$this->mensagem = new responseMsg();
$this->entity = new Entity_galery($_POST);
}
public function read() {
$stm = registry::getInstance()->get('AppStmt')
->setTable('images')
->fetchAll();
if ($stm) {
$this->mensagem->setResponse('Leitura feita com sucesso');
}
return $stm;
}
view - especifica
class viewGalery extends viewManager implements viewInterface {
public $model;
public function __construct(modelgalery $obj) {
$this->model = $obj ;
}
public function show() {
return 'pages/galery.php'; // inclui a pagina HTML especifica
}
}
view manager - reaproveito isso pra todas minhas views.
private $view;
public function index(viewInterface $view, $index, $values) {
if (is_array($values) && !empty($values)) {
extract($values, EXTR_PREFIX_ALL, 'var');
}
$this->view = $view;
$content = $this->includePage(); //aki passo pra variavel a pagina especifica
if (file_exists(__DIR__ . DIRECTORY_SEPARATOR . $index . '.php'))
include (__DIR__ . DIRECTORY_SEPARATOR . $index . '.php'); // aqui inclui a index
else
echo '<br />arquivo não Existe!';
}
private function includePage(){
ob_start();
include ( $this->view->show() );
$content = ob_get_contents();
ob_end_clean();
return $content;
}
Bom dentro da index eu do um echo na variavel $content.. que tem armazenada a pagina especifica que esta sendo manipulada
dentro dessa pagina especifica posso fazer o seguinte..
$this->view->model->read(); //leio os dados da model
echo $this->view->model->mensagem->response; // pego as respostas setedas nos metodos sendo executados da model
Tudo isso funciona ...
a Ideia pra essas associações diretas seria Essa?
andei vendo um exemplo de mvc com DP Observer.. so que o conceito ta um pouco obscurecido pra mim ainda =X
agradeço desde ja, ajuda de todos!
Carregando comentários...