mardi 1 décembre 2015

Laravel 5.1 - passing success session to helper

I have always displayed success messages in my views with:

@if(Session::has('success'))
    <div class="alert alert-success">
        {{ Session::get('success') }}
    </div>
@endif

I'm developing a new web application in Laravel 5.1 now and I want to use a helper to display messages instead (I don't want to duplicate the HTML-code in all views). Error messages works fine, but my question is how can I access Session from a helper class?

Here is my MessageHelper with the function displaySuccessMessage() that not works:

<?php

namespace App\Helpers;

class MessageHelper {

    public static function displayErrors($errors) {

        $str = '<div class="alert alert-danger">';

        if($errors->has())
        {
            foreach ($errors->all() as $error)
            {
                $str .= sprintf('<p><i class="fa fa-times"></i> %s</p>', $error);
            }
            $str .= '</div>';
            return $str;
        }
        return null;
    }

    public static function displaySuccessMessage()
    {
        // This is not doable
        if(!Session::has('success'))
            return;

        return sprintf('<div class="alert alert-success">%s</div>', Session::get('success'));
    }
}

Is is possible to do this?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire