NFO Forum Network:  linux.nfo.sk (Linux forum)     net.nfo.sk (Network forum)     www.mforum.sk (M$ forum)
Obsah fóra linux.nfo.sk linux.nfo.sk
Fórum zaoberajúce sa nielen Linuxom...
 
 Watched TopicsWatched Topics   FAQFAQ   HľadaťHľadať   Zoznam užívateľovZoznam užívateľov   Užívateľské skupinyUžívateľské skupiny   Lite versionLite   RegistráciaRegistrácia 
 NastaveniaNastavenia   Prihlásiť, pre kontrolu súkromných správPrihlásiť, pre kontrolu súkromných správ   PrihláseniePrihlásenie 

Vlastný vyhľadávací nástroj

OBJEKTOVE PROGRAMOVANIE

 
Odoslať novú tému   Odpovedať na tému    Obsah fóra linux.nfo.sk -> PHP
Zobraziť predchádzajúcu tému :: Zobraziť nasledujúcu tému  
Autor Správa
samot
Pokročilý používateľ
Pokročilý používateľ


Založený: 09.01.2005
Príspevky: 56
Bydlisko: Vavrecka 80

PríspevokZaslal: Št Júl 10, 2008 9:18 am    Predmet: OBJEKTOVE PROGRAMOVANIE Odpovedať s citátom

ahojte

mam tu jeden problem :

mam triedu

class forum
{

function forum() {
$this->db = new db();
}
function vyber_temu($id)
{
}
}

ked ju idem volat tak klasicky : $forum = new forum();

echo $forum->vyber_temu($id);

ale toto by som chcel dat prec

function forum() {
$this->db = new db();
}

lebo chcem si vytvarat triedy cisto :
class uzivatelia
{
function id_uzivatela(id);
}

ale bez tohto mi to nejde

function forum() {
$this->db = new db();
}

chcel by som to niako spravit aby to bolo pre vsetky triedy rovnake ale nejde mi to Sad a ked to dam prec napise mi :
Fatal error: Call to a member function query() on a non-object in

no a chcel by som to niako hodit do niakeho suboru a budem si len vytvarat triedy cisto a v triede budu len funkcie

dik
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu Odoslať e-mail
Anonymný






PríspevokZaslal: Št Júl 10, 2008 10:25 am    Predmet: Re: OBJEKTOVE PROGRAMOVANIE Odpovedať s citátom

samot Napísal:
ahojte

mam tu jeden problem :

mam triedu

class forum
{

function forum() {
$this->db = new db();
}
function vyber_temu($id)
{
}
}

ked ju idem volat tak klasicky : $forum = new forum();

echo $forum->vyber_temu($id);

ale toto by som chcel dat prec

function forum() {
$this->db = new db();
}

lebo chcem si vytvarat triedy cisto :
class uzivatelia
{
function id_uzivatela(id);
}

ale bez tohto mi to nejde

function forum() {
$this->db = new db();
}

chcel by som to niako spravit aby to bolo pre vsetky triedy rovnake ale nejde mi to Sad a ked to dam prec napise mi :
Fatal error: Call to a member function query() on a non-object in

no a chcel by som to niako hodit do niakeho suboru a budem si len vytvarat triedy cisto a v triede budu len funkcie

dik


Tak konstruktor triedy "function forum()" nechaj prazdny /bez kodu/ a mas po probleme .. nie? Alebo som nepochopil problem?
Návrat hore
samot
Pokročilý používateľ
Pokročilý používateľ


Založený: 09.01.2005
Príspevky: 56
Bydlisko: Vavrecka 80

PríspevokZaslal: Št Júl 10, 2008 10:58 am    Predmet: ... Odpovedať s citátom

nepojde to ..

ved chapes iba aby boli triedy a v nej funkcie nic ine Smile

a tu triedu databazu chcem niako pripojit na vsetky
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu Odoslať e-mail
johny
Pomocník
Pomocník


Založený: 10.01.2006
Príspevky: 526

PríspevokZaslal: Št Júl 10, 2008 7:13 pm    Predmet: Odpovedať s citátom

je v php dedicnost tried?
existuje defaultny konstruktor?

ak ano, celu inicializaciu daj do nejakej base classy do konstruktoru a tvoje ostatne triedy z toho mozu dedit..

nie je mi jasne co sa snazis dosiahnut, skus to nejako rozviest
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
Anonymný






PríspevokZaslal: Št Júl 10, 2008 8:06 pm    Predmet: Odpovedať s citátom

2 samot : ani ja som v podstate nepochopil problem, fakt to popis podrobnejsie Wink

johny Napísal:
je v php dedicnost tried?
existuje defaultny konstruktor?

PHP je z hladiska OOP velmi podobne Jave (jenoducha dedicnost, Interfacy ...) jedine co mi tam chyba je pretazovanie metod aj ked je to ciastocne vyriesene defaultnymi parametrami, no nieje to ono
Confused
Návrat hore
johny
Pomocník
Pomocník


Založený: 10.01.2006
Príspevky: 526

PríspevokZaslal: Št Júl 10, 2008 9:23 pm    Predmet: Odpovedať s citátom

Anonymous Napísal:

PHP je z hladiska OOP velmi podobne Jave (jenoducha dedicnost, Interfacy ..

php je anarchia Smile
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
pete
Anonymný





PríspevokZaslal: St Dec 31, 2008 12:59 pm    Predmet: dediconst Odpovedať s citátom

no ak chces mat automaticky tu metodu databaza v kazdej zdedenej triede tak si jednoducho vytvor abstraktnu class, tam si daj tu metodu a potom si mozes dedit tu abstraktnu triedu:
Kód:

abstract class MyDB
{
    public function setDB($db_connection)
    {
        //tvoj kod
    }
}

class MyNewClass extends MyDB
{
    public function myFunc()
    {
        //tvoj kod
    }
}

ak chces mat aby sa ti ta prva metoda v tej abstraktnej volala stale - ze musis vlozit $db_connection ked vytvaras instanciu z MyNewClass tak to napises takto:
Kód:

abstract class MyDB
{
    public function __construct($db_connection)
    {
        //tvoj kod
    }
}

class MyNewClass extends MyDB
{
    public function myFunc()
    {
        //tvoj kod
    }
}

samozrejme ze mi tam chybaju instance variables a tak dalej, ale dufam ze ako ilustracia to postacuje
Návrat hore
Zobraziť príspevky z predchádzajúcich:   
Odoslať novú tému   Odpovedať na tému    Obsah fóra linux.nfo.sk -> PHP Časy uvádzané v GMT + 1 hodina
Strana 1 z 1

 
Prejdi na:  
Môžete odosielať nové témy do tohto fóra
Môžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre
Nemôžete hlasovať v tomto fóre


Powered by phpBB © 2001, 2005 phpBB Group

Server Uptime: 195 days 8 hours 31 minutes | Average Load: 0.51, 0.44, 0.39

linux.nfo.sk topic RSS feed