Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [kohana] kontroller w bibliotece - coś mi nawala
aladin07
post
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 22.07.2007

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


wedle manula powinienem robic to nastepujaco :

plik application/libraries/MY_Controller.php
Kod
<?php

class Controller extends Controller_Core {

  public function __construct(){

     parent::__construct();
    
  }
  public function do_echo(){
      echo 'test';
  }
}
?>


nastepnie inny plik kontrolera
application/controllers/main.php :
Kod
<?php
class Main_Controller extends Controller {
    
    public function __construct()
    {
        parent::__construct();
        
    }
    public function index()
    {
        // czyli tutaj jest jak sadze odpowiednie odwolanie do tej metody
                // z kontrolera bedacego biblioteka no ale cos lipa
        parent::do_echo();
    }
}  
?>



dodatkowo mam w application/config/config.php :
Kod
...
'extension_prefix'     => 'MY_',
...


no ale i tak dostaje wowczas taki oto komunikat :
Kod
Fatal error: Call to undefined method Controller::do_echo() in /mydomain/kohana/application/controllers/main.php on line ....


takze cos jest nie tak i szczerze nie wiem jak to ugryzc
Go to the top of the page
+Quote Post
grzesiek_g
post
Post #2





Grupa: Zarejestrowani
Postów: 249
Pomógł: 30
Dołączył: 18.07.2007

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


A spróbuj poprzez this, a nie parent. Mogę się mylić, ale podobnie robiłem kiedyś w CI.
Go to the top of the page
+Quote Post
aladin07
post
Post #3





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 22.07.2007

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


jak daje

Kod
$this->controller = new Controller;
$this->do_echo();


to dostaje

Cytat
Błąd aplikacji

Proszę sprawdzić w dokumentacji Kohana informacje o tym błędzie.

Wyłącznie jedna instancja Kohana może być na jedno wywołanie strony.

Wystąpił błąd w lini 55 z system/core/Kohana.php.

Czas wywołania: 0.0355 sekund, użyto 0.73MB pamięci. Wygenerowano przez Kohana v2.0.


takze tez cos nie tak (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
grzesiek_g
post
Post #4





Grupa: Zarejestrowani
Postów: 249
Pomógł: 30
Dołączył: 18.07.2007

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


Ale mi chodziło o to by zamienić tylko:
  1. <?php
  2. parent::do_echo();
  3. //na 
  4. $this->do_echo();
  5. ?>
Go to the top of the page
+Quote Post
aladin07
post
Post #5





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 22.07.2007

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


no to chyba tedy nie droga bo wtedy dostaje :

Kod
Fatal error: Call to undefined method Main_Controller::sth() in /mydomain/kohana/application/controllers/main.php on line 18


takze widac ze wtedy to juz szuka tej metody w kontrolerze ktory ja wywoluje
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #6





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Co Ty kombinujesz?

  1. <?php
  2. public function index()
  3. {
  4. // czyli tutaj jest jak sadze odpowiednie odwolanie do tej metody
  5. // z kontrolera bedacego biblioteka no ale cos lipa
  6.  // parent::do_echo();
  7. $this->do_echo();
  8. }
  9. ?>

Jeśli to nie działa, to coś skopałeś, gdzieś indziej.
Go to the top of the page
+Quote Post
aladin07
post
Post #7





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 22.07.2007

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


ano kombinuje bo nie dziala i nie wiem co
jakbym wiedzial to bym nie pytal - potrzebuje pomocy i tyle

staralem sie w miare jasno okreslic o co mi chodzi, co mam
nie wiem co mogloby mojego ewentualnego wybawce naprowadzic
co jest nie tak

moge cos dookreslic jesli trzeba ale sam nie wiem co trzeba jeszcze
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #8





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Napisz raz jeszcze kod klasy i skrypt, który uruchamiasz.
Go to the top of the page
+Quote Post
aladin07
post
Post #9





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 22.07.2007

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


application/libraries/MY_Controller.php
czyli jest to plik kontrolera ktorego metody chce aby byly dostepne w kazdym innym kontrolerze
to tak wg http://doc.kohanaphp.com/general/controlle...our_application
Kod
<?php

class Controller extends Controller_Core {

  public function __construct(){

     parent::__construct();
    
  }
  public function do_echo(){
      echo 'test';
  }
}
?>


a to plik kontrolera z ktorego dla przykladu chce wywolac ta metode ( tutaj konkretnie do_echo() )
application/controllers/main.php :
Kod
<?php
class Main_Controller extends Controller {
    
    public function __construct()
    {
        parent::__construct();
        
    }
    public function index()
    {
        
        parent::do_echo();
    }
}  
?>


wycinki application/config/config.php
Kod
$config = array
(
    'site_domain'          => 'mydomain/kohana/',
    'site_protocol'        => 'http',
    'index_page'           => '',
    'url_suffix'           => '',
    'allow_config_set'     => FALSE,
    'global_xss_filtering' => FALSE,
    'extension_prefix'     => 'MY_',
    'include_paths'        => array
    (
    ),



no i wola scislosci samo wywolanie
http://mydomain/kohana/main/

dodam ze przepisywanie adresow dziala bo juz mam bardziej zlozony kontroler i wszystko dziala wiec
nie upatruje w tym ewentualnej blednej konfiguracji - ale kto wie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

sam sobie odpowiem ale moze dla potomnych bedzie

otoz wszystko co powyzej bylo napisane dziala jak najbardziej
ale jednak nie na moim hostingu - cal.pl - na kilku innych bez najmniejszego problemu
w zwiazku z tym ze admin ma mnie gdzies i nie chce pomoc
to przyszedl czas sie z nim pozegnac

pozdrawiam i dzieki wszystkim za pomoc
Go to the top of the page
+Quote Post

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: 23.08.2025 - 14:19