Saya menggunakan Symfony 4.3.8 dan saya tidak dapat menemukan informasi tentang penghentian mereka:
Penghentian Pengguna: Membuat Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy tanpa membuatnya sadar nomor sudah ditinggalkan dan akan dihapus di Doctrine ORM 3.0.
Membuat Doctrine \ ORM \ Mapping \ UnderscoreNamingStrategy tanpa membuatnya sadar nomor sudah usang dan akan dihapus di Doctrine ORM 3.0.
Saya mencari di stacktrace dan menemukan ini:
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;
}
Di kelas ini, konstruktor selalu dipanggil tanpa params, jadi $ numberAware selalu salah.
Kelas ini disebut dalam file yang telah dibuat secara otomatis oleh Symfony Dependency Injection, jadi saya tidak dapat "mengedit" itu ...
Saya pikir mungkin itu ada di doctrine.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
Tapi saya belum menemukan opsi untuk mengizinkan nomor tersebut menyadari :(