如何访问在另一类PHP srpt中声明的变量


How to access variable declared in another class of PHP sript

我有一个名为"Header.inc.php"的文件,它有两个类。主页标题&菜单这两个类的方法中都有HTML。问题是,我想在HomepageHeader类中插入菜单,但由于HTML的原因,我不能也不知道如何访问PHP中另一个类的内容。

以下是我的代码:

<?php
class HomepageHeader
{
    public $HomepageSlider = "HTML Code for Slider";
**At this point I want to insert the content of class**
//HTML Continues
}
class Menu
{
    public $PageMenu = "HTML Code for Menu";
}

主要目标是在第一个类的HTML之间插入Menu类内容,然后继续HTML,使其成为一部分。

我的建议是创建一个静态变量,然后访问它,而不必实例化类。类似这样的东西:

class Menu
{
    public static $PageMenu = "HTML Code for Menu";
}

然后你可以这样称呼它:

print Menu::$PageMenu;

Yuo可以装箱对象,如:

$Homepage = new HomepageHeader();

然后你可以在这个类中使用变量

echo $Homepage->HomepageSlider;

将您的代码更改为:

class HomepageHeader {
    public $HomepageSlider = "HTML Code for Slider";
    $menu = new Menu();
    echo $menu->PageMenu;
}

我不确定我是否完全理解,但我认为你想要这个?

页眉.inc.php

class HomepageHeader
{
    public $HomepageSlider = "HTML Code for Slider";
**At this point I want to insert the content of class**
//HTML Continues
}
class Menu
{
    public $PageMenu = "HTML Code for Menu";
}

index.php

<?php
include_once('Header.inc.php');
$home = new HomepageHeader();
$menu = new Menu();
echo $home->HomepageSlider;
echo $menu->PageMenu;
echo '<h1>More HTML, yay!</h1>';

两种选择:

将变量声明为静态:

class foo { public static $bar = 'baz';}
echo foo::$bar;

或者实例化对象:

class foo { public $bar = 'baz'; }
$foo = new foo();
echo $foo->bar;