• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Url segment in ci4

Hey guys how do we call itel segment in CI4 as we do $this->uri->segme t() in ci3.

In a controller:

$segments = $this->request->uri->getSegments();

$segment = $this->request->uri->getSegment(1);
Simpler is always better

CodeIgniter 4 User Guide - URI Segments -> Working with URIs
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )

English is not my native language.
Maybe I'm too old to understand, 70, but it's also proof that I try to keep an open mind to the new, which I suppose will come to ease, simplify, etc., but the question asked by @seunex remains unanswered for me. despite the goodwill of @donpwiston and @insiteFX.

In CI3 it was enough to use as below, in a model:
$id = $this->uri->segment(3);
$query = $this->db
->where('id', $id) ...

Now I have to use two more lines of code otherwise it will give error:
$request = \Config\Services::request();
$uri = $request->uri;

Of course I'm no expert, I'm just curious, but I hoped the lightness, simplicity and objectivity that always characterized CodeIgniter would be further enhanced.
I built a website, local, actually a catalog of my records and movies - about 5,000 records and over 1,500 movies - with detailed information that works perfectly. All my difficulty was with learning PHP that I haven't mastered yet but learned enough to achieve my goals. So I am believing that my knowledge of PHP is quite rudimentary given the difficulties I have been encountering in converting from CI3 to CI4. Of course it wouldn't be necessary since it perfectly meets the goals, but the challenge of the task is healthy for someone my age and I wouldn't want to give up.
Thanks for the time and attention.

You can make your own helper function to return segment value.

PHP Code:
if (!function_exists('getSegment'))

    * Returns segment value for given segment number or false.
    * @param int $number The segment number for which we want to return the value of
    * @return string||false

   function getSegment(int $number)
         $request = \Config\Services::request();

         $uri $request->uri;

         return $uri->getSegment($number);
      catch (\CodeIgniter\HTTP\Exceptions\HTTPException $e)
         return false;


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  

  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.