"message": "Вызов функции-члена warning () при нулевом значении",

Это моя модель laravel

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use App\Library\Log as MailLog;

class SendingServerPhpMail extends SendingServer
{
    protected $table = 'sending_servers';

    public function send($message, $params = array())
    {
        try {
            $transport = \Swift_MailTransport::newInstance();

            // Create the Mailer using your created Transport
            $mailer = \Swift_Mailer::newInstance($transport);

            // Actually send
            $sent = $mailer->send($message);
            if ($sent) {
                MailLog::info('Sent!');

                return array(
                    'status' => self::DELIVERY_STATUS_SENT,
                );
            } else {
                **MailLog::warning('Sending failed');**

                return array(
                    'status' => self::DELIVERY_STATUS_FAILED,
                    'error' => 'Unknown SMTP error',
                );
            }
        } catch (\Exception $e) {
            MailLog::warning('Sending failed');
            MailLog::warning($e->getMessage());

            return array(
                'status' => self::DELIVERY_STATUS_FAILED,
                'error' => $e->getMessage(),
                'message_id' => null,
            );
        }
    }
}
?>

Это библиотека, которую я использую в качестве почтового журнала.

<?php

namespace App\Library;

use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Formatter\LineFormatter;


class Log
{
    public static $logger;
    public static $path;


    public static function warning($message)
    {
        self::$logger->warning($message);
    }

}
?>

Я получаю эту ошибку при вызове функции предупреждения, которая объявлена ​​в библиотеке почтовых журналов. вы можете увидеть модальное окно, в котором я вызываю функцию предупреждения "message": "Вызов функции-члена warning () при нулевом значении"

В модальном режиме я использовал библиотеку maillog, а после этого я вызываю предупреждение и другую функцию в модели, которая определена в библиотеке почтового журнала. но для функции предупреждения я получаю сообщение об ошибке Call to a member function warning () on null

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
0
673
1

Ответы 1

Я думаю, это потому, что $ logger внутри класса App \ Library \ Log никогда не устанавливается

public static function warning($message)
{
    if (! self::$logger) {
        self::$logger = new Logger('name');
        self::$logger->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));
    }
    self::$logger->warning($message);
}

Надеюсь, это поможет

Другие вопросы по теме