Это обычно происходит при непосредственном использовании функции с empty
.
Пример:
if (empty(is_null(null))) {
echo 'empty';
}
Это связано с тем, что empty
- это языковая конструкция, а не функция, она не может быть вызвана с выражением в качестве аргумента в версиях PHP до 5.5. До PHP 5.5 аргумент empty()
должен быть переменной , но произвольное выражение (такое как возвращаемое значение функции) допустимо в PHP 5.5 +.
empty
, несмотря на его имя, на самом деле не проверяет, является ли переменная «пустой». Вместо этого он проверяет, существует ли переменная, или == false
. Выражения (например, is_null(null)
в примере) всегда будут считаться существующими, поэтому здесь empty
проверяет только, равен ли он false. Здесь вы можете заменить empty()
на !
, например. if (!is_null(null))
, или явно сравнить с ложным, например. if (is_null(null) == false)
.
Вопросы, относящиеся
Есть Билдан , но проект кажется довольно молодым.
(См. Также Стек Вопрос переполнения Существует ли альтернатива или порт Maven для мира .NET? .)
Вы могли просто использовать Знаток и записать плагин, который интегрируется MSBuild.
Мы используем Знатока для управления компонентами не-Java, такими как наш Flex .swf и .swc модули. Запись плагина Знатока была бы меньшим усилием, чем воссоздание сопоставимой системы только для блоков.NET.
я рекомендовал бы использовать Гудзон и Знаток вместе в этом отношении.
Я написал учебное пособие на эту тему, Использование Maven для управления проектами .NET .
Существуют NMaven и NPanday, и оба они имеют одинаковое происхождение. Они представляют собой набор плагинов для Maven, которые позволяют собирать проекты C# и VB.NET подобно Maven.
NMaven кажется мертвым, поэтому я использую NPanday. Я недавно присоединился к команде, и она довольно активна. Текущий релиз - 1.1. Скоро выйдет версия 1.2, и мы также работаем над следующим крупным релизом.
Вы должны использовать его...
Вы не должны его использовать...