Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Can't name a bean type "bean", there is a PDO error.
Comment | File | Size | Author |
---|---|---|---|
#2 | 1728632-bean_type_class_fix-2.patch | 488 bytes | donutdan4114 |
Comments
Comment #1
jaydub CreditAttribution: jaydub commentedIt looks like the bean type (machine name for bean) can't be 'bean' because the callback (bean_type_load()) to check if the bean type is a valid machine name in turn calls bean_load_plugin_class($type) which after some logic attempts to instantiate a class using the machine name as an argument. This results for me in the error:
Error: Cannot instantiate abstract class BeanPlugin in /opt/www/tng-fresh/sites/all/modules/contrib/bean/bean.module, line 346
I suppose some additional validation could be put in there to get around this but I'm not sure what other protected bean names, if any, would have to be added. For now the obvious workaround is to not use a machine name for your bean of 'bean' :)
Comment #2
donutdan4114 CreditAttribution: donutdan4114 commentedCheck to see if the class can be instantiated.
Comment #3
saltednutI'm fine with 'bean' being protected. This is a nice solution.
-- http://drupalcode.org/project/bean.git/commit/3227c5a