PHP Как запретить foreach переопределять внешние переменныеPhp

Кемеровские программисты php общаются здесь
Anonymous
PHP Как запретить foreach переопределять внешние переменные

Сообщение Anonymous »

В настоящее время я пытаюсь очистить как можно больше кода на веб-сайте компании, в которой работаю, без его полного переписывания (такие вещи, как удаление глупых комментариев, таких как // объявление переменных, чистое именование переменных, согласованность и т. д.). Код представляет собой огромный беспорядок и ужасен, использует множество файлов, которые включаются, и между файлами используются переменные, что очень раздражает.

Проблема в том, что такая простая вещь, как переименование переменной, на самом деле может сильно сломаться. В настоящее время у меня возникла следующая проблема:

В файле a у меня есть запрос, который выглядит примерно так:

Код: Выделить всё

$getProductSql = 'QUERY';
$getProduct = $db->prepare($getProductSql);
// some bind values etc.
$getProduct->execute();
$product = $getProduct->fetch(PDO::FETCH_ASSOC);
Теперь, после того как этот файл будет включен в индекс, будет включен файл b, который содержит следующее:

Код: Выделить всё

$getProductsSql = 'QUERY';
$getProducts = $db->prepare($getProductsSql);
// some bind values etc.
$getProducts->execute();

foreach ($getProducts->fetchAll(PDO::FETCH_ASSOC) as $product) {
// some code
}
После подключения этого файла будет включен файл c, который содержит следующее:

Код: Выделить всё

if ($product['COLUMN'] === '1')
В файле c следует использовать переменную $product из файла a, но из-за особенностей нашей структуры и включения файла b между ними, $product из файла a заменяется последним значением $product из цикла в файле b.

Есть ли способ решить эту проблему без использования двух разных имена переменных или движущийся код?

Подробнее здесь: https://stackoverflow.com/questions/535 ... -variables

Вернуться в «Php»