Search code examples
phpdoctrine-ormyamlsymfony-1.4orangehrm

Orangehrm: User defined class not found


I wrote a list cell filter class and put it in component directory of the core plugin orangehrm:

...\orangehrm-3.3.3\symfony\plugins\orangehrmCorePlugin\lib\component\MyCellFilter.php

but when referencing the filter in lists it dose not work

I checked the orangehrm log and the error message says:

PHP Fatal error: Class 'MyCellFilter' not found

Could someone tell me where and how to define this filter class?


Solution

  • The autoloader in Symfony 1.4 looks for class files with a *.class.php extension by default.

    Change the filename to MyCellFilter.class.php and then clear the symfony cache with the php symfony cc command at the root of the project, or manually delete the files in the cache folder (not required in the dev environment, the cache is recreated on every request).

    After the next request, you can verify that the class was autoloaded by looking for it in cache/project_autoload.cache and also check for the class path in the cache/your_app/config/config_autoload.yml.php file.