Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [kohana] kontroller w bibliotece - coś mi nawala
Forum PHP.pl > Forum > PHP > Frameworki
aladin07
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
grzesiek_g
A spróbuj poprzez this, a nie parent. Mogę się mylić, ale podobnie robiłem kiedyś w CI.
aladin07
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 sad.gif
grzesiek_g
Ale mi chodziło o to by zamienić tylko:
  1. <?php
  2. parent::do_echo();
  3. //na 
  4. $this->do_echo();
  5. ?>
aladin07
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
Cysiaczek
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.
aladin07
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
Cysiaczek
Napisz raz jeszcze kod klasy i skrypt, który uruchamiasz.
aladin07
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 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
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.