class SomeController extends Controller
{
public function actionIndex() {
echo 'This is some controller';
}
}
class AnotherController extends SomeController
{
public function actionIndex() {
echo 'This is another controller';
}
}
यह काम करता है:Yii - कस्टम नियंत्रक कक्षा से इनहेरिट - नहीं मिला
index.php?r=some
लेकिन ...
index.php?r=another
का कहना है:
फ़ाइलों केपीएचपी चेतावनी
में शामिल हैं (SomeController.php): स्ट्रीम को खोलने में विफल: ऐसा कोई फ़ाइल या निर्देशिका
दोनों
test\protected\controllers\
BTW अतीत मैं भी जीआईआई नियंत्रक जेनरेटर के साथ उपयोग करने की कोशिश में
में हैं आधार वर्ग के रूप में "SomeController" ...
यह कहा:
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!
जब मैं पर क्लिक किया कि यह "यह अब कोशिश" यह भी कहा:
पीएचपी चेतावनी
में शामिल हैं (SomeController.php): स्ट्रीम को खोलने में विफल: ऐसा कोई फ़ाइल या निर्देशिका
हाँ यह \ संरक्षित \ नियंत्रकों \ SomeController.php बीटीडब्ल्यू में है जैसे मैंने कहा "http: //localhost/yii/testapp/index.php? R = कुछ" काम करता है ... लेकिन जीआईआई "YetAnotherController.php" (अनुक्रमणिका .php? r = yetAnother) और मेरा "AnotherController.php" (index.php? r = अन्य) अपनी बेस क्लास (SomeController.php) के बारे में त्रुटियां देता है। ऐसा लगता है कि जब यह बेस क्लास है तो कुछ कंट्रोलर.एफ़.पी. की ऑटोलोडिंग के साथ समस्या हो रही है, लेकिन अगर मैं index.php का उपयोग कर रहा हूं तो यह ठीक काम करता है? R = कुछ। साथ ही मुझे एक ही त्रुटि मिल रही है जब मैं एक नियंत्रक के भीतर Post.php का संदर्भ दे रहा हूं ... यह मॉडल/Post.php में है ... –
ओह ठीक है, तो क्या आप यूआरएल से बेस कंट्रोलर तक पहुंचेंगे? या यह सिर्फ एक बेस क्लास है, और आप इसे केवल इस तरह इस्तेमाल करना चाहते हैं? –
मैं सोच रहा था कि क्या मैं दोनों कर सकता हूं? –