Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/08/2010, 13:13
Avatar de mayid
mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: Acceder a variables en modelo MVC

Ok. Publico algo más.

index.php
Código PHP:
<?php session_start(); 

header("cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

include_once "Library/conection.php";

include 
"Controller.php";
FrontController::main();

?>
Controller.php
Código PHP:
class FrontController{    
    
    static function 
main(){         
        
        include 
"View.php";        
    }

    public function 
__construct(){
        
        
$this->defineConstants();
        
$KindOfTutorial $this->scope();
            
        
// vars that cointains frame translations an names of tutorials, etc.
        
include (LIBRARY."indexHeaderwithVars.php");
        
/* FIX ENCODING */
        
include LIBRARY."fixEncoding.php";
        include (
LIBRARY."availableLanguages.php");
        
        include 
"Model.php"
        
$dbObject = new dbConsults();
        
$this->checkCookies();        
        
        
$file_name $this->getFilename();            
    }

.... 
// aquí viene una lista de métodos. Algunos son usados en el constructor y otros son llamados desde la vista. 
View.php
Código PHP:
<?php

$info 
= new FrontController(); 
//include "contents.tpl.php"; 
 
echo $info->$AoIauthor;

// aquí estaría llamando a la plantilla, en donde hay muchas variables que sirven para traducir la pagina. Esas variables son generadas con un script, dinamicamente según información de mysql. Pero la cuestión es que desde que encapsulé mis funciones y las convertí en un controlador POO, no las puedo acceder más.
?>
generador de variables
Código PHP:
    // name of tutorials vars        
    
$phpLanguageVars mysql_query("SELECT phpvar,value FROM ".$KindOfTutorial."_phpvars WHERE language = '$foreignLanguage'") or die("Error in phpvars consult: ".mysql_error()); 
        while(
$Languagevar mysql_fetch_array($phpLanguageVars)){
            ${
$Languagevar[0]} = $Languagevar[1]; 
            }        
//  advierto que aún no he limpiado la parte de creación de variables, así que eso no cumple ni con la POO ni con el MVC. 
Esto sería la lógica. Es mi primer modelo MVC, y funciona bien en tanto no encapsule el controlador.

Publico un fragmento de la plantilla para que vean como la estoy encarando:
Código PHP:
<span><?php echo fixEncoding($AoIauthor); ?></span>
        </div>

        <div id="login" class="rightControls"><?php echo $info->printLogin(); ?></div>

        <div id="style" class="rightControls"><?php echo $info->styleSelector(); ?></div>

        <div id="languages" class="rightControls"><?php echo $info->printFlags(); ?></div>