2016-08-24 1 views
0

У меня есть два PHP файлы, скажемПочему я не могу получить доступ к переменным, установленным в файле PHP

action.php

require_once 'action_helper.php'; 

storeDataToDb($data); //function from action_helper.php 
logPersistIsPerformed(); //function from action_helper 
echo $success; //variable set in action_helper.php 

action_helper.php

$success = "success"; 


function storeDataToDB($data) { 
    // persist data 
} 

function logPersistIsPerformed() { 
    insertToDB($success); 
} 

Я не уверен, что это просто проблема с областью, но то, с чем я сталкиваюсь, - это когда action.php вызывает функции и переменные, объявленные в action_helper.php, проблем нет.

но когда я вызываю функцию в action_helper.php из action.php, которая вызывает переменную, объявленную в action_helper.php, похоже, что эта переменная успеха не отображается.

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

+0

Вы должны использовать 'global $ variable_name' в funciton? –

+0

сделать каждый файл классом, а затем передать переменную переменной class-> –

ответ

0

Вы должны использовать глобального ключевого слова, чтобы PHP знать, что $ успех является глобальным переменным.

function logPersistIsPerformed() { 
    global $success; 
    insertToDB($success); 
} 
Смежные вопросы