Hello.

We are working on our new engine in Chillout Development and we choose
to use Symfony 2 for it's base. As a lead programmer i've encountered
a little problem. Not sure if it was somehow discussed here, but i
didn't find any related posts. The case is that sometimes autoloading
handlers recives classnames with leading backslash, which happens
mainly when request comes after calling PHP-level routines (like
call_user_func() etc, that takes place in Dependency Injection
Container). Maybe i just over-thought some things with putting
fully-qualified class names everywhere and leading root backslash, but
preventing from this case isn't a big deal and i believe it won't
break anything. I faced this problem durning developing my Hormon ORM
library so it should also work with Symfony UniversalClassLoader
without any problems with compatibility - i'm attaching patch for such
cases.

This is the example which brought problems for me:

        <service id="chilldev.hormon"
class="\ChillDev\Framework\ChillDevBundle\Hormon\Loader"
constructor="getMap">

The result:

exception 'ErrorException' with message 'Warning: call_user_func()
expects parameter 1 to be a valid callback, class
'\ChillDev\Framework\ChillDevBundle\Hormon\Loader' not found in
/home/wrzasq/public_html/engine/chillout/projects/application/cache/development/applicationProjectContainer.php
line 515' in 
/home/wrzasq/public_html/engine/chillout/library/Symfony/Foundation/Debug/ErrorHandler.php:62
Stack trace:
#0 [internal function]:
Symfony\Foundation\Debug\ErrorHandler->handle(2, 'call_user_func(...',
'/home/wrzasq/pu...', 515, Array)
#1 
/home/wrzasq/public_html/engine/chillout/projects/application/cache/development/applicationProjectContainer.php(515):
call_user_func(Array, 'config/config.p...')
#2 
/home/wrzasq/public_html/engine/chillout/library/Symfony/Components/DependencyInjection/Container.php(203):
applicationProjectContainer->getChilldev_HormonService()
#3 
/home/wrzasq/public_html/engine/chillout/library/ChillDev/Framework/ChillDevBundle/Bundle.php(49):
Symfony\Components\DependencyInjection\Container->getService('chilldev.hormon')
#4 
/home/wrzasq/public_html/engine/chillout/library/Symfony/Foundation/Kernel.php(119):
ChillDev\Framework\ChillDevBundle\Bundle->boot(Object(applicationProjectContainer))
#5 
/home/wrzasq/public_html/engine/chillout/library/Symfony/Foundation/Kernel.php(136):
Symfony\Foundation\Kernel->boot()
#6 
/home/wrzasq/public_html/engine/chillout/library/Symfony/Foundation/Kernel.php(129):
Symfony\Foundation\Kernel->handle()
#7 
/home/wrzasq/public_html/engine/chillout/projects/application/public/index.php(27):
Symfony\Foundation\Kernel->run()
#8 {main}

( class ChillDev\Framework\ChillDevBundle\Hormon\Loader works fine,
but as i wrote this case applies to all calls that comes from within
PHP )

with best regards,
--
Chillout Development, RafaƂ Wrzeszcz

+48 605 071 040

http://wrzasq.pl/, http://chilldev.pl/ - Tworzenie stron i aplikacji
internetowych.

-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google
Groups "symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en

To unsubscribe, reply using "remove me" as the subject.

Attachment: patch
Description: Binary data

Reply via email to