2016-05-05 13 views
1

セッション変数にアクセスするためにカスタム設定ファイルを使用したいのですが、設定されていない場合はフォールバックを使用します。間違って何エラー500:Laravelカスタム設定ファイル経由でセッション変数を取得するには?

しかし、私はセッションを追加したら、私はHTTPエラー500を取得::(取得)

[05-May-2016 19:53:16] PHP Deprecated: Non-static method Symfony\Component\HttpFoundation\Session\Session::has() should not be called statically in /Users/.../config/constants.php

<?php 
// File: app/config/constants.php 

use Symfony\Component\HttpFoundation\Session\Session; 


$something = Session::has('something') ? Session::get('something') : "fallback"; 


return [ 
    'something ' => $something 
]; 

アップデート1:このエラーで

use Session; 

結果:

Fatal error: Uncaught exception 'ReflectionException' with message 'Class log does not exist' in /Users/…/vendor/laravel/framework/src/Illuminate/Container/Container.php:738 Stack trace: #0 /Users/…/vendor/laravel/framework/src/Illuminate/Container/Container.php(738): ReflectionClass->__construct('log') #1 /Users/…/vendor/laravel/framework/src/Illuminate/Container/Container.php(633): Illuminate\Container\Container->build('log', Array) #2 /Users/…/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('log', Array) #3 /Users/…/vendor/laravel/framework/src/Illuminate/Container/Container.php(853): Illuminate\Foundation\Application->make('Psr\Log\LoggerI...') #4 /Users/…/vendor/laravel/framework/src/Illum in /Users/…/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 738

+0

ログには何が表示されますか? –

+1

'Session'ファサードをインポートするために' use Session; 'だけを試してください。 – user3158900

+0

私はログを追加しました:Session :: has()は静的に呼び出されるべきではありません – fabian

答えて

3

あなたはuseIlluminate\SupportパッケージからFacadeをする必要があります。

use Illuminate\Support\Facades\Session; 

次に、あなたが正しくあなたがlaravel代替ソリューションでは設定ファイルでセッションにアクセスすることはできませんSession::

+0

まだこのエラーが発生しています:[05-May-2016 19:59:58] PHP致命的なエラー:未知のReflectionException:クラスログが/Users/.../vendor/laravel/framework/src/に存在しませんIlluminate/Container/Container.php:738 – fabian

+0

@fabianこれはセッションとは関係ありません。クラス**ログ**は存在しません。問題がフォーマットが間違っている他のコードと関係していることを考えれば、現在の問題を解決しました。私の答えをアップアップして受け入れることを検討してください。 – Ohgodwhy

+0

はいといいえ。セッション:: has()行を削除するとエラーが表示されません。したがって、ログエラーはセッションに関連していますか? – fabian

0

を使用することができますクッキーにセッション変数を格納し、設定ファイルにそのクッキーにアクセスすることです。 $ _COOKIE PHP配列を使用してクッキーにアクセスします。

関連する問題