我想使用另一个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>色;