| | |
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Autor | Správa |
---|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 16.04.2010 18:14 | |
|
Zdravím, zaúčam sa do tried a narazil som na jeden problém.
Chcem spraviť volanie tried pomocou $Trieda->subTrieda->funnkcia(); kvôli prehladnosti. Nejak som to docielil, ale narazil som na menší problém. Síce som to vyriešil, ale neviem či nejak efektívne a preto sa pýtam tu.
Takže mám.
Kód: class Main{
function __construct(){ $this->Sub1 = new Sub1; $this->Sub2 = new Sub2; //moje riesenie $this->Sub2->Sub1 = &$this->Sub1; } }
class Sub1{ var $Result = ''; function Result($A){ $this->Result .= $A; } }
class Sub2{ function setResult($A){ $this->Sub1->Result($A); } }
$M = new Main; $M->Sub2->SetResult('asd'); $M->Sub2->SetResult('fgh');
var_dump($M);
Vráti Kód: object(Main)#1 (2) { ["Sub1"]=> &object(Sub1)#2 (1) { ["Result"]=> string(6) "asdfgh" } ["Sub2"]=> object(Sub2)#3 (1) { ["Sub1"]=> &object(Sub1)#2 (1) { ["Result"]=> string(6) "asdfgh" } } }
Nie je to blbosť, alebo to nejak zbytočne nezaťažuje chod? Obvzlášť, keď to bude rozsiahlejšie.
Tu sa dostávame k pointe. Dá sa tá funkcia Result() v Sub2->SetResult() volať aj nejak inak?
Niečo v zmysle parent::Sub1->Result('asd');
Pretože ak volám funkciu staticky ( Sub1::Result(2); ), tak prídá premennú Result do Sub2, ale ja chcem aby to ostalo v Sub1.
Dúfam, že som sa nevyjadril jak mešuge, lebo už aj sám som z toho popletený
ďakujem
_________________ Sorry za prelkepy |
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 |
ak sa chces naucit OOP, zacni s inym jazykom, napr. java. Tam pochopis podstatu. Potom sa ti bude aj v php lepsie pisat.
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
emer, skus vysvetlit obsirnejsie a popisat na realnom priklade, co chces presne dosiahnut, lebo z toho kodu sa to neda velmi zistit - vyzera to totiz strasne... preco si vlastne metody Result a setResult rozdelil do 2 tried? ak budeme vediet, na co to chces pouzit, budeme vediet mozno skor poradit...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 18.04.2010 21:33 | |
|
no ide o to, ze mam jednu triedu na pracu s DB. a kazdy jeden query uklada do pola, aby osmn konci vedel ze ake dotazi boli vykonane, popripadne ktore hodili chybu a loguje sa to. a takych tried s podobnou funkciou bude asi viac, lenze ta DB je osobity pripad, lebo nemozem volat tu triedu z inych tried staticky. pretoze sa mi potom tie informacie o dotazoch rozdelia. neviem ako to poriadne vysvetlilt :/
_________________ Sorry za prelkepy |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
global / singleton?
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal autor témy emer: 19.04.2010 19:50 | |
|
ten singleton je paráda, aj keď som tomu najprv vôbec nerozumel ešte si to naštudujem, ďakujem mockrát stenley
_________________ Sorry za prelkepy |
|
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Forko triedy v Redakčné systémy | 7 | 730 | 05.05.2009 21:04 Svolo | | Mobil strednej triedy v Mobilné zariadenia | 24 | 1046 | 15.09.2017 11:54 Nair0n | | Siete triedy B v Sieťové a internetové programy | 1 | 296 | 28.01.2013 19:30 majky358 | | Wifi-Router do triedy v Ostatné | 1 | 415 | 22.04.2011 20:40 rastis | | C++ konštantná funkcia triedy v Assembler, C, C++, Pascal, Java | 2 | 546 | 07.08.2010 14:17 Loko11 | | CMS pre web triedy v Redakčné systémy | 2 | 744 | 29.10.2009 7:24 yhanky | | C++ triedy, spravna rekurzia v Assembler, C, C++, Pascal, Java | 4 | 810 | 03.12.2010 8:47 HT | | Ako optimalizovat vykon triedy [ Choď na stránku: 1, 2 ] v PHP, ASP | 58 | 2077 | 01.09.2010 11:59 stenley | | [Java] Instancia abstraktnej triedy v Assembler, C, C++, Pascal, Java | 6 | 697 | 09.08.2010 13:50 crusher100 | | Java - abstraktne triedy a rozhranie v Assembler, C, C++, Pascal, Java | 4 | 539 | 23.06.2017 14:52 neutroN | | Notebook strednej triedy Dell 7537 v Notebooky a netbooky | 12 | 592 | 15.06.2014 21:06 Perezo | | Triedy a práca s nimi v Delphi, Visual Basic | 8 | 831 | 24.08.2010 11:43 Manny | | pocitac strednej triedy do 500€ v PC zostavy | 7 | 458 | 19.12.2011 19:11 ambrosko1 | | Eclipse content assist nedoplna len triedy v PHP, ASP | 0 | 212 | 15.03.2013 9:27 Merlin_sk | | Rozdiely medzi jednotlivymi procesormi triedy Atom v Notebooky a netbooky | 9 | 768 | 01.12.2009 15:29 Jaro | | Slovensko bude mať superpočítač svetovej triedy [ Choď na stránku: 1, 2 ] v Novinky | 30 | 1704 | 12.12.2011 17:28 Johnnny |
| Nemôžete zakladať nové témy v tomto fóre Nemôž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
|
|