Autor Zpráva
8vm8
Profil
Ahoj,
v PHP se začinám učit OOP a zkoušim si přístup k proměnným.
<?php 
class variables 
    {
        public $first='prvni';
    }

class text extends variables {
        public function write()
            {
                echo $first;
            }
    } 
$hw=new variables();
$hw->write();
?>
Moje představa je taková, že budu mít externí soubor s třídou variables, ten budu pomocí require načítat a ze třídy budu získávat proměnné. Nevím ale jak propojit proměnnou s funkcí write. Píše mi to tenhle error:
Fatal error: Call to undefined method variables::write() in C:\server\www\machyweb\test\gfd.php on line 22
Taps
Profil
8vm8:
a nemělo by to spíše být takto:
<?
$hw=new text();
$hw->write();
?>
Voláš totiž třídu variables, ve které nemáš funkci write
8vm8
Profil
Co jsem se zatím dozvěděl tak to class text extends variables { je rozšíření třídy variables.
Taps
Profil
8vm8:
extends = symbolizuje dědičnost
8vm8
Profil
Kdž jsem zkusil tvoje řešení, tak mi to bohužel nefunguje.
juriad
Profil
ještě nahraď echo za:
echo $this->first;
8vm8
Profil
Jo, to už mi funguje. Dík.
Joker
Profil
Ještě doplním pro vyjasnění:

8vm8:
Co jsem se zatím dozvěděl tak to class text extends variables { je rozšíření třídy variables.
Ano. Třída text je rozšířením (resp. specializací) třídy variables.
Což nic nemění na tom, že metodu write má třída text a ne třída variables.
8vm8
Profil
Dík za rady. Teď už mě to běží fajnově.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: