在动作类中,我在函数末尾有这个:
$this->redirect("/myproject_dev.php/login/");
我在其中硬编码url中的开发项目名称。当然,它在我正在进行开发时有效,但在生产方面,我需要删除它。
那么,如何在代码中找到项目名称(“myproject_dev.php”)?所以我可以这样做:
$this->redirect($myProjectDevName . "login/");
或..有一种聪明的方法来处理这个问题吗?
感谢。
------ ADDition ---
所以,我按照建议使用了public_path。但它只返回根路径。
我想知道当我在开发模式下运行时是否有一个函数:
http://mydomain.com/myproject_dev.php/whatever
在其动作类中: $这 - >重定向(public_path( '登录')); 并导致 http://mydomain.com/myproject_dev.php/login
如果我在生产中运行:
http://mydomain.com/whatever
动作类没有变化:
$这 - >重定向(public_path( '登录'));
它将返回此:
http://mydomain.com/login
或..如何获取应用程序名称和symfony环境名称?
:)
答案 0 :(得分:1)
您应该使用symfony路由系统并从routing.yml调用路由规则:
$this->redirect('@login');
通过这种方式,它可以与您的环境分开,当您准备好投入生产时,您无需更改任何内容。
答案 1 :(得分:0)
答案 2 :(得分:0)
试试这个把它放在你的功能
中$this->redirect("MODULENAME/ACTION");
ex: $this->redirect("pim/admin");
这会将您重定向到pim模块管理操作...