Zend Framework:获取公共路径,获取应用程序URL

Som*_*ski 5 url zend-framework public

是否有一些适当的Zend方法:

a)接收/ public目录的路径

b)接收申请网址

实际上我正在使用Controller中定义的方法,但是如果它们退出则使用就绪方法是正确的.

protected function _getApplicationUrl() {
    return $_SERVER['SERVER_NAME'];
}

protected function _getPublicPath() {
    return realpath(APPLICATION_PATH . '/../public/');
}
Run Code Online (Sandbox Code Playgroud)

Jam*_*esG 6

关于应用程序URL,Zend_Controller_Request_Http有一个getRequestUri()方法,但它故意(并且有点令人沮丧)排除了URL的方案和主机名部分.在我的应用程序中,我已经使用$_SERVER['HTTP_HOST']了引导程序并将其存储在注册表中,以便我可以在以后构建完整的URL时使用它.

从内存来看,没有,没有任何内置的方法来获取public文件夹的位置,但你拥有的代码很好.大多数应用程序我已经看到了define()所有的路径index.php,我认为它稍微更安全(只是因为路径名称更快地设置并且变得绝对不可变)并且速度稍微快一点,但是不要让我们讨论微优化问题!:-)