Обтекающий текст вокруг отделения с CSS

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

происходит с кодом, подобным 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();

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

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

27
задан alex 4 February 2011 в 15:02
поделиться

2 ответа

Да Вы получили его. #content-sidebar должен быть перед всеми текстами, которые, как предполагается, обертывают его. Как это:

<div id="cont-content">

<div id="content-sidebar">

 BLALALALALLAAL

 </div>

<p>content</p>

<p>more content</p>


  </div>
36
ответ дан datasn.io 28 November 2019 в 05:34
поделиться
  1. Разрежьте ваше изображение на соответствующие фрагменты и обрежьте ту часть, куда вы хотите, чтобы текст проходил. Чем больше кусочков вы сделаете, тем красивее будет ваша упаковка.

  2. поместите эти фрагменты в ваш HTML. Дайте им класс с именем 'wrap', например, так:

    <img src="slice1.png" width="181" class="wrap">
    <img src="slice2.png" width="287" class="wrap">
    <img src="slice3.png" width="217" class="wrap">
    
  3. Вставьте свой CSS:

    .wrap {
        float: left; 
        clear: left; 
        margin: 0  0.9em 0 0;
    }
    

Это будет плавать ваши фрагменты слева и держите их вместе как одно изображение, позволяя вашему тексту обтекать справа. Настройка поля, в общем, создаст поле между изображением и текстом.

Если вы хотите, чтобы изображение всплывало справа, обрежьте другую сторону ваших кусочков и используйте:

.wrap {
    float: right; 
    clear: right; 
    margin: 0 0 0 0.9em ;
}
0
ответ дан okm 28 November 2019 в 05:34
поделиться
Другие вопросы по тегам:

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