Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't omit the "callable" argument type hint when generating methods #2026

Merged
merged 1 commit into from
Mar 2, 2016
Merged

Don't omit the "callable" argument type hint when generating methods #2026

merged 1 commit into from
Mar 2, 2016

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.

None yet

10 participants