Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 14.05.2003 Ostrzeżenie: (0%)
|
Mam nastepujacy problem: otoz pisze sobie cos na ksztalt silnika strony, zdecydowalem sie na php5, mam klase kernel:
[php:1:7357c021bb]<?php class Kernel { public $objDB = null; public $objConfig = null; function __construct() { $this->objDB = new DB; $this->objConfig = new Config( $this ); $this->objDB->Connect( 'tutaj parametry polaczenia' ); } } ?>[/php:1:7357c021bb] Oczywiscie klasa jest bardziej rozbudowana, ale chce zilurtrowac tylko problem - jadro tworzy obiekt Config i obiekt DB - config jest pobierany z bazy danych, dlatego do obiektu Config przekazuje referencje jadra systemu, aby mogl wykonac sobie metody sterownika bazy danych. Klasa Config wyglada w uproszczeniu tak: [php:1:7357c021bb]<?php class Config { private $objKernel = null; public $arrVars = array(); function __construct( $objKernel ) { $this->objKernel = $objKernel; $this->Load(); } function Load() { $this->objKernel->objDB->Query( 'SELECT config_name, config_value FROM ' . CONFIG_TABLE ); while( $arrRow = $this->objKernel->objDB->FetchAssoc() ) { $this->arrVars[$arrRow['config_name']] = $arrRow['config_value']; } } } ?>[/php:1:7357c021bb] Wszystko wyglada w porzadku, z tym, ze wywolanie metod bazy danych z wewnatrz obiektu Config nic nie daje, jesli wywoluje je luzem, tworzac jakis nowy plik php i umieszczajac w nim kod: [php:1:7357c021bb]<?php include 'kernel.php'; $objKernel = new Kernel; $objKernel->objDB->Query('zapytanie'); $arrRow = $objKernel->objDB->FetchRow(); ?>[/php:1:7357c021bb] to wszystko jest ok, w $arrRow mam dane, ale niestety jesli proboje zrobic to samo wewnatrz jakiegos obiektu do ktorego przekazalem obiekt jadra, to nie otrzymuje zadnego wyniku. |
|
|
|
Balin Problem z obiektami w php5 28.01.2004, 15:46:52
Hammer A nie lepiej zadeklarować obiekt sterujący bazą da... 28.01.2004, 18:57:35
Balin Moglbym, ale mam watpliwosci czy ten kod bedzie dz... 28.01.2004, 19:53:16
Balin Hmm, zbadalem troche sprawe, i okazalo sie, ze klo... 1.02.2004, 09:49:29
Ludvik Nie szukałem informacji o tym, ale sam robiłem sys... 15.06.2004, 19:47:18 ![]() ![]() |
|
Aktualny czas: 20.12.2025 - 14:12 |