Below are few steps described to get URL inside Cakephp 3.x controller as well as view file. You can get full URL and base URL and current URL inside Controller.
The very first thing is to include Router in your Controller as below:
use Cake\Routing\Router;
And output would like this:
Current URL=http://localhost/cake/pages/urls
Current URL=/cake/pages/urls
Current URL=http://localhost/pages/urls?id=20&name=Pritom
Current URL=/pages/urls
Current URL=/pages/urls?id=20&name=Pritom
Full URL=http://localhost/cake/
Base URL=/cake/
The very first thing is to include Router in your Controller as below:
use Cake\Routing\Router;
public function urls()
{
echo "<div style=''>";
echo "Current URL=" . Router::url(null, true);
echo "<BR>Current URL=" . Router::url(null, false);
echo "<BR>Current URL=" . $this->request->getUri();
echo "<BR>Current URL=" . $this->request->getUri()->getPath();
echo "<BR>Current URL=" . $this->request->getRequestTarget();
echo "<BR>Full URL=" . Router::url("/", true);
echo "<BR>Base URL=" . Router::url("/", false);
die("</div>");
}
And output would like this:
Current URL=http://localhost/cake/pages/urls
Current URL=/cake/pages/urls
Current URL=http://localhost/pages/urls?id=20&name=Pritom
Current URL=/pages/urls
Current URL=/pages/urls?id=20&name=Pritom
Full URL=http://localhost/cake/
Base URL=/cake/