Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 05.01.2020 17:54:17

Laravel 6 конструкторы

Добрый день Возник вопрос по конструкторам в контроллере . Ситуация такая . Файл куки показывает разные значения например в конструкторе , и в функции в контроллере . Вот такой код , и результат ниже. Т.е , код одинаковый , а результаты dump() или echo неважно , разные .  В чем моя ошибка , спасибо.
Вопрос 2 - Как выложить фотo в форум ? Через тэги IMG у меня не получилось. Файл лежит в диске C:\ папка Pictures
Код конструктора

	protected $cart_id;
	
	public function __construct(){		
	    if(Cookie::get('cart_id')){
		 $this->cart_id=Cookie::get('cart_id');
		 dump(Cookie::get('cart_id'));
		}
	     elseif(session()->has('cart_id')){
		  $this->cart_id = session('cart_id');
		}
	     else{
		   return redirect()->route('home');
		}
	}

Код функции

	if(Cookie::get('cart_id')){
		$cart_id=Cookie::get('cart_id');
		dump(Cookie::get('cart_id'));
		}
	elseif(session()->has('cart_id')){
		$cart_id = session('cart_id');
		}
	else{
		return redirect()->route('home');
		}

А вот результат dump

Конструктора

"eyJpdiI6ImltdktYMmFaU2pvdDRBMW5uUWY4dmc9PSIsInZhbHVlIjoiYkdKQWMwR0k0cDFVal
MwVmhGallOTFZLMTBUREFwajAyWFFuUlNGTVVqQ0hrVUV6R2ZBMFFVTzhCVWl2bUN6UCIsIm1hYyI6ImRhYWJiMjg1Yjgx
NGRmYTgwOTM3Y2IzMTMxOGZlZmZkZGJjZmEyMTY4ZDlmMjYzZGE0YTFiMmIwODFhM2JmY2IifQ== ◀"

Функции

"m4jtj3DLTSrkmqf6dwRKySio4eliRg9hOfIo9BoZ"

Изменено DzonyBB (05.01.2020 17:55:29)

Не в сети

#2 05.01.2020 21:06:21

Re: Laravel 6 конструкторы

В конструкторе контроллера нельзя работать с куками и вообще с запросом. Жизненный цикл Laravel таков, что в момент создания конроллера объект request ещё не готов, т.к. мидлвары ещё не отработали. В частности кука может быть ещё не раскодирована (они ведь в Laravel encrypted by default)

https://laravel-news.com/controller-con … aravel-5-3

Изменено artoodetoo (05.01.2020 21:08:36)


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#3 05.01.2020 21:43:15

Re: Laravel 6 конструкторы

В конструкторе контроллера нельзя работать с куками и вообще с запросом. Жизненный цикл Laravel таков, что в момент создания конроллера объект request ещё не готов, т.к. мидлвары ещё не отработали. В частности кука может быть ещё не раскодирована (они ведь в Laravel encrypted by default)

Спасибо. Вы оказались правы
Вот Request в конструкторе

 +cookies: Symfony\Component\HttpFoundation\ParameterBag {#54 ▼
    #parameters: array:3 [▼
      "cart_id" => "eyJpdiI6ImhseGdpOTV1cEZnbjhhQWphR2NudkE9PSIsInZhbHVlIjoiMFVtS0twUyt3aGRyT0E0NnU5MzBjT29kekM1bDhcL1VTOHJoMXVsdUJscVZRNkp6UmIxd2RPV0VmWTg5VVdkWHIiLCJtYWMiOiJhMTEw ▶"
      "XSRF-TOKEN" => "eyJpdiI6IjhUdGYzQ1lUZjcybDBrT085aTZ4THc9PSIsInZhbHVlIjoiaUtNM0pvSWg3SXFEd3I3UTZBOXh5T0dMbkxBeklCYVBpSVMxcEpjbzRXcXB0VHdsR2xMZFN4dm1abUx4akM3YyIsIm1hYyI6IjI4ZmQ2 ▶"
      "laravel_session" => "eyJpdiI6IlVBZEVhYXBSNlk2dVRBNG9zc1wvRGp3PT0iLCJ2YWx1ZSI6ImlOaCt6RXJLRkR0aWhOYW9seHR3U0N1RDdjT1FYR3lCTWlFTllxdWthMDJ0NithTFZPMjZoUHBldGZUWHNmVUsiLCJtYWMiOiI4ZjM1 ▶"
    ]

А это уже в функции

  +cookies: Symfony\Component\HttpFoundation\ParameterBag {#54 ▼
    #parameters: array:3 [▼
      "cart_id" => "gx3j6x2eCwXPABSIFtUazZbp9CWG5QWQQlGBqguD"
      "XSRF-TOKEN" => "8N50DZkBXfOCIavcShoXhvJOEdGz4JpFjH9DTOtQ"
      "laravel_session" => "8hglWR7klDzkUcNS4yXmqYOlfZ2GFNO0IrVLX9he"
    ]
  }

Не в сети

#4 06.01.2020 12:09:52

Re: Laravel 6 конструкторы

Вопрос 2 - Как выложить фотo в форум ? Через тэги IMG у меня не получилось. Файл лежит в диске C:\ папка Pictures

Можно выложить на сервис картинок типа https://imgur.com/ и потом дать ссылку в img.

Я в восторге от скриншотилки https://monosnap.com/ — есть под винду и мак, можно сделать скриншот, добавить стрелочки-подписи и сохранить в бесплатное хранилище, ссылки для форума генерятся. Минимум теложвижений, максимум эффекта.

bcTEqg3FtcxSpgfJtHRfdvYkgbhEhh

aflnOZh3g83wV0z6KxRg0rqYLH0bsE

Изменено artoodetoo (06.01.2020 12:11:16)


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

Подвал раздела