访问另一个 PHP 文件中的类变量


Access class variable in another PHP file

我想使用另一个php文件中的变量作为类。但我总是收到错误:注意:未定义的变量:...

首先:我创建一个用户对象:文件:索引.php

<?php
// include the configs / constants for the db connection
require_once("config/config.php");
// load the user class
require_once("classes/User.php");
$user = new User();
include("views/order.php");

文件:用户.php

class User
{
   public $color = "green";
}

文件实时搜索.php

require_once("../classes/User.php");
echo $User->color;

我在索引.php文件中从类用户创建一个对象,我还使用了一个用户.php文件的要求,它可以工作。为什么我无法访问类的变量?

PHP 中的变量名区分大小写:

echo $User->color;

应该是

echo $user->color;

此外,livesearch.php无权访问index.php中的变量,除非:

  • 它包含在index.php中。在这种情况下,它可以访问在包含之前index.php中分配的所有变量。
  • livesearch.php包括index.php。在这种情况下,它可以访问在包含index.php点之后index.php分配的所有变量。

例如。您的文件,但稍作修改:

文件:索引.php

// load the user class
require_once("User.php");
$user = new User();
include("livesearch.php");

文件:用户.php

class User
{
   public $color = "green";
}

文件:实时搜索.php

echo $User->color;

与写作相同:

// From User.php
class User
{
   public $color = "green";
}
// From index.php
$user = new User();
// From livesearch.php
echo $User->color;

PHP for File livesearch.php :

 require_once("../classes/User.php");
 $user = new User;
 echo $user->color;

你应该使用单例的设计模式来提高速度。在这种情况下,我不建议使用这种用法。(这个>颜色代替用户::颜色(。

研究设计模式,多态性。

  • 用户类.php类用户{公共$color="绿色";}

$User = 新用户;

  • 实时搜索.phprequire_once("./classes/User.php"(;

回声$User>色;