【问题标题】:Passing PHP MAGIC CONSTANTS or $GLOBALS传递 PHP MAGIC CONSTANTS 或 $GLOBALS
【发布时间】:2013-09-26 07:56:33
【问题描述】:

我如何可能使用这些变量之一?我已经尝试了很多版本,并且不断收到错误

public $currentDir = $_SERVER['DOCUMENT_ROOT'];
class myClass {
var $users_xml_file = $currentDir."data/my.xml";

var $currentDir = __DIR__;
class myClass {
var $users_xml_file = $currentDir."data/my.xml";

$currentDir = dirname(__FILE__);
class myClass {
var $users_xml_file = $currentDir."data/my.xml";

class myClass {
$currentDir = dirname(__FILE__);
var $users_xml_file = $currentDir."data/my.xml";

【问题讨论】:

  • 哇,没人吗?这样做让我得到了 __DIR__ 的值,但是下面的 var 出错了。类 myClass{ var $currentDir = __DIR__ ; ... = $currentDir."data/my.xml";给出错误。试过 = "$currentDir/data/my.xml";这也给出了一个错误。

标签: php constants globals magic-string


【解决方案1】:

类成员变量称为“属性”。您可能还会看到使用“属性”或“字段”等其他术语来提及它们,但出于本参考的目的,我们将使用“属性”。它们是通过使用关键字 public、protected 或 private 之一来定义的,然后是一个普通的变量声明。这个声明可能包括一个初始化,但这个初始化必须是一个常量值——也就是说,它必须能够在编译时被评估,并且不能依赖于运行时信息才能被评估。

Properties

对于快速解决方案,您可以通过构造函数设置变量。

$currentDir = $_SERVER['DOCUMENT_ROOT'];
class myClass {
var $users_xml_file = null;

public function __constructor(){
global $currentDir;
$this->users_xml_file = $currentDir."data/my.xml";;
}

【讨论】:

    猜你喜欢
    • 2011-04-04
    • 1970-01-01
    • 2011-07-21
    • 2018-03-22
    • 2014-01-24
    • 2011-10-26
    • 1970-01-01
    • 2011-08-21
    • 2012-07-25
    相关资源
    最近更新 更多