语义学帮助 - PHP.


Semenantics help - PHP

我有一个代码('require_once'部分无关紧要):

<?php
require_once('../shared/database.php');
class Administration{
    public $db;
    public $base;
    public function __construct(){
        $this->db=new Database();
        $this->base=new stdClass();
        $this->base->url="http://".$_SERVER ['SERVER_NAME'].'/phpp/blog/admin/';
    }
}
?>

下面编写的代码正在实现代码(上面写的)。

<?php
require_once('administration.php');
class Articles extends Administration{
  public function __construct(){
    parent::__construct();} 
  $announcement='Some text.';           
  header('Location: '.$this->base->db.'articles.php?announcement='.urlencode($announcement));}
?>

有问题的部分$this->base->db.

如果我将db变量名称更改为任何其他有效的变量名称,代码仍然有效,但我无法找出原因。

有人知道它是如何工作的吗?

对我来说,代码似乎有很多错别字。也许没有为环境启用错误报告,因为该代码应该不起作用。伪变量$this在对象上下文中可用。

<?php
require_once('administration.php');
$announcement='Some text.';
$administration = new Administration();
$location = sprintf('%sarticles.php?announcement=%s', $administration->base->url, urlencode($announcement));
header(sprintf('Location: %s', $location));