Подтвердить что ты не робот

Как получить доступ к сегментам URL-адресов в лезвии в Laravel 5?

У меня есть url: http://localhost:8888/projects/oop/2

Я хочу получить доступ к первому сегменту → projects

Я пробовал

<?php echo $segment1 = Request::segment(1); ?>

Я ничего не вижу в своем представлении, когда обновляю свою страницу.


Любые советы/подсказки будут высоко оценены

4b9b3361

Ответ 1

Попробуй это

{{ Request::segment(1) }}

Ответ 2

Двойные фигурные скобки обрабатываются с помощью Blade - не просто PHP. Этот синтаксис в основном выражает вычисленное значение.

{{ Request::segment(1) }} 

Ответ 3

Вот как это можно сделать с помощью глобальной вспомогательной функции request.

{{ request()->segment(1) }}

Примечание: request() возвращает объект класса Request.

Ответ 4

НА ОСНОВЕ LARAVEL 5.7 & ВЫШЕ

Чтобы получить все сегменты текущего URL:   $ current_uri = request() → сегменты(); Получить Сегмент {сообщения} от http://example.com/users/posts/latest/

 /**NOTE: segments are an array ie starts from 0 and are a section of the uri 
after the base url(hppt://example.com)*/
//assuming current url == http://example.com/users/posts/latest/
//get segment 0
$segment_users          = request()->segments(0);//returns 'users'
//get segment 1
$segment_posts          = request()->segments(1);//returns 'posts'

Возможно, вы заметили, что метод сегмента (-ов) работает только с текущим URL (url()->current()), поэтому я разработал небольшой метод для работы с предыдущим URL-адресом, клонировав метод segments():

    public function index()
    {
        ....
        $prev_uri_segments = $this->prev_segments(url()->previous());//array
    }

    /**
 * Get all of the segments for the previous uri.
 *
 * @return array
 */
public function prev_segments($uri)
{
    $segments = explode('/', str_replace(''.url('').'', '', $uri));

    return array_values(array_filter($segments, function ($value) {
        return $value !== '';
    }));
}

Ответ 5

Вот код, который вы можете получить сегмент URL.

{{ Request::segment(1) }}

Если вы не хотите, чтобы данные были экранированы, используйте {!! !!} еще используйте {{}}.

{!! Request::segment(1) !!}

https://laravel.com/docs/4.2/requests