我在这个问题上有些挣扎,我使用了几年前构建的定制MVC,同时我一直在对其进行更新,现在我设法使大多数后台创建自动化了,但是这部分不是能够传递一些参数。
这是模块控制器的示例:
<?php
require_once("lib/controllers.php");
class defaultpage extends controllers
{
public $varx;
public function index()
{
global $website_name;
$filename = pathinfo(__FILE__, PATHINFO_FILENAME); // Obter o nome do ficheiro
if(isset($_SESSION['username'])){
$this->header("$website_name Banners");
$this->navbar();
$this->displayb("backoffice/modules/$filename/view/$filename.tpl.php",$image);
$this->footer();
}else{
header("Location: /", true, 301);
exit();
}
}
}
#######################################################################################
# CONFIGURAR PÁGINA EDITAR
#######################################################################################
if(isset($fetch)){
}else{
$fetch = NULL;
}
$image =
[ // 1º IMAGEM 2º LABEL 3ºName 4º ID
[
"../../".$fetch['imagem'],"Imagem(1000 x 940px)","fileToUpload","fileToUpload"
]
];
$textarea =
[ // 1º Label 2º Name 3º Value
[
"Conteudo PT","conteudo",utf8_decode($fetch['conteudo'])
],
[
"Conteudo EN","conteudo_en",utf8_decode($fetch['conteudo_en'])
]
];
$input =
[ // 1º Label 2º Name 3 º Value
[
"Link (Opcional)","link",utf8_decode($fetch['link']),"text"
]
];
#######################################################################################
$module = new defaultpage;
?>
到目前为止,如果我尝试从其他控制器访问此控制器,它将成功运行,否则,如果我在此查看器中尝试访问$ image,$ textarea和$ inputs生成它,则返回空字符串。
Notice: Undefined variable: image in /home/gmtemhic/test-domain.xyz/backoffice/modules/banner/view/banner.tpl.php on line 32
这是我上面发布的控制器的视图文件的一部分:
require_once("backoffice/modules/$table/controller/$table.php");
var_dump($image);
print_r($image);
我也尝试过放置一个公共函数,并将其作为公共变量传递给类,但仍然没有成功。
答案 0 :(得分:0)
您可以使用UndecidableInstances
函数,该函数将变量从数组导入到当前符号表中。
示例:
extract