voral/joke-minimal

Minimal skeleton for projects using the Joke micro-framework

Installs: 3

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Type:project

pkg:composer/voral/joke-minimal

v1.1.0 2026-01-20 14:23 UTC

This package is auto-updated.

Last update: 2026-02-23 09:24:50 UTC


README

Минимальный стартовый шаблон для проектов на основе Joke микрофреймворк.

Этот скелетон предоставляет готовую структуру приложения с базовой маршрутизацией, контроллером и встроенным веб-сервером PHP — хорошо подходит для обучения или быстрого старта.

Быстрый старт

Создайте новый проект одной командой:

composer create-project voral/joke-minimal my-app
cd my-app

Запустите встроенный сервер разработки:

composer run dev

Откройте в браузере: http://localhost:8000

Вы увидите:

Hello from Joke Framework!

Запуск с помощью Docker (без установки PHP или Composer)

Если у вас установлен Docker, вы можете запустить приложение без глобальной установки PHP или Composer:

git clone https://github.com/Voral/joke-minimal my-app
cd my-app
docker compose up -d

Приложение будет доступно по адресу:
http://localhost:8000

При первом запуске контейнер автоматически установит зависимости через Composer.
Все изменения в коде применяются мгновенно благодаря volume-монтированию.

Остановить сервер:

docker compose down

Структура проекта

my-app/
├── app/                # Код приложения (контроллеры, сервисы)
│   └── Controllers/
├── bootstrap/          # Инициализация фреймворка
│   └── app.php
├── public/             # Публичная точка входа
│   ├── index.php
│   └── .htaccess
├── routes/             # Определение маршрутов
│   └── web.php
└── composer.json

Как добавить свой маршрут

  1. Создайте контроллер в app/Controllers/, например:

    // app/Controllers/AboutController.php
    namespace App\Controllers;
    
    class AboutController
    {
        public function __invoke(): string
        {
            return 'About page';
        }
    }
  2. Зарегистрируйте маршрут в routes/web.php:

    use App\Controllers\AboutController;
    
    $router->get('/about', AboutController::class);
  3. Готово! Откройте http://localhost:8000/about

Контроллеры необходимо реализовывать согласно документации

Поддержка ЧПУ

Скелетон включает .htaccess для Apache, который:

  • Перенаправляет все запросы в index.php,
  • Сохраняет заголовки Authorization и X-XSRF-TOKEN,
  • Убирает завершающий слеш из URL.

Работает корректно на хостингах с включённым mod_rewrite.

Документация

Более подробно о возможностях фреймворка — см. официальный репозиторий Joke.

Отлично! Ты всё правильно понял: твой README.md уже хорош, но его нужно дополнить Docker-вариантом запуска, чтобы пользователь мог выбрать:

  • либо классический путь через Composer на хосте (composer run dev),
  • либо полностью изолированный путь через Docker (без установки PHP/Composer).