如何在课程中包含文件?

时间:2010-05-31 10:10:00

标签: php

我希望包含一个可供PHP类中任何方法/函数访问的文件。该文件只包含base-64编码变量。我该怎么做?

感谢。

4 个答案:

答案 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

(你可能想要再解耦一下......但这只是一个例子。)