调用其方法时隐藏控制器名称

Gir*_*wda 1 cakephp cakephp-2.0

我正在使用CakePHP创建一个网站.它有用户注册和登录系统.

所以起初我有一个有三个方法的controller被叫HomeController

1) index();

2) login();

3) register();

默认情况下,index()方法将执行.

我有以下代码来调用其他两个方法.

<? php

echo $this->Html->link('Login',array('controller'=>'Home','action'=>'login'),array('escape'=>FALSE));

echo $this->Html->link('Register',array('controller'=>'Home','action'=>'register'),array('escape'=>FALSE));

?>
Run Code Online (Sandbox Code Playgroud)

所以现在,当我点击上面的链接(login,register)时,它将调用适当的方法,并url将会是这样的

www.example.com/home/loginwww.example.com/home/register

现在我想从url中删除控制器名称,因为该方法在同一个控制器中.

因此,url应该像

www.example.com/loginwww.example.com/register

可能吗??请帮忙..

Har*_*ngh 5

在app\Config\routes.php中添加以下行

Router::connect('/login', array('controller' => 'home', 'action' => 'login'));
Router::connect('/register', array('controller' => 'home', 'action' => 'register'));
Run Code Online (Sandbox Code Playgroud)

它会将默认网址转换为您想要的网址

www.example.com/login and www.example.com/register
Run Code Online (Sandbox Code Playgroud)