Factory – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Factory – PHP – Fórum – Programujte.comFactory – PHP – Fórum – Programujte.com

 

janek
~ Anonymní uživatel
56 příspěvků
23. 12. 2009   #1
-
0
-

ahoj .. vytvořil jsem si třídy2 ... jedna DATABASE a druhá MSQLI ... DATABASE bere v construktoru login, heslo atd .. a vytvářáí novou třídu MYSQLI kterou pak vrátí ( v konstruktoru)
DATABASE constructor
__construct(udaje)
{
return new MYSQLI(udaje);
}

problem je vtom že když zavolam napr $a= new DATABASE($data)... $a->MetodaZMYSQLI(); ...tak mi to zahlasi "call undefined method" ... nevite co stim .. moc díky za všechny rady ...

Nahlásit jako SPAM
IP: 85.92.39.–
janek
~ Anonymní uživatel
56 příspěvků
23. 12. 2009   #2
-
0
-

To janek : ... prave jsem zjistil ze i v PHP je __construct() jenom procedura ...takze nevraci nic ...
jde nějak docílit efektu abych si vytvoril tridu A .. uložil do proměné třídy B ..a pak zavolal B->metodaA(); ??

Nahlásit jako SPAM
IP: 85.92.39.–
KIIV
~ Moderátor
+43
God of flame
23. 12. 2009   #3
-
0
-

o co ze se to snazis?
forma dedicnosti? nebo snad v A mit instanci B a pak pouzit $this->promenna->metoda() ci o co jde?

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
koudis
~ Anonymní uživatel
145 příspěvků
23. 12. 2009   #4
-
0
-

prostě potřebuji vytvořit třídu .. např A .... pak vytvořit třídu např B ... třída A .. jenom přichystá "prostředí" pro B... a chci třídu B uložit do A tak aby když zavolám A->MetodaYtridyB(); .... abz se mi to zovolalo správně .... prostě abych pomocí A mohl volat metody z B....

Nahlásit jako SPAM
IP: 85.92.39.–
KIIV
~ Moderátor
+43
God of flame
23. 12. 2009   #5
-
0
-

si spis nepochopil princip..

konstruktor vraci instanci tridy.. je tedy nesmysl mu rvat return..
to co vytvaris ma zustat uvnitr te instance..
takze si udelas promennou $dbcon
a pak v konstruktoru ji inicializujes: $this->dbcon = new MYSQLI(udaje);
do B pak pomoci konstruktoru muzes ten objekt vytvoreny z A predat a pak s nim pracovat .. jen pomoci promenne uvnitr B

ale stejne nejak nechapu smysl toho vseho.. proc to sakra neudelas v jednom?

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
h4kuna
~ Anonymní uživatel
1 příspěvek
24. 12. 2009   #6
-
0
-

Pokud ti mohu doporucit tak tridy pro db si napsal snad kazdy avsak hodne malo jich bylo dokonalych natolik aby to lidi zverejnili avsak tu jsou a nejlepsi na tom je ze nejsou ode me :) http://dibiphp.com/cs/ (velmi jednoducha) nebo treba http://framework.zend.com/manual/en/zend.db.html

Nahlásit jako SPAM
IP: 90.180.183.–
polonium0
Návštěvník
3. 1. 2010   #7
-
0
-

Třída pracující s db se dá řešit třeba podle vzoru singleton.

ve třídě pracující s db stačí mít tuto funkci:

class Database

{
static function getInstance()
{
if(self::$instance == NULL) {
self::$instance = new Database();
}
return self::$instance;
}
function dotaz(){
//... zpracovani dotazu
}
}

a kdekoliv v kódu pak přistupuješ k metodám a hodnotám objektu Database pomocí tohoto:
Database::getInstance()->dotaz();

Nahlásit jako SPAM
IP: 85.161.108.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

Podobná vlákna

Simple factory method — založil vigum

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý