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

Reply via email to