- CakePHP Tutorial
- CakePHP - Home
- CakePHP - Overview
- CakePHP - Installation
- CakePHP - Folder Structure
- CakePHP - Project Configuration
- CakePHP - Routing
- CakePHP - Controllers
- CakePHP - Views
- CakePHP - Extending Views
- CakePHP - View Elements
- CakePHP - View Events
- CakePHP - Working with Database
- CakePHP - View a Record
- CakePHP - Update a Record
- CakePHP - Delete a Record
- CakePHP - Services
- CakePHP - Errors & Exception Handling
- CakePHP - Logging
- CakePHP - Form Handling
- CakePHP - Internationalization
- CakePHP - Session Management
- CakePHP - Cookie Management
- CakePHP - Security
- CakePHP - Validation
- CakePHP - Creating Validators
- CakePHP - Pagination
- CakePHP - Date and Time
- CakePHP - File upload
- CakePHP Useful Resources
- CakePHP - Quick Guide
- CakePHP - Useful Resources
- CakePHP - Discussion
CakePHP - Generating URLs
This is a cool feature of CakePHP. Using the generated URLs, we can easily change the structure of URL in the application without modifying the whole code.
url( string|array|null $url null , boolean $full false )
The above function will take two arguments −
The first argument is an array specifying any of the following − 'controller', 'action', 'plugin'. Additionally, you can provide routed elements or query string parameters. If string, it can be given the name of any valid url string.
If true, the full base URL will be prepended to the result. Default is false.
Example
Make Changes in the config/routes.php file as shown in the following program.
config/routes.php
<?php use Cake\Core\Plugin; use Cake\Routing\RouteBuilder; use Cake\Routing\Router; Router::defaultRouteClass('DashedRoute'); Router::scope('/', function (RouteBuilder $routes){ $routes->connect('/generate',['controller'=>'Generates','action'=>'index']); }); Plugin::routes();
Create a GeneratesController.php file at src/Controller/GeneratesController.php. Copy the following code in the controller file.
src/Controller/GeneratesController.php
<?php namespace App\Controller; use App\Controller\AppController; use Cake\ORM\TableRegistry; use Cake\Datasource\ConnectionManager; class GeneratesController extends AppController{ public function index(){ } } ?>
Create a folder Generates at src/Template and under that folder create a View file called index.ctp. Copy the following code in that file.
src/Template/Generates/index.ctp
This is CakePHP tutorial and this is an example of Generating URLs.
Execute the above example by visiting the following URL −
http://localhost:85/CakePHP/generate
The above URL will produce the following output −