Php 如何在ZF2模型中获取服务器url

Php 如何在ZF2模型中获取服务器url,php,oop,url,model,zend-framework2,Php,Oop,Url,Model,Zend Framework2,我想在模型中获取服务器URL。我必须导入哪个类,我必须在模型中调用哪个函数才能获取服务器url。因此,在将来,我可以很容易地将http中的URL更改为仅在配置中的https。 像这样的 use Zend\View\Helper\BasePath; abstract class MysqliDB { protected function site_url(){ $object = new BasePath(); return $object->g

我想在模型中获取服务器URL。我必须导入哪个类,我必须在模型中调用哪个函数才能获取服务器url。因此,在将来,我可以很容易地将http中的URL更改为仅在配置中的https。 像这样的

use Zend\View\Helper\BasePath;

abstract class MysqliDB {

    protected function site_url(){

        $object = new BasePath();
        return $object->getView();
    }

}

请建议我是否可以这样做,或者是否有其他选择。

您可以使用$\u服务器['HTTP\u HOST']获取网站的主机名/基本url。

您可以使用$\u服务器['HTTP\u HOST']获取网站的主机名/基本url。

我个人认为这不起作用,这些方法和服务属于业务逻辑。但您可能是苹果公司获得(MvcEvent$e),然后是$e->getApplication()->getServiceManager();然后获取路由器服务,然后更改其中的服务器url。您的模型不应该实例化一个对象,然后神奇地知道url,您的模型应该请求url。然后,模型的外部层应该为它提供URL。感谢cptnk和Sven,所以我必须使用module.php中的工厂将服务器URL传递给我的模型?我认为有多种方法可以实现这一点。您可以使用Module.php。或者创建一个工厂,或者只是在配置中定义它。@cptnk非常感谢您的帮助。如果你能给我举个例子,我会非常感激的。我个人不认为像这样的函数、方法和服务属于业务逻辑。但您可能是苹果公司获得(MvcEvent$e),然后是$e->getApplication()->getServiceManager();然后获取路由器服务,然后更改其中的服务器url。您的模型不应该实例化一个对象,然后神奇地知道url,您的模型应该请求url。然后,模型的外部层应该为它提供URL。感谢cptnk和Sven,所以我必须使用module.php中的工厂将服务器URL传递给我的模型?我认为有多种方法可以实现这一点。您可以使用Module.php。或者创建一个工厂,或者只是在配置中定义它。@cptnk非常感谢您的帮助。如果你能给我举个例子,我将不胜感激。好主意,但如果我们想从配置中控制https或http呢?我的意思是我想有一个直接将ZF2配置连接到模型的想法。目前,我正在将url作为参数从控制器传递给模型。通过使用以下代码echo isset($\u SERVER['https'])&&&$\u SERVER['https']),您可以轻松检查协议是http还是https!='关闭“?”HTTPS':'HTTP';好主意,但是如果我们想从配置中控制https或http呢?我的意思是我想有一个直接将ZF2配置连接到模型的想法。目前,我正在将url作为参数从控制器传递给模型。通过使用以下代码echo isset($\u SERVER['https'])&&&$\u SERVER['https']),您可以轻松检查协议是http还是https!='关闭“?”HTTPS':'HTTP';