Функция PHP Глобальная против Требовать - PullRequest
0 голосов
/ 18 марта 2012

У меня есть скрипт, который работает на основе переменных в другом скрипте. Вверху скрипта мне нужен скрипт переменных.

Я пытаюсь облегчить редактирование своего сценария, поэтому я решил создать функции, потому что многие из моих сценариев выполняют одно и то же. В функциях мне нужно вытащить некоторые переменные, установленные в скрипте переменных. Я попытался использовать require, и это делает скрипт очень медленным. Я знаю, что могу установить глобальные переменные PHP, но я где-то читал, что использование глобальных файлов - плохая идея? Это правда?

Есть ли лучший способ сделать это, кроме использования require в функции или использования глобальных переменных?

Код:

function test() 
{
    require('var.php');

    // function code
}

OR

require('var.php');

function test() 
{
    global $var_variable1, $var_variable2;

    // function code
}

Ответы [ 2 ]

2 голосов
/ 18 марта 2012

Существует третий вариант:

в файле param.php

<?php
    $param = 1234;
?>

в файле test.php

<?php

    require 'param.php';

    function foo( $bar )
    {
        var_dump( $bar );
    }

    foo( $param );

?>

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

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

1 голос
/ 18 марта 2012

Когда переменные зафиксированы, использование констант является хорошим решением.

Создайте файл PHP со всеми вашими константами:

<?php
define("FOO",     "something");
define("FOO2",    "someotherthing");
?>

По договоренности используйте имена констант UPPERCASE. В ваших файлах сценариев используйте require_once () в качестве первой строки, чтобы включить файл сценария, в котором вы определяете все свои константы.

Сделайте то же самое со сценарием, содержащим все ваши функции поддержки, и потребуйте от вашего сценария require_once файл.

Если возможно, используйте ООП с PHP. С объектами вы можете делать очень крутые вещи.

...