В Vim, что самый простой путь состоит в том, чтобы присоединиться ко всем строкам в файле в одну строку?

Неустранимая ошибка: вызов функции-члена ... на не-объект

происходит с кодом, подобным xyz->method(), где xyz не является объектом и, следовательно, method не может

Это фатальная ошибка, которая остановит сценарий (уведомление о прямой совместимости: это станет захватывающей ошибкой, начиная с PHP 7).

Чаще всего это знак что в коде отсутствуют проверки условий ошибок. Убедитесь, что объект фактически является объектом перед вызовом его методов.

Пример типичного будет

// ... some code using PDO
$statement = $pdo->prepare('invalid query', ...);
$statement->execute(...);

В приведенном выше примере запрос не может и prepare() назначит false на $statement. Попытка вызвать метод execute() приведет к Fatal Error, потому что false является «не объектом», потому что значение является логическим.

Выясните , почему ваша функция вернула логическое значение вместо объекта. Например, проверьте объект $pdo для последней произошедшей ошибки. Подробности о том, как отлаживать это, будут зависеть от того, как обрабатываются ошибки для конкретной рассматриваемой функции / объекта / класса.

Если даже сбой ->prepare не выполняется, то ваш дескриптор

// ... some code using PDO
$statement = $pdo->prepare('invalid query', ...);
$statement->execute(...);

базы данных

// ... some code using PDO
$statement = $pdo->prepare('invalid query', ...);
$statement->execute(...);

не попал в текущий объем . Найдите, где он определился. Затем передайте его как параметр, сохраните его как свойство или поделите его через глобальную область.

Другой проблемой может быть условное создание объекта, а затем попытка вызова метода вне этого условного блока. Например,

if ($someCondition) {
    $myObj = new MyObj();
}
// ...
$myObj->someMethod();

Пытаясь выполнить метод вне условного блока, ваш объект не может быть определен.

Вопросы, относящиеся:

55
задан johnny 19 June 2014 в 13:30
поделиться

5 ответов

А-ч, я нашел ответ.

:1,$join

Работы как очарование.

РЕДАКТИРОВАНИЕ : Как указано в комментарии:

:%join   -or-    :%j

... удаляет диапазон.

63
ответ дан Jordan Parmer 26 November 2019 в 17:33
поделиться

Иначе:

ggVGJ

" ggVG" визуально выбирает все строки, и" J" присоединяется к ним.

130
ответ дан orip 26 November 2019 в 17:33
поделиться

Можно сделать это в три меньше нажатий клавиш:

:1,$j

разве редактор не является главным?

15
ответ дан kenorb 26 November 2019 в 17:33
поделиться

Загадочный путь:

qqqqqJ@qq@q

(первые три q очищаются эти q регистр, qqJ@qq записи макрос к эти q регистр, который выполняет Соединение, затем звонит q, и последнее @q выполнения это.

9
ответ дан Josh Lee 26 November 2019 в 17:33
поделиться

I’m удивил, никто даже не упомянул другой путь:

:%s/\n/ /

я одинаково удивлен, что никто не указал, что диапазон 1,$ имеет стенографию that’s записанный %.

(Этот doesn’t делают то же самое как присоединение к строкам, но в зависимости от обстоятельств, которые могут на самом деле быть более соответствующими.)

8
ответ дан Aristotle Pagaltzis 26 November 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: