2016-06-17 7 views
0

Это файл index.php в корневой директории:PHP - Передача переменных в index.php

index.php

<?php 

require_once 'engine.php'; 
require_once 'startController.php'; 

$engine = new Engine('start'); 

?> 
<html> 
    <head> 
     <title> 

     </title> 
    </head> 
</html> 

В классе двигателей есть еще один объект

engine.php

class Engine 
{ 
    puublic $controller = null; 

    public function __construct($controller) 
    { 
     $controllerFile = $controller.'Controller'; 
     $this->controller = new $controllerFile('Page'); 
    } 
} 

и контроллер класса

startController.php

class startController 
{ 
    public function __construct($text) 
    { 
     $variable = 'Start'.$text; // output "StartPage" because of $text val. 
    } 
} 

Вопрос: как передать $variable от startController объекта index.php и дисплей betwen title наценки?

+1

Set ' $ variable' в свойство класса, добавьте метод getter tha t возвращает это свойство (если свойство не является общедоступным), вызовите этот метод в экземпляре класса startController. Готово. –

ответ

0

Упрощенные:

<?php 

$vars = array('title' => ''); 

function foo(&$vars) { 
    $vars['title'] = 'Bar'; 
} 

foo($vars); 
?> 
<html> 
<title><?php echo $vars['title']; ?></title> 
... 

Вы можете использовать $ ВАР как глобальные:

Но, возможно, лучше использовать объект вида доступный для контроллеров.

0

Вы можете сделать это следующим способом:

<?php 
class startController 
{ 
    public $variable; 
    public function __construct($text){ 
     $this->variable = 'Start'.$text; // output "StartPage" because of $text val. 
    } 

} 

?> 

И

<?php 
class Engine 
{ 
    public $controller = null; 
    public $variable; 

    public function __construct($controller) 
    { 
     $controllerFile = $controller.'Controller'; 
     $this->controller = new $controllerFile('Page'); 
    $this->variable = $this->controller->variable; 
    } 
} 
?> 

И в index.php

<?php 

require_once 'engine.php'; 
require_once 'startController.php'; 

$engine = new Engine('start'); 
echo $engine->variable; 
?> 

Надежда это поможет :)

Смежные вопросы