我刚刚进入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');
}
不起作用。有什么想法吗?
答案 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');
}
此链接应澄清您的问题