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

时间:2013-10-10 14:54:36

标签: php variables scope require

我想在另一个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文件中也使用了一次,并且它可以工作。为什么我无法访问类的变量?

3 个答案:

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

研究设计模式,多态性。

答案

  • userclass.php 类用户 { public $ color =“green”; }

$ User = new User;

  • livesearch.php require_once( “../类/ user.php的”);

echo $ User-&gt; color;