Вызов функции-члена имеет () на null, в то время как tring делает функцию входа в систему

Нажмите здесь /.... Это ошибка

при попытке вызвать функцию входа в систему возникает ошибка. Вызов функции-члена имеет () значение null .............................. .................................................. .................................................. .................................................. ............... если ты мне поможешь сейчас. это будет поддержкой моей карьеры ... надеюсь, я получу правильный ответ. .................................................. .....................................

Мой Контроллер

 /**
     * @Route("/login", name = "login")
     */
public function loginAction(Request $request)
{
    $session = $request->getSession();
//    $session = $this->getRequest()->getSession();

    $em=$this->getDoctrine()->getManager();
    $repository=$em->getRepository('AppBundle:User');
    if ($request->getMethod()=='POST')
    {
        $session->clear();
        $username=$request->get('username');
        $password=$request->get('password');
        $remember=$request->get('remember');

        $user=$repository->findOneBy(array('userName'=>$username,'password'=>$password));
        if ($user)
        {
            if ($remember=='remember-me'){
        $login= new Login();
            $login->setUsername($username);
            $login->setPassword($password);
            $session->set('login',$login);
        }
            return $this->render('AppBundle:pro:homepage.html.twig',array('name'=>$user->getFirstName()));
        }
else {
return $this->render('AppBundle:pro:login.html.twig',array('name'=>'Login Error'));
}
    }
    else{
        if ($session->has('login')){
            $login= $session->get('login');
            $username= $login->getUsername();
            $password= $login->getPassword();
            $user=$repository->findOneBy(array('userName'=>$username,'password'=>$password));
        if ($user){
            return $this->render('AppBundle:pro:homepage.html.twig',array('name'=>$user->getFirstName()));
        }

        }
        return $this->render('AppBundle:pro:login.html.twig');
    }
}


}

Мой модальный

<?php
namespace AppBundle\Modals;


class Login
{

    private $username;

    private $password;

    public function getUsername()
    {
        return $this->username;
    }

    public function setUsername($username)
    {
        $this->username = $username;


    }


    public function getPassword()
    {
        return $this->password;
    }


    public function setPassword($password)
    {
        $this->password = $password;


    }

}
?>

Моя сущность

<?php

namespace AppBundle\Entity;

/**
 * User
 */
class User
{
    /**
     * @var int
     */
    private $id;

    /**
     * @var string
     */
    private $username;

    /**
     * @var string
     */
    private $password;


    /**
     * Get id
     *
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set username
     *
     * @param string $username
     *
     * @return User
     */
    public function setUsername($username)
    {
        $this->username = $username;

        return $this;
    }

    /**
     * Get username
     *
     * @return string
     */
    public function getUsername()
    {
        return $this->username;
    }

    /**
     * Set password
     *
     * @param string $password
     *
     * @return User
     */
    public function setPassword($password)
    {
        $this->password = $password;

        return $this;
    }

    /**
     * Get password
     *
     * @return string
     */
    public function getPassword()
    {
        return $this->password;
    }
}

Замените $session->has('login') на isset($_SESSION['login']) и попробуйте

Sudharshan Nair 23.07.2018 09:40
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
1
260
1

Ответы 1

Эта ошибка означает, что $ сессия имеет значение null. Я не знаю, какую версию Symfony вы используете, но для доступа к сеансу внутри контроллера вы можете использовать

$this->get('session')

Для получения дополнительной информации это относится к переполнение стека

Надеюсь на эту помощь.

Я использую Symfony 3.4

reinerGeist 23.07.2018 13:22

почему бы вам не использовать эту функцию Symfony symfony.com/doc/3.4/security.html? Кажется, он соответствует вашим потребностям и более дружелюбен к Symfony.

Alexandre Painchaud 23.07.2018 13:36

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