Why "aCase" rather than "Case" in modules.php?

Hello everyone,
    I am using SugarCRM 6.5.x CE version. I want to ask this question to everyone from official SugarCRM personals to everyone who uses SugarCRM in a daily life. In include/modules.php file why did they mentioned
$beanList['Cases'] = 'aCase';
rather than
$beanList['Cases'] = 'Case';
this, like any other modules mentioned in that file?
  • "case" is a reserved PHP keyword. I guess this is the reason why SugarCRM engineers couldn't  use this as a module name.
  • Yeah, but here in modules.php, 'aCase' is passing as a string. I think we can use reserved keyword in a string. Otherwise, programmers life would be disaster. Am I right?
  • Case is a reserved keyword

    As for its usage as a string... Yes, we can use the reserved keywords in a string but thats not the only reference.

    We cannot name the module class name as "Case". We also then cant instantiate the class using new Case();


  •     Thank you for explanation. Basically there is a reason behind all this. I have added 'file upload' field in case module and it was working. But it didn't let me to download that uploaded file. It was giving me "Type not valid" error. When i checked into download.php, i understood that, it was looking for "aCase.php" file in modules/Cases directory. So, I added some conditions in download.php file for case module. So, now it's working. I know that it's not upgrade safe. But thats what I want to highlight here. I mean for Case module, there should be some conditions in download.php file, so we can download that uploaded file like we do in document of note module.
        Once again thanks for explanation. I appreciate.