访问由PHP中的函数创建的对象实例

时间:2012-08-26 16:58:02

标签: php oop function

我刚刚进入OOP PHP但是有点陷入困境。

基本上我想创建一个创建对象的函数,问题是我无法访问函数外的对象:

$website0 = new website(0,'test','NameTest');
echo $website0 ->getProperty('name');

这很有效。但是:

createWebsitesFromDatabase();
echo $website0 ->getProperty('name');

function createWebsitesFromDatabase() {
    $website0 = new website (0,'test','NameTest');
}

不起作用。有什么想法吗?

3 个答案:

答案 0 :(得分:2)

您必须使用返回值将创建的对象分配给函数外部的变量,这在大多数情况下优于使用全局变量。

<?php
   function createWebsitesFromDatabase(){
       $insideVar = new website(0, 'test', 'NameTest');
       return $insideVar;
   }

   $website0 = createWebsitesFromDatabase();
   echo $website0->getProperty('name');
?>

答案 1 :(得分:1)

function createWebsitesFromDatabase() {
   global $website0; // here is the trick
   $website0 = new website (0,'test','NameTest');
}

createWebsitesFromDatabase();    
echo $website0 ->getProperty('name');

答案 2 :(得分:0)

这样做:

function createWebsitesFromDatabase() {
global $website0;
$website0 = new website (0,'test','NameTest');
}

此链接应澄清您的问题

http://php.net/manual/en/language.variables.scope.php