Ada beberapa kata yang tidak bisa Anda gunakan untuk nama kelas.
Pada dasarnya kata-kata php dilindungi undang-undang seperti new
, public
, static
, ...
Untuk mengatasinya dan masih memungkinkan kata-kata ini di url, Magento menambahkan akhiran Action
ketika kelas diisi secara otomatis.
Ini berarti new
memetakan ke NewAction.php
, public
untuk PublicAction.php
.
Anda dapat menemukan di kelas \Magento\Framework\App\Router\ActionList
(cabang 2.3) daftar kata yang memiliki perilaku ini.
protected $reservedWords = [
'abstract', 'and', 'array', 'as', 'break', 'callable', 'case', 'catch', 'class', 'clone', 'const',
'continue', 'declare', 'default', 'die', 'do', 'echo', 'else', 'elseif', 'empty', 'enddeclare',
'endfor', 'endforeach', 'endif', 'endswitch', 'endwhile', 'eval', 'exit', 'extends', 'final',
'for', 'foreach', 'function', 'global', 'goto', 'if', 'implements', 'include', 'instanceof',
'insteadof','interface', 'isset', 'list', 'namespace', 'new', 'or', 'print', 'private', 'protected',
'public', 'require', 'return', 'static', 'switch', 'throw', 'trait', 'try', 'unset', 'use', 'var',
'while', 'xor',
];
dan di sini adalah kode yang berubah new
menjadi NewAction
.