Initial commit: entry point and project structure
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
e672216b8a
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
vendor/
|
||||||
|
.env
|
||||||
|
.mcp.json
|
||||||
|
storage/logs/*.log
|
||||||
|
storage/cache/*
|
||||||
|
*.DS_Store
|
||||||
6
.htaccess
Normal file
6
.htaccess
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
Options -Indexes
|
||||||
|
|
||||||
|
RewriteEngine On
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
|
RewriteRule ^ index.php [L]
|
||||||
61
CLAUDE.md
Normal file
61
CLAUDE.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# CLAUDE.md
|
||||||
|
|
||||||
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||||
|
|
||||||
|
## Project
|
||||||
|
|
||||||
|
**Bicycle** — самописный PHP-фреймворк, разрабатываемый с нуля. Проект находится в стадии начальной разработки.
|
||||||
|
|
||||||
|
## Предполагаемая архитектура
|
||||||
|
|
||||||
|
Фреймворк строится по принципу **MVC + Service Container**:
|
||||||
|
|
||||||
|
- `System/Core/` — ядро: Application, загрузка конфига, бутстрап
|
||||||
|
- `System/Http/` — Request, Response, обработка HTTP-цикла
|
||||||
|
- `System/Router/` — маршрутизация (регистрация роутов, диспатчинг)
|
||||||
|
- `System/Container/` — DI-контейнер (bind/make/singleton)
|
||||||
|
- `System/Middleware/` — цепочка middleware (Pipeline)
|
||||||
|
- `System/View/` — шаблонизатор
|
||||||
|
- `System/Database/` — QueryBuilder / ORM
|
||||||
|
- `System/Console/` — CLI-команды
|
||||||
|
- `System/Exceptions/` — обработчики ошибок
|
||||||
|
- `config/` — конфигурационные файлы (.php массивы)
|
||||||
|
- `index.php` — точка входа
|
||||||
|
- `bin/bicycle` — CLI-точка входа
|
||||||
|
|
||||||
|
## Когда структура будет создана
|
||||||
|
|
||||||
|
### Установка зависимостей
|
||||||
|
```bash
|
||||||
|
composer install
|
||||||
|
```
|
||||||
|
|
||||||
|
### Запуск встроенного сервера
|
||||||
|
```bash
|
||||||
|
php -S localhost:8000 -t public
|
||||||
|
```
|
||||||
|
|
||||||
|
### Запуск тестов
|
||||||
|
```bash
|
||||||
|
./vendor/bin/phpunit
|
||||||
|
# один тест:
|
||||||
|
./vendor/bin/phpunit tests/Unit/RouterTest.php
|
||||||
|
```
|
||||||
|
|
||||||
|
### Линтер / статический анализ
|
||||||
|
```bash
|
||||||
|
./vendor/bin/phpcs --standard=PSR12 src/
|
||||||
|
./vendor/bin/phpstan analyse src --level=5
|
||||||
|
```
|
||||||
|
|
||||||
|
### CLI фреймворка
|
||||||
|
```bash
|
||||||
|
php bin/bicycle <command>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Соглашения
|
||||||
|
|
||||||
|
- PHP 8.1+, строгая типизация (`declare(strict_types=1)`)
|
||||||
|
- Стандарт кода — PSR-12
|
||||||
|
- Пространство имён корня: `Bicycle\`
|
||||||
|
- Автозагрузка через Composer PSR-4: `"Bicycle\\": "src/"`
|
||||||
Loading…
Reference in New Issue
Block a user