laravel 5 получить язык по умолчанию в контроллере

laravel 5 получить язык по умолчанию в контроллере

04.04.2015 07:06:56 Просмотров 63 Источник

я новичок в laravel 5, я добавляю строку в homecontroller:

echo Lang::getLocale();

но ошибка, если в:

FatalErrorException in HomeController.php line 47:
Class 'App\Http\Controllers\Lang' not found


<?php namespace App\Http\Controllers;

use App\Article;
use App\Photo;
use App\VideoAlbum;
use App\PhotoAlbum;
use Illuminate\Database\Eloquent;
use Illuminate\Support\Facades\DB;

class HomeController extends Controller {

    /*
    |--------------------------------------------------------------------------
    | Home Controller
    |--------------------------------------------------------------------------
    |
    | This controller renders your application's "dashboard" for users that
    | are authenticated. Of course, you are free to change or remove the
    | controller as you wish. It is just here to get your app started!
    |
    */

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        //$this->middleware('auth');

        //parent::__construct();

        //$this->news = $news;
        //$this->user = $user;
    }


    /**
     * Show the application dashboard to the user.
     *
     * @return Response
     */
    public function index()
    {

        //echo Lang::getLocale();
        $articles = Article::with('author')->orderBy('position', 'DESC')->orderBy('created_at', 'DESC')->limit(4)->get();

//      TODO: abstract to model
        $sliders = Photo::join('photo_albums', 'photo_albums.id', '=', 'photos.photo_album_id')->where('photos.slider',
            1)->orderBy('photos.position', 'DESC')->orderBy('photos.created_at', 'DESC')->select('photos.filename',
            'photos.name', 'photos.description', 'photo_albums.folder_id')->get();

        $photoAlbums = PhotoAlbum::select(array(
            'photo_albums.id',
            'photo_albums.name',
            'photo_albums.description',
            'photo_albums.folder_id',
            DB::raw('(select filename from ' . DB::getTablePrefix() . 'photos WHERE album_cover=TRUE and ' . DB::getTablePrefix() . 'photos.photo_album_id=' . DB::getTablePrefix() . 'photo_albums.id LIMIT 1) AS album_image'),
            DB::raw('(select filename from ' . DB::getTablePrefix() . 'photos WHERE ' . DB::getTablePrefix() . 'photos.photo_album_id=' . DB::getTablePrefix() . 'photo_albums.id ORDER BY position ASC, id ASC LIMIT 1) AS album_image_first')
        ))->limit(8)->get();

        $videoAlbums = VideoAlbum::select(array(
            'video_albums.id',
            'video_albums.name',
            'video_albums.description',
            'video_albums.folder_id',
            DB::raw('(select youtube from ' . DB::getTablePrefix() . 'videos WHERE album_cover=TRUE and ' . DB::getTablePrefix() . 'videos.video_album_id=' . DB::getTablePrefix() . 'video_albums.id LIMIT 1) AS album_image'),
            DB::raw('(select youtube from ' . DB::getTablePrefix() . 'videos WHERE ' . DB::getTablePrefix() . 'videos.video_album_id=' . DB::getTablePrefix() . 'video_albums.id ORDER BY position ASC, id ASC LIMIT 1) AS album_image_first')
        ))->limit(8)->get();

        return view('pages.home', compact('articles', 'sliders', 'videoAlbums', 'photoAlbums'));

        //return view('pages.welcome');
    }

}

в чем же проблема?

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/29448527/laravel-5-get-default-language-in-controller#comment47096884_29448527
@hkguile если вы довольны моим ответом ниже, вы можете принять его :)

Ответы - laravel 5 получить язык по умолчанию в контроллере / laravel 5 get default language in controller

mirza

04.04.2015 07:22:29

Вам нужно добавить:

use Illuminate\Support\Facades\Lang;

после расширения вашего контроллера. сразу после первой строчки.

или

use Lang;
https://stackoverflow.com/questions/29448527/laravel-5-get-default-language-in-controller/29448701#comment47064781_29448701
use Illuminate\Support\Facades\Lang;является чрезмерным. Фасад имеет псевдоним в глобальном пространстве имен.
Является ответом!
Limon Monte

04.04.2015 08:11:50

Вы должны правильно ссылаться на Lang

Или предваряя каждый вызов обратной косой чертой:

use Lang;
https://stackoverflow.com/questions/29448527/laravel-5-get-default-language-in-controller/29449208#comment65855632_29449208
Это просто вернет текущую Локаль, а не по умолчанию, я прав?
Abdul Manaf Saparuddin

16.11.2019 05:41:47

Вы можете сделать:

$defaultLocale = config('app.locale');
Закрыть X