Symfony2, Inheritance in same namespace but different file -
since week i'm in love symfony2. i've feedbackmessagebundle: src/erwine/feedbackmessagebundle
.
i set custom classes project in: src/erwine/feedbackmessagebundle/feedbackmessage
.
all classes has same namespace: erwine\feedbackmessagebundle\feedbackmessage
.
i've several implementations in different files. let's say: - feedbackmessageclassone
- feedbackmessageclasstwo
- feedbackmessageclassthree
the first 1 lives in own file. if 2 extends 1 got failure. i've tried use...
etc.
two , 3 lives twins in same file. if 3 inherits two, works. instance of 1 in controller no problem.
it seems me, inheritance of classes in same namespace in different files doesn't work. no, no, no, course of study not, wrong. isn't it? what? autoloading in symfony2 custom classes?
i using composer dependencies.
update here implementation:
<?php namespace erwine\feedbackmessagebundle\feedbackmessage; class feedbackmessagehandlerimpl extends feedbackmessagehandlerimpltwee { public function __construct() { //var_dump('constructed'); //parent::__construct(); } //public function getfeedbackmessagegeneraloverride(){}; }
provided autoloading set correctly, should this:
folder structure:
src/ erwine/ feedbackmessagebundle/ feedbackmessage/ feedbackmessageclassone.php feedbackmessageclasstwo.php feedbackmessageclassthree.php
feedbackmessageclassone.php:
<?php namespace erwine\feedbackmessagebundle\feedbackmessage; class feedbackmessageclassone { // contents of class... }
feedbackmessageclasstwo.php:
<?php namespace erwine\feedbackmessagebundle\feedbackmessage; class feedbackmessageclasstwo extends feedbackmessageclassone { // contents of class... }
you shouldn't need use
statement extend in sec file file resides in same namespace, hence defining same namespace in sec class, able utilize first class without utilize statement.
make sure autoloading set properly.
it's of import maintain every class in separate file, , name files same classes.
this because symfony uses psr-0 default if you're using composer autoloader. go here read more psr-0
symfony2 inheritance namespaces
No comments:
Post a Comment