Я пытаюсь создать приложение с Laravel 5.0 и у меня есть проблема с использованием методов Session в моем BaseController конструкторLaravel 5,0 Сессия не может использовать статические методы
Вот мой BaseController с его consturctor.
use Symfony\Component\HttpFoundation\Session\Session;
class BaseController extends Controller {
/**
* Initializer.
*
* @access public
* @return \BaseController
*/
public function __construct()
{
//set default lang
if (!Session::has('lang')) {
Session::put('lang', App::getLocale());
Cookie::forever('lang', App::getLocale());
} else {
App::setLocale(Session::get('lang'));
}
}
}
, но я получаю эту ошибку
ContextErrorException в BaseController.php линии 22: времени выполнения Примечание: Non-статический метод Symfony \ Component \ HttpFoundation \ Session \ Session :: есть() не должен следует называть статически, предполагая $ это из несовместимого контекста
Кто-нибудь знает, что я делаю неправильно?
Это звучит странно ... Кстати, если бы я был вами, я бы попытался обойти проблему, вызвав 'Session()' как новый объект. '$ session = new Session()', а затем '$ session-> имеет ('lang')'. Это не так «стиль Laravel», но должен работать. – phaberest
Как вы видите, это объект Session Symfony2, и у него нет такого паршивого статического интерфейса. Используйте класс «фасад» Ларавеля, если хотите: http://laravel.com/docs/4.2/session –