小编Pau*_*ulo的帖子

如何让PHP类构造函数调用其父级的父构造函数

我需要在PHP中使用类构造函数调用其父级的父级(祖父级?)构造函数而不调用父构造函数.

// main class that everything inherits
class Grandpa 
{
    public function __construct()
    {

    }

}

class Papa extends Grandpa
{
    public function __construct()
    {
        // call Grandpa's constructor
        parent::__construct();
    }
}

class Kiddo extends Papa
{
    public function __construct()
    {
        // THIS IS WHERE I NEED TO CALL GRANDPA'S
        // CONSTRUCTOR AND NOT PAPA'S
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道这是一件很奇怪的事情,我试图找到一种味道并不难闻的手段但是,我很好奇是否有可能.

编辑

我想我应该发布所选答案的理由.原因是; 它是最优雅的解决方案,希望在保留所有值的同时调用"祖父母"的构造函数.它当然不是最好的方法,也不是OOP友好的,但这不是问题的问题.

对于以后遇到此问题的任何人 - 请找到另一种解决方案.我能够找到一种更好的方法,不会对类结构造成严重破坏.你也应该这样.

php oop inheritance constructor class

194
推荐指数
10
解决办法
22万
查看次数

如何准确确定访问我网站的位置?

我需要一种一致且可靠的方法来确定访问我网站的计算机的位置(州/省,国家等),使用以下任何一种方法:

  • PHP
  • JavaScript的
  • MySQL的
  • 任何Web服务
  • 我没有想到的东西?

我我不是在寻找锁定的第三方的统计程序,如谷歌Analytics(分析).它已经在使用并且做了很多惊人的事情,但是我需要对信息进行代码级访问.

理想的解决方案应该允许我提供所需的任何信息(例如IP地址)并准确地获取尽可能多的关于访问的信息.获得原产国是最低要求,但是诸如州,纬度和经度,城市等的附加物将是好的.

澄清:我需要能够在PHP代码中定期使用这些信息.不只是在某个地方查看它.

web-services web-applications geolocation

6
推荐指数
1
解决办法
3926
查看次数

带有header()和Bad header问题的PHP POST

我在PHP中发送标题时遇到了一个令人哭笑不得的问题.我花了大约45分钟在SO和其他网站上阅读,我无法想出我的问题的正当理由.

我需要向另一台服务器发送POST请求,我正在使用PHP header()函数来设置值.我有以下示例代码.

    $server = 'http://fakedomain.com';
    $server_path = '/';
    $request = 'key=value&key2=value2';
    header("POST $server_path HTTP/1.1" );
    header("Host: $server\r\n" );
    header("Content-type: application/x-www-form-urlencoded\r\n" );
    header("Content-length: ".strlen($request)."\r\n" );
    header("Connection: close\r\n\r\n" );
    header($request);
Run Code Online (Sandbox Code Playgroud)

我尝试了各种选项,但每个选项都会在我的日志文件中导致相同的错误

malformed header from script. Bad header=POST / HTTP/1.1: php5.cgi
Run Code Online (Sandbox Code Playgroud)

我是一名经验丰富的PHP程序员,他不需要手动发送HTTP post请求.

我希望代码重定向浏览器,这就是我决定使用此方法的原因.

我做得对吗?

还有其他标准的方式,我只是不知道吗?

php http

1
推荐指数
1
解决办法
4586
查看次数