我想在另一个php文件中使用变量作为类。但我总是得到错误:注意:未定义的变量:...
首先:我创建一个用户对象: 文件:index.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");
文件:User.php
class User
{
public $color = "green";
}
文件livesearch.php
require_once("../classes/User.php");
echo $User->color;
我在index.php文件中从类用户创建一个对象,我在User.php文件中也使用了一次,并且它可以工作。为什么我无法访问类的变量?
答案 0 :(得分:4)
PHP中的变量名称区分大小写:
echo $User->color;
应该是
echo $user->color;
此外,livesearch.php
无法访问index.php
中的变量,除非:
index.php
中。在这种情况下,它可以访问index.php
中包含的所有变量。livesearch.php
包括index.php
。在这种情况下,它可以访问在index.php
被包含的点之后index.php
中分配的所有变量。例如。 你的文件,但略有修改:
文件:index.php
// load the user class
require_once("User.php");
$user = new User();
include("livesearch.php");
文件:User.php
class User
{
public $color = "green";
}
文件:livesearch.php
echo $User->color;
与写作相同:
// From User.php
class User
{
public $color = "green";
}
// From index.php
$user = new User();
// From livesearch.php
echo $User->color;
答案 1 :(得分:0)
PHP for File livesearch.php:
require_once("../classes/User.php");
$user = new User;
echo $user->color;
答案 2 :(得分:0)
你应该使用单一的设计模式来提高速度。 在这种情况下,我不推荐这样的用法。 (this-&gt; color而不是user :: color)。
研究设计模式,多态性。
答案
$ User = new User;
echo $ User-&gt; color;