Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z OOP
Revan
post 13.05.2005, 18:57:21
Post #1





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

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


Witam
Do swojego projektu chce uzyc Smarty i Adodb. Stworzylem sobie klase Core, w ktorej beda wszystkie podstawowe rzeczy, np. ustawienia, cos w tym stylu:

  1. <?php
  2. class Core
  3. {
  4. function UstawUstawienia()
  5. {
  6. # SMARTY
  7. include_once('libs/smarty/Smarty.class.php');
  8. $smarty = new Smarty();
  9. $smarty->template_dir = '/templates';
  10. $smarty->compile_dir = '/templates_c';
  11. # ADODB
  12. include_once('libs/adodb/adodb.inc.php');
  13. $db = NewADOConnection('mysql');
  14. $db->Connect(&#092;"localhost\", \"root\", \"krasnal\", \"frpg\");
  15. }
  16. }
  17. ?>


Teraz w plikach includuje ta klase i z tamtad chce miec dostep do obiektow $smarty i $db, ale "Fatal error: Call to a member function assign() on a non-object in c:\usr\apache\httpd\html\frpg\index.php on line 5". Probowalem przeroznych kombinacji ze slowem public, itp., ale mysle ze nie w tym rzecz. Nie mam juz pomyslu jak zrobic to dobrze.
Go to the top of the page
+Quote Post
ikioloak
post 13.05.2005, 19:10:00
Post #2





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

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


chyba raczej tak powinno byc:
  1. <?php
  2.  
  3. class core
  4. {
  5. public $smarty;
  6. public $db;
  7.  
  8. public function UstawUstawienia()
  9. # SMARTY
  10. include_once('libs/smarty/Smarty.class.php');
  11. $this->smarty = new Smarty();
  12. $this->smarty->template_dir = '/templates';
  13. $this->smarty->compile_dir = '/templates_c';
  14. # ADODB
  15. include_once('libs/adodb/adodb.inc.php');
  16. $this->db = NewADOConnection('mysql');
  17. $this->db->Connect(&#092;"localhost\", \"root\", \"krasnal\", \"frpg\");
  18. }
  19. }
  20.  
  21. ?>
Go to the top of the page
+Quote Post
Revan
post 13.05.2005, 19:36:01
Post #3





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

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


Tego tez juz probowalem:
Fatal error: Call to a member function assign() on a non-object in c:\usr\apache\httpd\html\frpg\index.php on line 5
A wywoluje tak:
  1. <?php
  2. require('libs/core/core.class.php');
  3. $core = new Core;
  4. $core->UstawUstawienia();
  5. $smarty->assign('title', 'Strona glówna Frpg');
  6. $smarty->display('index.tpl');
  7. ?>

Dodanie $core-> przed obiektem $smarty tez nic nie daje.
Go to the top of the page
+Quote Post
ikioloak
post 13.05.2005, 19:49:13
Post #4





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

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


Bo zle sie odwolujesz do $smarty i $db. Sprobuj tak:

  1. <?php
  2.  
  3. require('libs/core/core.class.php');
  4. $core = new Core;
  5. $core->UstawUstawienia();
  6. $core->smarty->assign('title', 'Strona glówna Frpg');
  7. $core->smarty->display('index.tpl');
  8.  
  9. ?>
Go to the top of the page
+Quote Post
Revan
post 13.05.2005, 20:15:37
Post #5





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

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


Aaa...
No, dzieki ;]

(w tym momencie mamy ta sama ilosc postow sleep.gif)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 15:05