-
Notifications
You must be signed in to change notification settings - Fork 27
Open
Description
My current module has a preference over a class set on the di.xml file.
I'm using the factory on the constructor of a overwrite.
When using a method that only exists on the overwrited class that is created through the Factory, PHPStan reports the method as not existent.
di.xml
<preference for="Magento\Framework\View\Result\Page" type="ClassA" />
<preference for="Magento\Framework\View\Page\Config\Renderer" type="ClassB" />
Class with factory on constructor:
class ClassA extends Magento\Framework\View\Result\Page {
public function __construct(
....
classBFactory $pageConfigRendererFactory
) {
...
parent::__construct(.... );
}
public function overwritenFunction( .... ) {
....
$this->pageConfigRenderer->onlyOnThisClassMethod();
....
}
Class B:
class ClassB extends \Magento\Framework\View\Page\Config\Renderer
{
public function onlyOnThisClassMethod() { .... }
}
This is reported as:
Call to an undefined method Magento\\Framework\\View\\Page\\Config\\RendererInterface::renderExtraFooter()
Complete code has been tested and battle proven on production, so it works as expected.
For now I'm just ignoring the issue reported.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels