Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [core]problem z obiektami adodb,smarty ...
Forum PHP.pl > Forum > PHP
patrycjusz
Witam,
może najpierw zarzucę kodem...
[php:1:7ce85d6e4d]<?php
//index.php
// wywołanie pliku konfiguracyjnego
include "config/sys.config.php";

include_once KLASS.'file.class.php';

// wywołanie pliku z obiektem core
include_once KLASS."core.class.php";

// wywołanie silnika systemu
include_once KLASS."engine.class.php";

new engine;

//file.class.php
class _file
{

function load_file($file)
{
if(file_exists(realpath($file)) && is_file(realpath($file)))
{
include_once (realpath($file));

return true;
}
else
{
return false;
}
}

}
// core.class.php
class core
{
function load_core($object)
{

if (!isset($object) || !is_object($object))
{
if(_file::load_file(KLASS.$object.".class.php"))
{
$object = & new $object;
}
else
{
trigger_error("Nie mo¿na za³adowaæ pliku");
}
}
return $object;
}

}
// no i kawalek engine.class.php
class engine
{

var $db;

function engine ()
{
//set_error_handler(array(&$this, 'error_handler'));


$this->_db = core :: load_core('adodb');
$this->_smarty = core :: load_core('templates');
print_r($this->_db); //widzi obiekt
$this->_db->GetRow("..."); // nie widzie metody GetRow
?>[/php:1:7ce85d6e4d]
i teraz wszystko jest ok, do momentu kiedy odwułuję się do metod zainicjowanych przez core obiektów (np assign smart czy GetRow adodb),
przeczuwam że gdzieś źle przekazje referencję ale ... nie mogę tego znaleźć rolleyes.gif
Będe wdzięczny za pomoc i zainteresowanie tongue.gif
Pozdrawiam patS.
patrycjusz
hehe chyba sobie klikne pomógł mi 8)
ano obszedłem to tak....
[php:1:58ad211dcf]<?php
//core.class.php
class core
{
function load_core($object)
{

if (!isset($object) || !is_object($object))
{
if(_file::load_file(KLASS.$object.".class.php"))
{
$object = & call_user_func(array($object, '_load')); //tutaj
}
else
{
trigger_error("Nie można załadować pliku");
}
}
return $object;

}

}
?>[/php:1:58ad211dcf]
ale jestem też ciekaw waszych pomysłów na podobne rozwiązania :wink:
jeszcze raz dziękuje sobie tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.