2013-08-24 3 views
0

Я получаю много неопределенных переменных ошибок в Zend Studio 10.Неопределенные Переменные ошибки

У меня есть PHP-файл, как это:

файл var.php

<?php 
$functions = $root."/requires/functions.php"; 
$top_utf = $root."/requires/top_utf.php" ; 
$database = $root."/requires/db.php" ; 
$footer = $root."/requires/pageFooter.php" ; 
?> 

Теперь, если Я использую следующий код в php-файле, zend studio показывает Неопределенная переменная ошибки на всех строках require_once. (Если бы я открыть эту страницу в браузере страница отображается как ожидалось, и она прекрасно работает.)

<?php 
$root = $_SERVER['DOCUMENT_ROOT']; 
require_once($root."/requires/vars.php") ; 
require_once($functions); 
require_once($top_utf); 
require_once($database); 
require_once($footer); 
?> 

Не Zend Studio признать объявленные переменные в включаемого файла (var.php в данном случае)? Поскольку функции $ и переменные $ top_utf определены в var.php, я считаю, что я не должен получать эти ошибки. Любые советы очень ценятся.

+0

Вы typo'd «$ функции» в вашем примере кода, кстати. – dualmon

+0

спасибо. это произошло во время написания этого запроса справки. основной файл php верен. – Tera

ответ

0

Если вы собираетесь использовать этот стиль программирования, который я не защищаю, я предлагаю вам определить константы в вашем var.php вместо

+0

спасибо за помощь. Но поскольку я новичок в php, более подробный ответ может помочь мне лучше. Я использую ряд переменных на всех страницах (около 36). Чтобы упростить работу с php-файлами, я переместил переменные в файл var.php и включил этот файл в начало каждой страницы. Считаете ли вы, что лучше иметь все переменные в верхней части всех страниц? Можете ли вы объяснить, почему вы не защищаете это? Я также определил переменные в var.php, но основные php-файлы заполнены ** ошибками Undefined Variable **. – Tera

+0

жаль, что я попытался исправить свой предыдущий комментарий, но было уже слишком поздно. Определение выработанных переменных. но все же я очень хочу знать, почему вы не защищаете этот тип программирования (собираете все переменные в файле и включаете его поверх других php-файлов). Спасибо за любую дальнейшую помощь. – Tera

+0

Использование таких функций называется процедурным программированием. Он возвращается к корням PHP, когда было принято использовать его так. PHP теперь объектно ориентирован и использует пространства имен и автозагрузку классов, которые имеют много преимуществ по сравнению с процедурным стилем, таким как ваш пример. Поскольку вы используете Zend Studio, вы можете посмотреть на Zend Framework 2 http://framework.zend.com/manual/2.2/en/index.html – dualmon

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