islandfuture/minilib

Mini Lib PHP framework (Island Future)

Maintainers

Package info

github.com/islandfuture/minilib

pkg:composer/islandfuture/minilib

Transparency log

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 2

Open Issues: 0

v2.02 2026-04-23 11:29 UTC

This package is auto-updated.

Last update: 2026-07-04 13:50:55 UTC


README

Минималистичный PHP-фреймворк для построения веб-приложений и CLI-скриптов с поддержкой MySQL через PDO.

Требования

  • PHP 8.1+
  • ext-pdo
  • ext-pdo_mysql
  • ext-intl (для IDN-доменов и email с кириллицей)
  • ext-mbstring

Установка

composer require islandfuture/minilib

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

После установки создайте следующие папки и файлы:

my-project/
├── public/                   # Document Root веб-сервера
│   └── index.php             # Точка входа
├── app/                      # Код приложения
│   ├── App.php               # Класс приложения
│   └── WebActions/           # Обработчики запросов
│       └── DefaultAction.php
├── config/
│   └── config.php            # Конфигурация
├── tpl/                      # Шаблоны страниц
│   └── index.tpl.php
├── layout/                   # Общие шапки и футеры
│   └── main/
│       ├── header.php
│       └── footer.php
└── vendor/                   # Зависимости composer

Минимальная конфигурация

config/config.php

<?php
return [
    'web' => [
        'site'      => 'example.ru',
        'name'      => 'My App',
        'shortcode' => 'app',
    ],
    'dbpool' => [
        'default' => [
            'dsn'      => 'mysql:dbname=mydb;host=127.0.0.1;port=3306;charset=utf8mb4',
            'user'     => 'root',
            'password' => '',
        ]
    ],
    'session' => 'auto',  // 'auto', 'none', или имя класса модели пользователя
    'output'  => 'html',  // 'html' или 'json'
    'debug'   => 'N',     // 'Y' — показывать ошибки
];

app/App.php

<?php
namespace MyApp;

use IFMiniLib\Core;

class App extends Core
{
}

public/index.php

<?php
require_once __DIR__ . '/../vendor/autoload.php';
require_once __DIR__ . '/../app/App.php';

\MyApp\App::one()->init()->run();

app/WebActions/DefaultAction.php

<?php
namespace MyApp\WebActions;

use IFMiniLib\BaseAction;
use IFMiniLib\Response;

class DefaultAction extends BaseAction
{
    public function run()
    {
        return Response::one()->set('<h1>Hello World</h1>')->sendAndExit();
    }
}

Подробная документация