Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework]Własny kontroler
Ikky
post
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 1
Dołączył: 5.07.2009

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


Witam od jakiegoś czasu usiłuje zrobić swój własny kontroler który dziedziczył by po zend_controller_action.

Więc tak chce powiedzmy zrobić tak żeby w każdym kontrolerze miał napis test

1) stworzyłem w library/App/Controller/Test.php

  1. <?php
  2. class App_Controller_Test extends Zend_Controller_Action
  3. {
  4.  
  5. public function init()
  6. {
  7. echo "test";
  8. }
  9. }


no i teraz sobie w IndexControllerze zamieniam

Zend_Controller_Action na:

  1. <?php
  2. class IndexController extends App_Controller_Test
  3. {


Wyskakuje mi taki błąd

Fatal error: Class 'App_Controller_Test' not found in /home/users/test/www/application/controllers/IndexController.php on line 2

Co robie źle?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Homiczek
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 23.04.2003

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


Witam

odgrzewam temat bo mam podobny problem.

Na początku powiem że dopiero zaczynam się uczyć Zend'a.

I postanowiłem podpiąć Smarty.

Korzystając z tutoriala jakoś mi się udało (IMG:style_emoticons/default/smile.gif)



Ale chciałbym zrobić, to w ten sposób abym nie musiał w każdym pojedynczym kontrolerze wrzucać kilkunastu linijek inicjalizacyjnych smarty.

A chcę katalog library zenda zostawić w spokoju - tzn nie umieszczać tam własnych klas, aby w razie późniejszych aktualizacji nie zapomnieć tam znowu dodać.

Zrobiłem sobie klasę SmartyController która dziedziczy po Zend_controller_action, i następnie Indexcontroller i resztę dziedziczę po SmartyController....


I jakoś działa, ale chciałbym abym nie musiał w każdym kontrolerze wrzucać require'ów :

CODE
<?php
require('Smarty.php');
require('SmartyController.php');
//class IndexController extends Zend_Controller_Action {
class IndexController extends SmartyController {
function indexAction() {
$this->view->title = "Panel";
}

public function init() {
parent::init();

}
}


Smarty.php to klasy, interfejsy do widoku itp
SmartyControler.php to klasa inicjująca Smarty z konfiguracją katalogów itp

Próbowałem to require'ować w głównym index.php, ale w zależności w którym miejscu to wrzucę, to wyrzuca różne błędy brakujących klas.

Pewnie jest to związane z kolejnością wrzucania klas przez silnik Zenda, a tego niestety nie znam.

Proszę o jakąś podpowiedź jak to obejść.

Pozdrawiam i dziękuję (IMG:style_emoticons/default/smile.gif)
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: 27.12.2025 - 23:58