Ich verwende Symfony 4.3.8 und kann keine Informationen zu diesen Verwerfungen finden:
Veralteter Benutzer: Das Erstellen von Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy, ohne dass die Nummer bekannt gegeben wird, ist veraltet und wird in Doctrine ORM 3.0 entfernt.
Das Erstellen von Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy ohne Bekanntgabe der Nummer ist veraltet und wird in Doctrine ORM 3.0 entfernt.
Ich habe in Stacktrace gesucht und Folgendes gefunden:
class UnderscoreNamingStrategy implements NamingStrategy
{
private const DEFAULT_PATTERN = '/(?<=[a-z])([A-Z])/';
private const NUMBER_AWARE_PATTERN = '/(?<=[a-z0-9])([A-Z])/';
/**
* Underscore naming strategy construct.
*
* @param int $case CASE_LOWER | CASE_UPPER
*/
public function __construct($case = CASE_LOWER, bool $numberAware = false)
{
if (! $numberAware) {
@trigger_error(
'Creating ' . self::class . ' without making it number aware is deprecated and will be removed in Doctrine ORM 3.0.',
E_USER_DEPRECATED
);
}
$this->case = $case;
$this->pattern = $numberAware ? self::NUMBER_AWARE_PATTERN : self::DEFAULT_PATTERN;
}
In dieser Klasse wird der Konstruktor immer ohne Parameter aufgerufen, daher ist $ numberAware immer falsch.
Diese Klasse wird in einer Datei aufgerufen, die von der Symfony Dependency Injection automatisch generiert wurde, sodass ich sie nicht "bearbeiten" kann ...
Ich dachte, vielleicht war es in der Lehre. Yaml:
doctrine:
orm:
auto_generate_proxy_classes: true
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
Ich habe jedoch keine Option gefunden, um die Nummer bekannt zu machen :(