Nasıl PHP bir sınıf örneğinin üst erişebilirim?

0 Cevap php

Ben sadece nesne yönelimli programlama deneyimi C #, yani PHP bana biraz yardım kullanabilirsiniz bazı eğri top atıyor.

Ben eğer sen benim tüm sayfalar, "pagebase" için kullanabileceğiniz bir sınıf var. Bu düşük seviye html yapısını yönetir. Bu sınıf, çeşitli diğer sınıflar tarafından miras alınır. Bu sınıflar sitesi olan farklı sayfa türleri vardır. Şimdi: Ben o sorun devralan sınıfı örneğinden "pagebase" bir değişkeni ayarı yaşıyorum. Bu miras sınıf sanki sınıf örneği davranır gibi C # görünce hiçbir sorun olurdu.

Bu bende ne bir temsilidir:

pagebase.php

<?php
    class pagebase
    {
        var $title = "No title";
        var $body = "<center>No content</center>";

        function setTitle($value) {
            $this->title = $value;
        }

        function setBody($value) {
            $this->title = $value;
        }

        function updateHTML()
        {
            ...
        }

        function drawPage()
        {
            $this->updateHTML();
            echo $this->html;
        }
    }
?>

std_page.php

<?php
    include("includes/pagebase.php");

    class std_page extends pagebase
    {
        function std_page()
        {
            ...
        }

        function updateHTML()
        {
            parent::setBody(
                "
                    <div id=\"main_wrapper\">
                        The page goes here!
                    </div>
                "
            );
        }

        function drawPage()
        {
            $this->updateHTML();
            parent::drawPage();
        }
    }
?>

index.php

<?php
    include "includes/std_page.php";

    $page = new std_page;
    $page->setTitle("Avesta");

    $page->drawPage();
?>

Şimdi, diğer şeyler arasında, burada en büyük sorun hiçbir şey İŞLERİ olmasıdır. Pagebase değerler buldum ya da herhangi bir şekil, bir şekilde veya formda çalıştırmak değil işlevi gösteren hiçbir hatayı alıyorum olsa bile değişmez.

Birisi yanlış ne yapıyorum lütfen bana haber - Teşekkür

0 Cevap