uuid: - value: 2258201f-7beb-4b2a-8a52-ea31c09de73f langcode: - value: en type: - target_id: daily_email target_type: node_type target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7 revision_timestamp: - value: '2025-05-11T09:00:44+00:00' revision_uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 revision_log: { } status: - value: true uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 title: - value: | Camel-case or snake-case for Drupal code? created: - value: '2023-04-19T00:00:00+00:00' changed: - value: '2025-05-11T09:00:44+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2023/04/19/camel-case-or-snake-case-for-drupal-code langcode: en body: - value: |

For some time, Drupal's PHP coding standards allows for writing variables in either snake-case (e.g. $my_variable) or lower camel-case (e.g. $myVariable).

It originally only allowed for snake-case variable names but once it accepted both, I switched to camel-case as my default.

Why? I didn't like the inconsistency of using one approach for variable names and one for method and property names in PHP classes (which were always camel-case).

I'd have had code like this with a mixture of both:

class MyClass {

        private EntityTypeManagerInterface $entityTypeManager;

        public function __construct(EntityTypeManagerInterface $entity_type_manager) {
          $this->entityTypeManager = $entity_type_manager;
        }

      }
      

Or even more simply:

$entity_type_manager = \Drupal::entityTypeManager();
      

I prefer not to have to consistently think about which to use and, if possible, like to use standard approaches in different codebases whether I'm working on a Drupal project, a Symfony project, or a PHP library.

Plus, I get to use new PHP features like promoted constructor properties if everything is named in the same format.

format: full_html processed: |

For some time, Drupal's PHP coding standards allows for writing variables in either snake-case (e.g. $my_variable) or lower camel-case (e.g. $myVariable).

It originally only allowed for snake-case variable names but once it accepted both, I switched to camel-case as my default.

Why? I didn't like the inconsistency of using one approach for variable names and one for method and property names in PHP classes (which were always camel-case).

I'd have had code like this with a mixture of both:

class MyClass {

        private EntityTypeManagerInterface $entityTypeManager;

        public function __construct(EntityTypeManagerInterface $entity_type_manager) {
          $this->entityTypeManager = $entity_type_manager;
        }

      }
      

Or even more simply:

$entity_type_manager = \Drupal::entityTypeManager();
      

I prefer not to have to consistently think about which to use and, if possible, like to use standard approaches in different codebases whether I'm working on a Drupal project, a Symfony project, or a PHP library.

Plus, I get to use new PHP features like promoted constructor properties if everything is named in the same format.

summary: null field_daily_email_cta: { }