Происходит при попытке вызова не- статический метод для класса, поскольку он был статичным, и вы также имеете флаг E_STRICT
в настройках error_reporting()
.
Пример:
class HTML {
public function br() {
echo '
';
}
}
HTML::br()
или $html::br()
Вы действительно можете избежать этой ошибки, не добавляя E_STRICT
к error_reporting()
, например
error_reporting(E_ALL & ~E_STRICT);
, поскольку, как и для PHP 5.4.0 и выше, E_STRICT
включен в E_ALL
[ ref ]. Но это не рекомендуется. Решение состоит в том, чтобы определить вашу предполагаемую статическую функцию как фактическую static
:
public static function br() {
echo '
';
}
или вызвать функцию условно:
$html = new HTML();
$html->br();
Похожие вопросы:
Я не знаю о Artifactory, но здесь являюсь своими причинами использования Nexus:
Artifactory хранит артефакты в базе данных, что означает, что если что-то пойдет не так, все ваши артефакты исчезнут. Nexus использует плоский файл для ваших драгоценных артефактов, поэтому вам не нужно беспокоиться о том, что все они будут потеряны.
Недавно я провел несколько исследований об Artifactory 2 и Nexus 1.3. Я перечислю здесь основные различия, которые я нашел:
Наиболее полное сравнение: http://binary-repositories-comparison.github.io/
Необходимо использовать Artifactory, Его последняя версия была реальным переходом, можно скопировать инкрементно репозитории, что означает, что Вы можете иметь все свои сохраненные артефакты и поддержать, имеет простую в использовании сеть ui и действительно легок настроить, я наслаждался им много выезда его новая версия 2.0
Вся политика/религия в стороне, лицензирование имеет значение для некоторых организаций.
Nexus <ударяют> GPL забастовка> теперь <забастовка> AGPLv3 забастовка> и теперь Лицензия общественности Eclipse (EPL) .
Artifactory <ударяют> Apache, лицензируемый забастовка> LGPLv3, лицензируемый с версии 2.1 продукта.
можно также хотеть рассмотреть Archiva, только для пользы сравнения. Это - лицензируемый Apache 2.0.
Я вижу, что использование Nexus растет, в то время как использование Artifcatory в целом остается неизменным.
Снимок сделан здесь http://blog.sonatype.com/2014/11/42000-nexus-repository-managers-and-growing/
Также имеется матричное сравнение http://docs.codehaus.org/display/MAVENUSER/Maven+Repository+Manager+Feature+Matrix
И Artifactory, и Nexus имеют более или менее схожий набор функций, но поддержка LDAP Artifactory делает его более привлекательным по сравнению с Nexus. Хотя Nexus также поддерживает LDAP, но в платной версии: - (
Artifactory поддерживает как серверную часть файловой системы, так и хранилища баз данных. Хранилище основано на контрольной сумме, и идентичные двоичные файлы хранятся только один раз, независимо от того, сколько раз они появляются в репо, что делает Artifactory более эффективным с точки зрения хранения. Перемещение и копирование также очень дешевы из-за этой архитектуры (в Nexus нет REST для перемещения / копирования - вам нужно переместить материал в файловую систему, а затем выполнить корректирующие действия в репозитории, чтобы сообщить об изменении содержимого).
Еще одним важным отличием Artifactory является уникальная интеграция с Hudson и TeamCity для сбора информации о развернутых артефактах, разрешенных зависимостях и данных среды, связанных с запусками сборки, что обеспечивает полную отслеживаемость сборки.