class SomeController extends Controller
{
public function actionIndex() {
echo 'This is some controller';
}
}
class AnotherController extends SomeController
{
public function actionIndex() {
echo 'This is another controller';
}
}
to działa:Yii - dziedziczenie z klasy niestandardowej kontrolera - Not Found
index.php?r=some
ale ...
index.php?r=another
mówi:
ostrzeżenie PHP
include (SomeController.php): failed to open stream: Nie ma takiego pliku lub katalogu
Oba pliki są w
test\protected\controllers\
BTW w przeszłości próbował również przy użyciu Generatora Gii Kontroler z „SomeController” jako klasy bazowej ...
mówi:
The controller has been generated successfully. You may try it now.
Generating code using template
"C:\xampp\htdocs\yii\framework\gii\generators\controller\templates\default"...
generated controllers\YetAnotherController.php
generated views\yetAnother\index.php
done!
po kliknięciu na „spróbuj teraz” go również powiedział:
ostrzeżenie PHP
include (SomeController.php): failed to open stream: Nie ma takiego pliku lub katalogu
Tak, jest w \ protected \ controllers \ SomeController.php BTW jak powiedziałem "http: //localhost/yii/testapp/index.php? R = some" works ... Ale Gii's "YetAnotherController.php" (index .php? r = yetAnother) i mój "AnotherController.php" (index.php? r = another) daje błędy dotyczące ich klasy bazowej (SomeController.php). Wydaje się, że jest problem z automatycznym ładowaniem SomeController.php, gdy jest to klasa podstawowa, ale działa dobrze, jeśli używam index.php? R = some. Również otrzymuję ten sam błąd, gdy odwołuję się do Post.php w kontrolerze ... to jest w modelach/Post.php ... –
oh ok, to czy będziesz uzyskiwać dostęp do kontrolera podstawowego z adresu URL? czy jest to tylko klasa bazowa i chcesz go używać tylko jako takiego? –
Zastanawiałem się, czy mogę zrobić oba? –