Laravel по-русски

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

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

#1 Re: Laravel 5.x » parent::__construct() В контроллерах » 03.11.2017 14:22:18

Рефакторил. Растет количество поглощаемой память и скорость выполнения:D

#2 Re: Laravel 5.x » parent::__construct() В контроллерах » 03.11.2017 13:07:48

UP тему!

В конструкторе выполняю сбор данных об объекте!

public function __construct(Request $request){
        parent::__construct();
        if(!is_null($request->route('mid'))){
            $this->meeting = DB::table('meetings')->where('mid',$request->route('mid'))->first();
            if(!is_null($this->meeting)){
                $this->meeting->bulletins = DB::table('meetings_bulletins')->where('mid',$this->meeting->mid)->get();
                $this->meeting->data = DB::table('meetings_data')->where('mid',$this->meeting->mid)->pluck('value','key');
                $this->meeting->members = DB::table('meetings_members')->where('mid',$this->meeting->mid)->get();
                $this->meeting->promiser = DB::table('meetings_proms')->where('mid',$this->meeting->mid)->pluck('value','key');
            }else{
                return redirect('/')->send();
            }
        }
    }

Есть классы наследуют этот класс! Содержащий данный конструктор!
И получается там происходит такой вызов

public function __construct(Request $request){
        parent::__construct($request);
    }

Не думаю что это правильное решение! Есть возможность из конструктора другим способом дернуть параметр mid не передавая по родству $request?

#3 Re: Laravel 5.x » parent::__construct() В контроллерах » 24.05.2017 15:04:14

constb пишет:

Не усложняю структуру себе)

вообще-то усложняешь и очень серьёзно. а уж про того, кому потом придётся поддерживать этот «велосипед с квадратными колёсами», я вообще молчу – боже помилуй его душу smile

У меня каждый блок отвечает за свой спектр работ) У меня идеальная структура с наименьшими затратами поиска кода и т. д.)

#4 Re: Laravel 5.x » parent::__construct() В контроллерах » 24.05.2017 10:02:09

Ушел от проблемы путем создания в Welcome переменной $request = new Request;

Про POST) Я разово проверяю его в Welcome. Вся структура приложения в invoke(). Если GET - получай страницу, если POST значит обрабатываемые данные. Не усложняю структуру себе)

#5 Laravel 5.x » parent::__construct() В контроллерах » 23.05.2017 15:03:46

4eIIIupKo
Ответов: 7

Версия Laravel: 5.4
Версия PHP: 5.6.30
Операционная система и её версия: Windows Server 2012R2
Вендор и версия сервера БД: MYSQL 5.6
Вендор и версия Веб-сервера: IIS 7.5
Медод подключения PHP: FastCGI

Задача, что должно происходить _в целом_, техническое задание:
Нужно выполнить parent::__construct(); В контроллере Request
Что произошло, текст ошибки, если есть:
Если внедрять переменную Request $request в конструктор и парент. То запредельно начинает кушать скрипт памяти.
Какие еще методы выполнить parent::__construct()?
Код:
app\Http\Controllers\Welcome.php

<?php

namespace App\Http\Controllers;

use App\SessionsDrupal;
use App\RolesUsers;
use Illuminate\Http\Request;

class Welcome extends Controller{
	//Переменная для вида
	public $template;

	//Сcылки на личный кабинет
	public $lk = [];

	public function __construct(Request $request){
		//Проверка на POST
		$this->post = $request->isMethod('post');
        }
  .............

app\Http\Controllers\Request.php

<?php

namespace App\Http\Controllers;

class Request extends Welcome{
	
	public function __construct(){
		parent::__construct();
		//var_dump($this->lk);
	}

....
}

#7 Laravel 5.x » Вопрос от чайника профессионалам. Как унаследовать класс. » 23.05.2017 12:16:39

4eIIIupKo
Ответов: 1

Welcome.php

<?php

namespace App\Http\Controllers;

use App\SessionsDrupal;
use App\RolesUsers;
use Illuminate\Http\Request;

class Welcome extends Controller{
	//Переменная для вида
	public $template;
//Некий код
}

Request.php

namespace App\Http\Controllers;

class Request extends Welcome{

	public function __invoke(){
		$this->template->head_title = 'Я чайник';
	}
}

Как унаследовать класс Welcome? Я в нем указываю кучу переменных

#8 Re: Laravel 5.x » Вернуть 404 в зависимости от рез. запроса, с параметром из маршрута » 02.08.2015 09:48:23

Надо замерить скорости) и как быстрей выполняеться и грузит меньше сервак тот и выбрать)

#10 Re: Laravel 5.x » Стоит ли переходить на Laravel » 01.08.2015 17:50:38

Понял что это выполняет middleware не совсем понятно написано Before и After это 2 разных MiddleWare надо делать?

#11 Re: Laravel 5.x » Стоит ли переходить на Laravel » 01.08.2015 17:20:35

В Kohana были такие возможности как before и after! Которые выполнялись до основного действия и после! Есть ли такие в Laravel? Прочитал про жизненный цикл но так и не понял. Просто у меня сейчас вызывается контроллер который производит проверки, дальше я планирую обращаться уже к нужному контроллеру. А в конце надо сделать json_encode. В kohana я написал в after родителя) и все) а тут как реализовать данную схему?

#12 Re: Laravel 5.x » Стоит ли переходить на Laravel » 01.08.2015 15:40:11

Щас посмотрел и понял что Middleware мне воообще не нужен
Точнее часть связанная с авторизацией и сессиями, и куками) получилось закоментил 16-20, 29-31

#13 Re: Laravel 5.x » Стоит ли переходить на Laravel » 01.08.2015 15:33:58

Artdevue пишет:

попробуйте закоментить https://github.com/laravel/laravel/blob … el.php#L18 18 и 20 строки (CSRF)
Этим вы вообще "отрубите" сесии и CSRF не только для API, а для всей системы.

Наиболее лучший способ, это расширить классы в Middleware (https://github.com/laravel/laravel/tree … Middleware) и поставить собственную логику обработки API.

Спасибо огромное за совет) Я в принципе хочу отказаться от кук и сессий я же пишу АПИ) так что CSRF мне не нужен) Я буду генирировать свой 32 символьный ключ который будет работать в течении суток)

#15 Re: Laravel 5.x » Стоит ли переходить на Laravel » 01.08.2015 12:03:33

Может кто скажет как их отключить? Вообще оставить чистую Laravel без сессий и кук)

#16 Laravel 5.x » Стоит ли переходить на Laravel » 31.07.2015 22:18:38

4eIIIupKo
Ответов: 8

И так юза Kohana  и теперь ищу новый фреймворк, нужен такой чтоб сессии автоматический не запускал) Laravel еще не расскапокывал)
Но необходимы 3 простые вещи) Работа с MYSQL) и 100% отключение сессий) Сессии это нагрузка, а мне в проекте они не нужны)

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