我希望包含一个可供PHP类中任何方法/函数访问的文件。该文件只包含base-64编码变量。我该怎么做?
感谢。
答案 0 :(得分:3)
对于这种情况,你最好使用常量。
define('MY_BASE64_VAR', base64_encode('foo'));
它随处可见,不可变。
require "constant.php";
class Bar {
function showVariable() {echo MY_BASE64_VAR;}
}
当然,在您的类中使用之前,您仍需要将文件包含在其中。
答案 1 :(得分:2)
<?php include("common.php"); ?>
检查here。
答案 2 :(得分:0)
如果你想确保它包含在每个班级中,请确保将其包含在每个班级中,但使用include_once来提高效率
<?php include_once("common.php"); ?>
答案 3 :(得分:0)
如果您只保存base64编码数据,在该文件中没有任何额外的PHP代码,您只需读取其内容,解码数据并将其分配给对象的属性。
class Foo {
protected $x;
public function setSource($path) {
// todo: add as much validating/sanitizing code as needed
$c = file_get_contents($path);
$this->x = base64_decode($c);
}
public function bar() {
echo 'x=', $this->x;
}
}
// this will create/overwrite the file test.stackoverflow.txt, which isn't removed at the end of the script.
file_put_contents('test.stackoverflow.txt', base64_encode('mary had a little lamb'));
$foo = new Foo;
$foo->setSource('test.stackoverflow.txt');
$foo->bar();
打印x=mary had a little lamb
。
(你可能想要再解耦一下......但这只是一个例子。)