Skip to content

Conversation

nevvermind
Copy link
Contributor

When I enabled the profiler, I got an exception:

Strict Notice: Declaration of Magento\Widget\Model\Template\Filter\Logger::setTemplateProcessor() should be compatible with Magento\Framework\Filter\Template::setTemplateProcessor(callable $callback) in /vagrant/var/generation/Magento/Widget/Model/Template/Filter/Logger.php on line 398
#0 /vagrant/lib/internal/Magento/Framework/Code/Generator.php(121): Magento\Framework\App\ErrorHandler->handler(2048, 'Declaration of ...', '/vagrant/var/ge...', 398, Array)
#1 /vagrant/lib/internal/Magento/Framework/Code/Generator.php(121): Magento\Framework\Code\Generator::includeFile()
#2 /vagrant/lib/internal/Magento/Framework/Code/Generator.php(110): Magento\Framework\Code\Generator->includeFile('/vagrant/var/ge...')
#3 /vagrant/lib/internal/Magento/Framework/Code/Generator/Autoloader.php(35): Magento\Framework\Code\Generator->generateClass('Magento\\Widget\\...')
#4 [internal function]: Magento\Framework\Code\Generator\Autoloader->load('Magento\\Widget\\...')
#5 /vagrant/lib/internal/Magento/Framework/ObjectManager/Profiler/FactoryDecorator.php(55): spl_autoload_call('Magento\\Widget\\...')
#6 /vagrant/lib/internal/Magento/Framework/ObjectManager/ObjectManager.php(71): Magento\Framework\ObjectManager\Profiler\FactoryDecorator->create('Magento\\Widget\\...')
#7 /vagrant/app/code/Magento/Cms/Model/Template/FilterProvider.php(58): Magento\Framework\ObjectManager\ObjectManager->get('Magento\\Widget\\...')
#8 /vagrant/app/code/Magento/Cms/Model/Template/FilterProvider.php(82): Magento\Cms\Model\Template\FilterProvider->_getFilterInstance('Magento\\Widget\\...')
#9 [internal function]: Magento\Cms\Model\Template\FilterProvider->getPageFilter()
#10 /vagrant/var/generation/Magento/Cms/Model/Template/FilterProvider/Logger.php(39): call_user_func_array(Array, Array)
#11 /vagrant/var/generation/Magento/Cms/Model/Template/FilterProvider/Logger.php(81): Magento\Cms\Model\Template\FilterProvider\Logger->_invoke('getPageFilter', Array)
...

Then I realised that the generated code completely omits the callable type hint of an argument, so - say - Proxies wrapping such a method would trigger an exception. Also, as you can see, profile Logger generation fails, too.

@nevvermind nevvermind changed the title Don't omit the "callable" arg type hint when generating methods Don't omit the "callable" argument type hint when generating methods Oct 5, 2015
@sshrewz
Copy link

sshrewz commented Feb 29, 2016

Thank you for submitting your pull request. We have created internal ticket - MAGETWO-49877

@sshrewz sshrewz added the Issue: Ready for Work Gate 4. Acknowledged. Issue is added to backlog and ready for development label Feb 29, 2016
@okorshenko okorshenko assigned okorshenko and unassigned joanhe Feb 29, 2016
@magento-team magento-team merged commit 2d4a99c into magento:develop Mar 2, 2016
@adragus-inviqa
Copy link
Contributor

Yeah, stumbled on that one, too (creating \Magento\Framework\Filter\Template\Proxy). I'm not sure. It says it's in progress. Who knows...

@ntoombs19
Copy link

I ran into this yesterday when creating a plugin for \Magento\Cms\Model\Template\Filter.

@okorshenko Any idea when the fix for this issue will be released?

@nevvermind nevvermind deleted the generate-callable-type-hint branch April 29, 2016 19:28
@nevvermind
Copy link
Contributor Author

nevvermind commented Apr 29, 2016

Seriously, people. Release this already. You're basically stopping us from using callbacks.

It's 2 lines of code. Since october. Last year.

@piotrekkaminski
Copy link
Contributor

It will be available in 2.1. It is already merged and should be visible in develop/master branch.

@ntoombs19
Copy link

@piotrekkaminski Thank's for the update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue: Ready for Work Gate 4. Acknowledged. Issue is added to backlog and ready for development Progress: accept
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants