0

Webサイトを整理してセットアップしようとしていますが、クラスファイルで問題が発生しまし$website['website_name'] = 'Delusion Servers';た。変数を関数内に配置すると、初期化されていないと表示されます。

<?php

/*
 * Delusion Servers
 * Website access at (delusionservers.com).
 * Developed, designed and managed by Lewes B.
 * PAGE: WEBSITE.CLASS.PHP
 */

$website['website_name'] = 'Delusion Servers';

class website {

    function killPage($content){
        die("

            <h1>" . $website['website_name'] ."encountered an error</h1>

            <br /><br />" . $content . "

            ");
    }
}

$website = new Website;
?>

どうしたの?

4

3 に答える 3

3

クラス内の関数は別のスコープにあります。

これを試して:

class website {

    function killPage($content){
        die("

            <h1>" . $this->website_name ."encountered an error</h1>

            <br /><br />" . $content . "

            ");
    }
}

$website = new Website;
$website->website_name = 'Delusion Servers';
于 2013-03-18T17:18:38.590 に答える
1
class website {

   public $website = array();

    public function __construct() {
        $this->website['website_name'] = 'Delusion Servers';
    }

    function killPage($content){
        die("

            <h1>" . $this->website['website_name'] ."encountered an error</h1>

            <br /><br />" . $content . "

            ");
    }
}
于 2013-03-18T17:19:37.167 に答える
-1

解決策 1: クラス定数

class Settings {
    const WEBSITE_NAME = 'Delusion Servers';
}

class website {

    function killPage($content){
        die("<h1>" . Settings::WEBSITE_NAME ." encountered an error</h1>
             <br /><br />" . $content);
    }
}

解決策 2: グローバル定数

define("WEBSITE_NAME","Delusion Servers");
...
class website {

    function killPage($content){
        die("<h1>" . WEBSITE_NAME ." encountered an error</h1>
             <br /><br />" . $content);
    }
}

解決策 3: クラス プロパティ

class website {
    private $websiteName = "Delusion Servers";

    function killPage($content){
        die("<h1>" . $this->websiteName ." encountered an error</h1>
             <br /><br />" . $content);
    }
}
于 2013-03-18T17:21:52.203 に答える