2015-12-14 3 views
1

На самом деле я искал способ выборки сегмент URL-адрес и заменить его на другое имя строки, например /setting показать на мой взгляд الضبط на арабскомДинамическое имя URL сегмент в Laravel 5,1

После исследования я нашел substr_replace или str_ireplace может достичь этого как следующее:

$seg2 = request()->segment(2); 

($seg2 == 'setting') ? $seg2 = str_ireplace($seg2,'الضبط',$seg2) : $seg2 = str_ireplace($seg2,'another_segment_name', $seg2); 

Я вижу этот подход очень плохо, если у меня есть много разных маршрутов может быть в $seg2 месте.

Если какой-либо другой способ можно добиться того, пожалуйста, помогите мне, спасибо

ответ

0

Благодаря @The Альфа за вашу помощь в самом деле я был достигнут мои потребности сейчас, но я сделал некоторые изменения, чтобы достичь этого я покажу его помощью любой кто-то должен сделать что

сначала я создал segments.php файл в resources/lang/ar и изменить местный язык для ar в config/app.php

и segments.php

<?php 

// Segments Array for navigation paths on view 

return [ 
    'users' => 'المستخدمين', //maybe to be seg2 
    'settings' => 'الضبط', //also maybe to be seg2 
]; 

и на мой взгляд

<!-- Simple condition to check if user on segment 2 or not and fetch the proper segment name according to incoming segment in url --> 
      {{(request()->segment(2) != '') ? trans('segments.'.request()->segment(2)) : '' }} 
1

На мой взгляд, вы можете использовать локализованный файл, что я имею в виду, что Гера, вы можете использовать Laravel's Localization функцию. Например, поставить messages.php файл в папке resources/lang/ar и может отображать key => value пары, как:

<?php 

return [ 
    'settings' => 'الضبط', 
    'otherKey' => 'some Arabic word' 
]; 

Затем, вы можете использовать его как следующее (это будет заменить настройки с соответствующим значением):

echo trans('messages.' . request()->segment(2)); 

// Or use this for blade template 
{{ trans('messages.' . request()->segment(2)) }} 

Чтобы сделать его работу, вам необходимо установить языковой стандарт (язык по умолчанию) на ar в файле config/app.php, но вы можете его автоматизировать, я имею в виду, что вы можете установить языковой стандарт во время выполнения. Надеюсь, у вас возникла идея, просто прочитайте документацию должным образом. Кстати, это только идея, вы можете сделать это по-другому, если это необходимо.

Смежные вопросы