adrenalinkin/doctrine-naming-strategy

Camel Case Doctrine ORM naming strategy

v3.0.0 2024-03-24 19:40 UTC

This package is auto-updated.

Last update: 2024-12-24 21:17:50 UTC


README

PHPUnit Coverage Status Latest Stable Version Total Downloads

Introduction

Component contains Doctrine CamelCase naming strategy.

Installation

Open a command console, enter your project directory and execute the following command to download the latest stable version of this component:

    composer require adrenalinkin/doctrine-naming-strategy

This command requires you to have Composer install globally.

Usage

For registration new naming strategy you should use manual from the official Doctrine documentation Implementing a NamingStrategy.

<?php declare(strict_types=1);
$namingStrategy = new \Linkin\Component\DoctrineNamingStrategy\ORM\Mapping\CamelCaseNamingStrategy();
/** @var \Doctrine\ORM\Configuration $configuration */
$configuration->setNamingStrategy($namingStrategy);

In that case, when you use Doctrine as part of the Symfony Framework - you should look into appropriated part of the DoctrineBundle documentation: Configuration Reference.

# Register CamelCaseNamingStrategy as service
services:
    Linkin\Component\DoctrineNamingStrategy\ORM\Mapping\CamelCaseNamingStrategy:
        class: Linkin\Component\DoctrineNamingStrategy\ORM\Mapping\CamelCaseNamingStrategy

doctrine:
    orm:
        naming_strategy: Linkin\Component\DoctrineNamingStrategy\ORM\Mapping\CamelCaseNamingStrategy

How will the generated SQL change?

To demonstrate difference let's take association example entities from the official Doctrine documentation

Compare DefaultNamingStrategy and CamelCaseNamingStrategy

Compare

Raw SQL for different strategies

License

license