Длинные имена в phalconphp

phalconphp long names foldersВ документации, как обычно, все примеры для простых случаев. В реальной же жизни, когда сайт не трехстраничный, короткими и простыми именами обходиться не получается. Как же формировать имена файлов и папок в сложных случаях?

В документации ведь как? — модуль blog, контроллер posts, действие show
контроллер в файле blog/controllers/PostsController.php
модель — blog/models/Posts.php на таблицу posts
представление — (view) blog/views/posts/show.volt

А у нас, к примеру — таблица vip users, нужна модель для этой таблицы, и контроллер
action в этом контроллере хотим назвать как short info.
Путем экспериментов выяснились точные правила наименования в phalconphp
Таблицу назовем vip_users, используем нижнее подчеркивание для разделения слов, это не является правилом наименования — такое именование таблиц — это личное предпочтение.
Напрямую с именем таблицы из phalconphp нам работать не придется, в модели задается соответствие имени таблицы в методе getSource, поэтому железного правила нет.
joined tablesГлавный и, думаю, что весомый аргумент у меня в пользу under_score нотации в этом случае — phpmyadmin умеет красиво группировать таблицы по первому слову в названии 🙂
Файл модели надо назвать в CamelCase нотации VipUsers.php, как и контроллер VipUsersController.php, это явное требование фалькона.
Action в контроллере пишем тоже в camelCase нотации — первое слово с маленькой буквы для методов — shortInfo.
Файл представления для модели также называем shortInfo.volt, как и имя метода в контроллере.
Осталось только назвать папочку, в которой будет лежать shortInfo.volt, и вот тут очень интересный момент. Папка представлений для контроллера придется писать в under_score нотации vip_users. Именно этот факт меня убедил, что называть таблицы в БД проекта в under_score нотации не будет идти вразрез с общей идеологией phalconphp.
Стоит упомянуть так же, что если вы сторонник автоматической маршрутизации и хотите красивый url к этому action, красивый — это /vip-users/short-info/, то маршруты придется либо прописывать вручную, либо задать правило конвертации для маршрутов (см. метод convert() в разделе Routing документации).
Либо не париться и задать url в верблюжьей нотации, как /vipUsers/shortInfo/, в этом случае работает автоматическая маршрутизация.
В случае многосложного имени домена, состоящего из нескольких слов без разделителей, к примеру blueFilters — такие домены чаще всего упоминают в верблюжьей нотации для лучшего восприятия. И urlы для такого домена в той же верблюжьей нотации будут выглядеть очень гармонично.
Лично я предпочитаю максимально явно прописывать все маршруты в силу очень весомых объективных причин, связанных с ранжированием в поисковиках. И предпочитаю максимально упрощать видимые для пользователей адреса.