2

だから私は2つのphpクラスを持っています.1つはクラスです.1つはもう1つを使用します.私のクラスは次のとおりです.

(メニュー.php)

 <?php
public class Menu
{
        $home = '<li><a href="index.html"><span>Home</span></a></li>';
        $home_selected = '<li class="navhome"><a href="index.html"><span>Home</span></li>';

        $projects = '<li><a href=""><span>Projects</span></a></li>';
        $projects_selected = '<li class="navhome"><a href=""><span>Projects</span></a></li>';

        $contact = '<li><a href=""><span>Contact Us</span></a></li>';
        $contact_selected = '<li class="navhome"><a href=""><span>Contact Us</span></a></li>';

        public function getMyMenu($value)
        {
                switch($value) {
                        case "home":
                                return (string) $home_selected . $projects . $contact;
                                break;
                        case "projects":
                                return $home . $projects_selected . $contact;
                                break;
                        case "contact":
                                return $home . $projects . $contact_selected;
                                break;
                }
        }

}
?>

ただし、index.php では、いつでもどこでも

<?php include("menu.php"); 
      $menu = new Menu();
      echo($menu->getMyMenu("home")); ?>

または、これのバリエーションが配置された場合、Web ページはその後読み込まれません。たとえば、ページの中央に配置された場合、ページの最後はブラウザーに送信されません。

私はphpに非常に慣れていません。これが「当たり前」の答えであることを願っています。さらに必要な場合はお問い合わせください。ありがとう

4

3 に答える 3

3

あなたの文字列は引用されていません。'string'変数を含まない文字列に使用する必要があり"string $var"、変数の値を文字列に追加したくない場合。

また、スクリプトの冒頭に次のように書くと非常に役立ちます。

error_reporting(E_ALL);

これにより、完全なエラー追跡が可能になるため、PHP はどの文字列でどの問題が発生したかを教えてくれます。これは非常に役に立ちます。

また、文字列を見てください:

return "hello world";

関数がこの文字列で停止する場合、この命令の下にあるスイッチはどのように機能しますか? これをデフォルトとして戻したい場合は、スイッチの後に配置する必要があります。

于 2012-05-25T02:55:49.493 に答える
2

文字列を引用('または")する必要があります

$home = '<li><a href="index.html"><span>Home</span></a></li>';

完全なコード:

class Menu
{
    private $home = '<li><a href="index.html"><span>Home</span></a></li>';
    private $home_selected = '<li class="navhome"><a href="index.html"><span>Home</span></li>';

    private $projects = '<li><a href=""><span>Projects</span></a></li>';
    private $projects_selected = '<li class="navhome"><a href=""><span>Projects</span></a></li>';

    private $contact = '<li><a href=""><span>Contact Us</span></a></li>';
    private $contact_selected = '<li class="navhome"><a href=""><span>Contact Us</span></a></li>';

    public function getMyMenu($value)
    {
        switch($value) {
            case "home":
                return $this->home_selected . $this->projects . $this->contact;
                break;
            case "projects":
                return $this->home . $this->projects_selected . $this->contact;
                break;
            case "contact":
                return $this->home . $this->projects . $this->contact_selected;
                break;
        }
    }
}
于 2012-05-25T02:52:56.577 に答える
0

クラス プロパティの可視性を指定する必要があります。次に例を示します。

class Menu {
    public $home = ...;
}

またpublic、キーワードの前にclass. また、すべての文字列プロパティ値を囲む引用符がありません。基本的にすべてが間違っており、おそらくshow_errors無効になっています。

于 2012-05-25T02:54:52.317 に答える