我有一个名为"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;