我确信这是一个简单的问题,但我是PHP的新手,无法弄明白。我正在尝试解析一个正常工作的.ini文件,但我无法访问这些值。
我的网站结构如下:
project/
index.php
inc/
init.php
classes/
frontend.php
msg/
messages.ini
使用init.php
在$messages = parse_ini_file("msg/messages.ini");
中解析消息文件,然后将其包含在index.php
中,如下所示:
<?php
require_once('inc/init.php');
//printing the array here works!
$html = new frontend();
如果我从index.php
打印消息数组,一切正常。
然而,当index.php
构建new frontend();
时,$messages
数组在那里不可用。 frontend
本身已加载到init.php
中,并且在没有ini文件的情况下正常工作。
因此我假设存在导入或变量范围问题,但我无法弄明白。有人能指出我正确的方向吗?
答案 0 :(得分:1)
而不是:
$html = new frontend();
...做类似的事情:
$html = new frontend($messages);
PHP variable scope无论如何都相当简单:变量是函数/方法的全局变量或本地变量。
答案 1 :(得分:-1)
尝试将$messages
声明为frontend()
内的全局。