class Theme
{
function __construct()
{
}
function load( $folder, $file )
{
$theme_path = ROOTPATH . '/theme/' . $folder . '/' . $file . '.php';
require_once($theme_path);
return TRUE;
}
}
on index.php
<?php
require class.theme.php
$theme = new Theme;
$theme->load('site','index');
?>
在我的网站/ index.php
上<?php
// to work i need another $theme = new theme; why can i do this ? can i make
it make it work twice or more inside the function load ?
$theme->load('site','header');
$theme->load('site','footer');
?>
不知怎的,它需要$ theme = new Theme;再次在网站/ index.php
还有另一种方法可以让它发挥作用吗?也许我的班级设计不好或算法失败。
编辑*更多信息 好吧,我试图做的是加载标题视图页脚视图。
答案 0 :(得分:2)
我们不知道您的两个.php文件之间的关系,因此很难回答。
如果将$ theme定义为新主题,则仍然适用范围规则:您的定义/实例仅在其范围内有效。您将没有全局主题对象。独立于任何类/对象设计。
答案 1 :(得分:1)
对象“$ theme”不会在多个文件中持续存在,因此当请求“site / index.php”时,“index.php”中的对象消失了......
或者我的问题完全错了:)
答案 2 :(得分:0)
尝试公开加载功能:
class Theme
{
function __construct()
{
}
public static function load( $folder, $file )
{
$theme_path = ROOTPATH . '/theme/' . $folder . '/' . $file . '.php';
require_once($theme_path);
return TRUE;
}
}
答案 3 :(得分:0)
class Theme
{
function __construct()
{
}
function load( $folder, $file )
{
$theme_path = ROOTPATH . '/theme/' . $folder . '/' . $file . '.php';
return $theme_path;
}
}
on index.php
<?php
require class.theme.php
$theme = new Theme;
require_once $theme->load('site','index');
?>
在我的网站/ index.php
上<?php
// to work i need another $theme = new theme; why can i do this ? can i make
it make it work twice or more inside the function load ?
require_once $theme->load('site','header');
require_once $theme->load('site','footer');
?>
这一直是诀窍,谢谢你们。