2016-07-05 28 views
0

In meiner Basisvorlage von app.blade.php überprüfe ich einfach, ob der Benutzer angemeldet ist. Es sieht so aus:Laravel 5.2 mit Sentinel 2 - Maximale Funktion Verschachtelung von '100' erreicht, Abbruch

@if (Sentinel::check()) 
    <li><a href="members.aspx">Members</a></li> 
@else 
    <li><a href="{{ url('/login') }}">Login</a></li> 
    <li><a href="{{ url('/register') }}">Register</a></li> 
@endif 

Dies löst die Maximum function nesting level of '100' reached, aborting. Irgendwelche Ideen warum. Ich habe den Provider und die Fassade in app.php richtig definiert. Gefällt mir:

'providers' => [ 
    .... 
    Cartalyst\Sentinel\Laravel\SentinelServiceProvider::class, 
    .... 
], 

'aliases' => [ 
    .... 
    'Sentinel' => Cartalyst\Sentinel\Laravel\Facades\Sentinel::class, 
    .... 
], 

Antwort

1

Während ich nicht sagen kann, warum Sie diesen Fehler bekommen, kann ich Ihnen sagen, wie Sie es beheben können; Sie müssen Ihre xdebug.max_nesting_level in Ihrem php.ini bearbeiten.

Wenn Sie dies auf 200 oder 300 setzen, ist das meist der Fall. In der Regel ist dies nur ein Problem in der lokalen Entwicklung, in dem Sie xdebug verwenden.

Sie können es so einstellen; xdebug.max_nesting_level=200 oder xdebug.max_nesting_level=300.

Weitere Informationen zu dieser Einstellung finden Sie in der docs für xdebug.

+0

Ich bin normalerweise kein Fan davon, mit diesen Eigenschaften zu spielen, weil ich normalerweise davon ausgehe, dass es ein größeres Problem gibt. Dies schien jedoch den Trick für diese Instanz zu machen. Vielleicht ist es nur eine ineffiziente Funktion. Vielen Dank. – LoneWolfPR