2013-06-05 3 views
-1

Таким образом, я получил 3 файловPHP включен переменный объем

file1.php

$var = "string"; 

file2.php

include(file1.php); 
include(file3.php); 
echo $var; 
$test = new test(); 

file3.php

class test 
{ 
    public function __construct() 
    { 
    if($var = "string") 
    { 
     // do things 
    } 
    } 
    } 

Теперь, эхо в файле 2 отлично работает Howe ver, в тестовом классе, переменная возвращает уведомление. Неопределенная переменная: Я попытался изменить $ var на глобальный, но это, похоже, не помогло. Я полагаю, что я неправильно понимаю сферу применения PHP с включенными файлами. Может ли кто-нибудь помочь мне, чтобы я мог использовать $ var в классе?

Благодаря

+3

делает его 'global' в конструкторе бы помочь, но это будет _better_ передать' $ var' в '__construct()', как в 'функции __construct общественного ($ Var) {} ' –

ответ

1

Есть два способа это можно сделать

неправильный путь

class test 
{ 
    public function __construct() 
    { 
     global $var; 
     if($var == "string") 
     { 
      // do things 
     } 
    } 
} 

Это будет импортировать вар в сферу constuctors но нарушает наибольшую пользу объектно-ориентированного программирования, который является для инкапсуляции функциональности.

Это правильный путь

class test 
{ 
    public function __construct($var) 
    { 
     if($var == "string") 
     { 
      // do things 
     } 
    } 
} 

$test = new test($var); 
Смежные вопросы