Происходит при попытке вызова не- статический метод для класса, поскольку он был статичным, и вы также имеете флаг 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();
Похожие вопросы:
Для Xcode 3.x вы можете использовать следующее:
Если вы открываете сеанс терминала и вводите значения по умолчанию
, напишите com.apple.Xcode XCCodeSenseFormattingOptions '{"BlockSeparator" = "\ n" ; } '
он запустит новые блоки кода с новой строки. Обратите внимание, что вам придется перезапустить XCode, если он у вас открыт, чтобы новые значения по умолчанию были прочитаны и использованы.
Для Xcode 4.x - 6.x (текущий) я предлагаю вам использовать Snippet Edit в качестве удобного инструмента для редактирования фрагментов, определяющих автозаполнение Xcode. В настоящее время это бесплатно и отлично работает.
Новый Проект и Новые команды Файла действительно не генерируют кода ; они заполняют шаблоны .
необходимо будет создать собственные шаблоны (вероятно, на основе Apple) с изменениями, которые Вы хотите.
В [1 110] Xcode 3.1, шаблоны запаса находятся в /Developer/Library/Xcode
. Вы поместите свои измененные копии в ~/Library/Application
Support/Developer/Shared/Xcode
. Обратите внимание на подпапки тех папок.
Чтение это: XCCodeSenseFormattingOptions
Этот документ описывает все параметры форматирования, которые автоматическое заполнение будет использовать для стиля аргумента и фигурной скобки. Здесь являются моими:
XCCodeSenseFormattingOptions = {
BlockSeparator = "\\n";
PreMethodDeclSpacing = "";
};
Это то, что я тоже хотел бы увидеть, мне не нравится "новая школа" способ фигурных скобок на той же строке, что и функции или управление циклом.
При редактировании и перетасовывая строки кода, проще сохранить все актуальное в одной строке. Фигурные скобки должны определять только область действия, они не являются частью определения функции или выполнения программы (например, if, for и т. Д.).
Изменение всех шаблонов на самом деле не очень хорошее решение, но в любом случае спасибо за информацию .