Константы - неизменяемые значения, определяемые один раз.
const VERSION = '1.0'; // compile-time
define('API_KEY', 'abc'); // runtime
Различия:
const работает на этапе компиляции, нельзя использовать внутри if, циклов, функцийdefine() - runtime-функция, работает в любом местеconst можно использовать в классах, define() - нетconst поддерживает только скалярные выражения и массивыdefine() может принимать результат функцииС PHP 8.3 появились типизированные константы классов:
class Config {
const string VERSION = '2.0';
}