codememory / framework
Codememory framework
Installs: 26
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=8.0
- ext-ctype: *
- ext-iconv: *
- ext-pdo: *
- ext-redis: *
- ext-xhprof: *
- codememory/asset: ^1.0
- codememory/caching: ^1.1
- codememory/config: 2.0
- codememory/database-pack: ^1.1
- codememory/date-time: ^1.0
- codememory/environment: ^1.0
- codememory/event-dispatcher: ^1.0
- codememory/finder: ^1.1
- codememory/fs: ^1.1
- codememory/global-config: ^1.1
- codememory/http-foundation: ^2.2
- codememory/json-parser: ^1.0
- codememory/logging: 2.1
- codememory/mailer: ^1.0
- codememory/markup: ^2.0
- codememory/profiling: ^2.0
- codememory/redis: ^1.0
- codememory/routing: ^1.3
- codememory/service-provider: ^1.0
- codememory/services: ^1.0
- codememory/support: ^1.2
- codememory/toolbar: ^1.0
- codememory/translator: ^1.1
- codememory/unit-conversion: ^2.0
- codememory/validator: ^1.3
- codememory/view: ^1.0
- illuminate/collections: ^8.58
- mcaskill/composer-exclude-files: ^2.0
- twig/twig: ^3.3
Requires (Dev)
- symfony/var-dumper: ^5.3
README
Создание проекта
composer create-project codememory/framework ./
Ссылки на разделы
Структура папок
│ ── .config
│ ── app
│ │ ── Controller
│ │ ── Events
│ │ ── Listeners
│ │ ── Models
│ │ ── Orm
│ │ │ ── Entities
│ │ │ ── Repositories
│ │ ── Software
│ │ ── Validations
│ ── bin
│ ── configs
│ ── kernel
│ ── migrations
│ ── public
│ │ ── Assets
│ │ ── Dist
│ ── resource
│ │ ── Templates
│ │ ── Translations
│ ── routes
│ ── storage
Соглашение об именовании
- Каждый ключ в конфигурации, должен находится в
camelCase
;
-
Bind
описывающий ключ текущей конфигурации должен начитаться на имя текущей конфигурации и через.
имя. Формат{configName}.{bindName}
Например:caching: binds: caching.path: "path" # Внимательность на имя ключа! caching.history.path: "path" # Внимательность на имя ключа!
- Используйте
camelCase
для переменных, методов и функций. Например:$variableName
,functionName()
;
- У каждой константы должен быть определен модификатор доступа;
- Пространства имен должны соответствовать PSR-4;
- Файл и класс данного файла должны находится в
UpperCamelCase
. Например:ProductCreator.php
,class ProductCreator
;
- Абстрактный класс должен содержать в себе префикс
Abstract
;
- Интерфейс должен заканчиваться на суффикс
Interface
;
- Трейт должен заканчиваться на суффикс
Trait
;
- Исключение должно заканчиваться на суффикс
Exception
;
Стиль написания кода
- После символа
{
должна быть одна пустая строка;
- Перед символом
}
должна быть одна пустая строка;
- После
namespace
должна быть одна пустая строка;
- После последнего
use
должна быть одна пустая строка;
- Каждый класс должен содержать в себе теги
PHPDoc
:class {className}
,@package {namespace}
,@author {author}
;
- Каждый метод, свойство, должны содержать
PHPDoc
, если метод или свойство переопределены, то вPHPDoc
должен быть единственный тэг@inheritDoc
за исключением тега@throw
;
- Для любого использующего класса должен быть
use
;
- Не используйте двойные кавычки, вместо них воспользуйтесь одинарными за исключением того, если вам нужно использовать управляющие последовательности;
- Если нужно вызвать переменную внутри строки, воспользуйтесь функцией
sprintf
;
- Если вызывается две и более одинаковых функций, то не стоит использовать пустую строку между ними;
- Если
service-provider
используется два и более раза, занесите данных сервис-провайдер в переменную;
- Каждая переменная, функция, метод, должны иметь тип возврата;
- Используйте круглые скобки при создании экземпляров классов независимо от количества аргументов конструктора;
- После каждой
,
должен быть пробел;
- Так же используйте стили PSR-12, которые не переопределяют
Codememory Style Guide
;