Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SiteApi

SiteApi - framework для реализации web-приложения через одну точку входа.

Разработан в результате анализа принципов работы других framework (в первую очередь Laravel), а также с целью получения собственного простого инструмента для быстрой реализации сайтов и web-приложений.

Оглавление

Установка


Предварительно необходимо настроить Composer, добавив в списки репозиториев файла composer.json ссылку на проект:

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/fe11fire/siteapi.git"
        }
    ],
}

Далее в командной строке выполнить команду:

composer require fellfire/siteapi:dev-main

На данном этапе разработки версионность проекта не используется.

Настройка


Необходимо перенаправить все запросы web-сервера в точку входа index.php.

Пример файла .htaccess для Apache:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

Пример файла index.php:

use SiteApi\Root\Http\Router;
use SiteApi\Root\Http\Templates;
use SiteApi\Root\Settings\Settings;

/* Подключение пакета */
require_once($_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php');

Settings::init(); /* Инициализация настроек framework */
Router::init($_SERVER['REQUEST_URI']); /* Получение запроса */

if (Router::route(Router::get_Route())) {
    /* Маршрут успешно завершен */
    return;
}

/* Ошибка. Исключение или маршрут не найден */

if (Router::is_Ajax()) {
    /* Проверка маршрута на ajax-запрос, возвращение ошибки из шаблонов framework */
    echo Templates::pageAjax();
    return;
}

if (Router::route('404')) {
    /* Возвращение страницы 404 */
    return;
}

/* Все пропало. Вывод 404 из шаблонов framework */

echo Templates::page404();

Основной функционал

Маршрутизация


Добавить каталог routes в корне web-приложения.

Список маршрутов берется из всех файлов каталога:

📦 routes
 ┣ 📜 admin.php
 ┣ ...
 ┣ 📜 pay.php
 ┣ ...
 ┗ 📜 web.php

Оформление маршрута на примере файла web.php:

return [
    [
        'name' => '',
        'path' => 'pages/main/',
        'url' => 'index.php',
    ],
    [
        'name' => 'about',
        'path' => 'pages/about/',
        'url' => 'index.php',
    ],
]

Middlewares


Построение html-файлов


Логирование


Кэширование


Работа с CURL


Отправка сообщений (Telegram)


Работа с СУБД


Режимы разработки


About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages