生成URL(Generating Urls)
优质
小牛编辑
129浏览
2023-12-01
这是CakePHP的一个很酷的功能。 使用生成的URL,我们可以轻松更改应用程序中URL的结构,而无需修改整个代码。
url( string|array|null $url null , boolean $full false )
上述功能将有两个参数 -
第一个参数是一个数组,指定以下任何一个 - 'controller', 'action', 'plugin' 。 此外,您还可以提供路由元素或查询字符串参数。 如果是string,则可以给出任何有效url字符串的名称。
如果为true,则将在结果前添加完整的基本URL。 默认值为false。
例子 (Example)
在config/routes.php文件中进行更改,如以下程序所示。
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();
在src/Controller/GeneratesController.php创建一个GeneratesController.php文件。 将以下代码复制到控制器文件中。
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(){
}
}
?>
创建文件夹Generates at src/Template并在该文件夹下创建一个名为index.ctp的View文件。 复制该文件中的以下代码。
src/Template/Generates/index.ctp
This is CakePHP tutorial and this is an example of Generating URLs.
通过访问以下URL执行上述示例 -
http://localhost:85/CakePHP/generate
上面的URL将产生以下输出 -