Hi,
I have a strange behaviour and I wonder if anybody can tell me, how
this can be solved.
The problem is, that on my server, I have the following entry in my
autoloac_config_yml.php:
'baseformfilterdoctrine' => '/var/www/jaduda/lib/plugins/
sfDoctrinePlugin/data/generator/sfDoctrineFormFilter/default/template/
sfDoctrineFormFilterBaseTemplate.php',
That means he searches for the BaseFormFilterDoctrine class in the
template file and that ends up in a mess and the page not being
displayed.
On my local development computer this works fine. Here I have the
correct line:
'baseformfilterdoctrine' => '/var/www/jaduda/lib/filter/doctrine/
BaseFormFilterDoctrine.class.php',
So why do I have different results with the same code on different
computers?
I did some researches and found out, that maybe the order of the
files, where symfony looks for the classes is important.
Executing the command
grep -r "BaseFormFilterDoctrine extends" * | grep class
on my server, I get the following result:
lib/filter/BaseFormFilterDoctrine.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine
lib/filter/doctrine/StampSheetFormFilter.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/StampFormFilter.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/ProfileAttributeValueFormFilter.class.php:abstract
class BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/QuestionAnswerFormFilter.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/QuestionFormFilter.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/BaseFormFilterDoctrine.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine
lib/filter/doctrine/ProfileAttributeFormFilter.class.php:abstract
class BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/ProfileActivityFormFilter.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/
QuestionAnswerCharacteristicFormFilter.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/
doctrine/BaseFormFilterDoctrine.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine
lib/plugins/sfDoctrinePlugin/data/generator/sfDoctrineFormFilter/
default/template/sfDoctrineFormFilterBaseTemplate.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine
So the template file sfDoctrineFormFilterBaseTemplate.php is the last
to be found and therefor it is written in the config_autoload.yml.php
On my development computer, the output is in the different order
(files in the plugins folder are first, filter folder files follow):
lib/plugins/sfDoctrinePlugin/data/generator/sfDoctrineFormFilter/
default/template/sfDoctrineFormFilterBaseTemplate.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine
lib/plugins/sfDoctrinePlugin/test/functional/fixtures/lib/filter/
doctrine/BaseFormFilterDoctrine.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine
lib/filter/BaseFormFilterDoctrine.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine
lib/filter/doctrine/QuestionAnswerFormFilter.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/QuestionFormFilter.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/
QuestionAnswerCharacteristicFormFilter.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/ProfileActivityFormFilter.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/ProfileAttributeValueFormFilter.class.php:abstract
class BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/StampFormFilter.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/StampSheetFormFilter.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/ProfileAttributeFormFilter.class.php:abstract
class BaseFormFilterDoctrine extends sfFormFilterDoctrine {
lib/filter/doctrine/BaseFormFilterDoctrine.class.php:abstract class
BaseFormFilterDoctrine extends sfFormFilterDoctrine
That means that the sfDoctrineFormFilterBaseTemplate is found first
and will be overwritten at the end by lib/filter/doctrine/
BaseFormFilterDoctrine.class.php
Did you get my point?
The question is: How can I tell symfony to take the real one, and not
the template class. Or, how can I prevent symfony from taking Template
classes for the autoload file.
I hope you understood what I mean.
Thanks for your help.
Roman
--
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 users" 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-users?hl=en