1

私は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');
}

動作しません。何か案は?

4

3 に答える 3

2

戻り値を使用して、作成されたオブジェクトを関数外の変数に割り当てる必要があります。これは、ほとんどの場合、global を使用するよりも優れています。

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

   $website0 = createWebsitesFromDatabase();
   echo $website0->getProperty('name');
?>
于 2012-08-26T17:03:54.630 に答える
1
function createWebsitesFromDatabase() {
   global $website0; // here is the trick
   $website0 = new website (0,'test','NameTest');
}

createWebsitesFromDatabase();    
echo $website0 ->getProperty('name');
于 2012-08-26T17:01:19.067 に答える
0

これを行う:

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

このリンクはあなたの問題を明確にするはずです

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

于 2012-08-26T17:02:54.643 に答える