Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> __PHP_Incomplete_Class Object
wojto
post
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


witam,
na stronie moje sesje przyjmuja taka wartosc:
Kod
Array
(
    [language] => language Object
        (
            [lang_name] => __PHP_Incomplete_Class Object
                (
                    [__PHP_Incomplete_Class_Name] => language
                    [lang_name] => russian
                )

        )

)

znalazlem w necie info, ze __PHP_Incomplete_Class Object jest jakims bledem w php :/
czy ktos z was sie spotkal z takim bledem i wie jak temu zapobiec?

klasa language jest prosta:
  1. <?php
  2. class language
  3. {
  4. function language() {
  5. return true;
  6. }
  7.  
  8. function load_file($file) {
  9. global $lang, $auth;
  10.  
  11. if (file_exists(SITE_ADRESS.'languages/'.$auth -> user_language.'/'.$file)) {
  12. include_once(SITE_ADRESS.'languages/'.$auth -> user_language.'/'.$file);
  13. return true;
  14. } else {
  15. return false;
  16. }
  17. }
  18. }
  19.  
  20. ?>

tworzenie: $language = new language();

// aha, na localhoscie dziala ok

pzdr. wojto

Ten post edytował wojto 7.09.2005, 14:58:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wojto
post
Post #2





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


na serwerze jest 4.3.10, u mnie jest 5.0.0

usunalem te globale i dalem singletony, ale teraz mam taki problem, ze nie widzi mi obiektu $db w klasie $session, a kolejnosc wywolywania mam nastepujaca:

  1. <?php
  2. //...
  3. $db =& Db::getinstance();
  4. $db -> sql_connect();
  5.  
  6. $io =& Io::getinstance();
  7.  
  8. $error =& Error::getinstance();
  9.  
  10. $session =& Session::getinstance();
  11.  
  12. $auth =& Auth::getinstance();
  13.  
  14. $language =& Language::getinstance();
  15. ?>

o singletonach dopiero co przeczytalem dokladnie przed 5 minutami

getinstance w kazdej klasie wyglada analogicznie:
  1. <?php
  2. function &getinstance() {
  3. static $instance = false;
  4.  
  5. if ($instance == false) {
  6. $instance = new Auth();
  7. }
  8.  
  9. return $instance;
  10. }
  11. ?>


no i wykonujac skrypt dostaje blad:
Kod
php Notice: Undefined variable:  db
Fatal error: Call to a member function sql_query() on a non-object in c:\usr\apache\httpd\html\poflirtuj\includes\session.class.php on line 98

ta linia, to:
Kod
function gc($a)
{
//linia 98:
    return($db -> sql_query("DELETE FROM ".PREFIX."sessions WHERE last_active<UNIX_TIMESTAMP()-1800"));
}


OOP tylko liznalem w javie, wiec problem moze jest w kolejnosci wywolywania klas, czy da sie zrobic tak, zeby dzialalo wszystko ok, jesli klasy sa powiazane w sposob: mam klasy Auth, Db, Error, Io, Language, Session

Auth korzysta z Db i Io
Io korzysta z Db
Language korzysta z Auth
Session korzysta z DB, Auth

niby w takiej kolejnosci jak wywoluje, to kazda klasa powinna miec to co potrzebuje :/
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 08:55