PSR-1 определяет, что имена методов должны быть объявлены в camelCase. А вот что PSR-стандарты никак не регламентируют, это какие символы можно использовать в именах. Обычно для именования используются ASCII-символы, но и вот такой код будет вполне соответствовать PSR-1,2,12 (хотя PHP_CоdeSniffer его и не пропустит):
function имяФункции()А PHP позволяет использовать любые символы, хоть кириллицу, хоть emoji:
{
echo 'Привет, мир!';
}
имяФункции();
https://github.com/Stichoza/phemoji
📅('Y-m-d', ⏰() + 🎰(1000, 2000));
// date('Y-m-d', time() + rand(1000, 2000));
Или можно пробельные символы:function hello World()Или даже пробел нулевой длины:
{
echo 'Hello world!';
}
hello World();
https://twitter.com/pgl/status/1155828747481825281
function ()Копировать отсюда: https://gist.github.com/pronskiy/47adea5952b7af1574c673403b054f28
{
echo 'Zero-width space function name 🤯';
}
();
На идее пробельного символа нулевой длины даже сделана мини-библиотека, которая имитирует синтаксис структуры Tuple из Python https://github.com/p810/tuple/
$tuple = ('hello', 'world');
var_dump($tuple); // => p810\Tuple\Tuple#3 (2) {...}
Шутки шутками, а вот что касается обычных пробелов, то есть старая интересная идея использовать их в именовании тестовых методов:https://mnapoli.fr/using-non-breakable-spaces-in-test-method-names/
public function test a user can add a product to a wishlist()По опыту автора, тогда объявление выглядит как естественное предложение и тест легче воспринимать и написать. Ну а поскольку вызывать их явно обычно не приходится, то особых неудобств это не должно доставлять.
{
// ...
}