Framework foton
Инструмент для профессиональной разработки web приложений
Приложения на Foton
Это - высокая скорость по google speed Независимая веб версия для всех представлений Легкая настройка форматов xml,json etc... Быстрая разработка с модулем Visual Editor Работа с шардированием и репликацией из коробки
Методы ядра Framework Foton
Документация для SEO специалиста
Документация Быстрый старт
Framework Foton
Framework Foton - это распределенная система интерфейсов позволяющая в один клик изменять оболочку административной панели.
Плагин для VS Code "Foton Task Manager" Сохраняйте файлы проекта в одном месте Создавайте документацию в процессе разработки
Удобное переключение в коде проекта Работа с помощью горячих клавиш Уберите все панели и работайте в Режиме Дзен
Основные преимущества Foton
Git Foton
Git Foton - это быстрая командная разработка на боевом сервере Без облачных серверов gitlab/github со встроенным CI-CD Быстрое тестирование и деплой С Git Foton вы можете разрабатывать в своей ветке И выгружать в master/main прямо на сервере Работайте с помощью команд php foton git Создавайте свои изолированные ветки Выгружайте,тестируйте и объединяйте ветки Это быстро, безопасно и удобно!
Шардирование Foton
На Framework Foton есть встроенное шардирование Вы можете настроить горизонтальный и вертикальный шардинг просто указав количество записей в одной партиции для таблицы За счет шардирования и реплекации из коробки на Foton легко создать быстрый и масштабируемый продукт
GraphQL Foton
Точный контроль над данными клиент сам задаёт структуру ответа — получает только нужное. Единый эндпоинт Один адрес для разных запросов. Типизация и автодокументация схема GraphQL сразу показывает, какие данные и типы доступны. Удобная работа со вложенными данными легко получать связанные сущности в одном запросе. Интеграция в архитектуру Foton работает в связке с ORM, сервисами и контроллерами.
Микросервисная Foton
Изоляция сервисов Каждый микросервис работает автономно. Event‑driven подход Взаимодействие через события и очереди делает архитектуру асинхронной и устойчивой к нагрузкам и упрощает масштабирование. Единая экосистема Микросервисы используют общие инструменты Foton. Упрощённая интеграция Готовые механизмы для работы с очередями, событиями и межсервисными вызовами позволяют быстро связывать модули и добавлять новые функции.
Foton Icode
Единая точка управления справочниками Все JSON‑справочники хранятся и управляются централизованно. Валидация и типобезопасность При загрузке можно сразу проверить структуру JSON и типы полей. Простые API‑методы Готовые методы для получения, фильтрации и поиска по справочникам позволяют не писать каждый раз парсинг и обработку JSON вручную. Гибкость форматов и версий Модуль поддерживает разные форматы и версии справочников,а также механизмы переключения между ними — удобно при обновлениях и A/B‑тестах.
работа со строками, массивами, объектами и поиском на Foton
Строки удобные методы для разбиения, склейки, обрезки, замены и поиска подстрок; Готовые механизмы для работы с очередями, событиями и межсервисными вызовами позволяют быстро связывать модули и добавлять новые функции.
Объекты преобразование объектов в массивы и обратно, контроль структуры; валидация по схеме и приведение типов «на лету»; интеграция с DTO и сервисами — удобно для выноса логики и тестов.
Массивы сортировка по значениям, по длине ключей, кастомные правила; сдвиг, нарезка, объединение, рекурсивные операции над вложенными структурами; арифметические операции между массивами;
Поиск nearest() — поиск ближайшего вектора в массиве массивов; search() и similar() — поиск похожих слов с учётом расстояния Левенштейна; поиск по массивам и коллекциям с гибкой настройкой порогов схожести;

Преимущества Framework Foton на практике

Тонкий контроллер из коробки.

(можно работать без get/post параметров, нет ручного рендеринга)


namespace Controller\Site;
class news extends Model\Site\news{
    public function item($href){
        //выводим новость по get параметру href
        $arr = $this->core->getlist(['table'=>'news','where'=>['href'=>$href]]);
        return $arr;
    }
    public function list($page){
        //выводим список новостей на странице $page
       $arr = $this->core->getlist(['table'=>'news','count'=>10,'page'=>(int)$page]);
        return $arr;
    }
}


Простая работа с CRUD методами

Из коробки можно работать с CRUD методами включающими обработку шардирования и событий.


namespace Foton\Module\Operation\Base;
class crud{
    public $obj,$table;
    public function __construct(){
        $this->obj = new Base();
        $this->table = 'table';
    }
    public function update($arr,$where){
        return $obj->update($this->table,$arr,$where);
    }
    public function create($arr){
        return $obj->insert($this->table,$arr,'id');
    }
    public function delete($where){
        return $obj->delete($this->table,$where);
    }
    public function get($arr){
        return $obj->getlist($arr);
    }

}


Легкий доступ к результатам методов контроллера

В MVC модели Foton все return публичных методов записываются в массив $data, ключом массива являются названия методов.

@for:{$data['list'] as $news}
    @{news['name']}
    @{news['description']}
@:@


Благодаря распределенной системе Framework Foton и методу ядра view() в любом месте системы мы можем вызвать ее клона с любыми параметрами с любым типом запроса,

например этот код


namespace Controller\Site;
class news extends Model\Site\news{
    public function item($href){
        //выводим новость по get параметру href
        if($href=='company'){
           return   $this->core->view()->mvc->company->end();
        }
        $arr = $this->core->getlist(['table'=>'news','where'=>['href'=>$href]]);
        return $arr;
    }
}

вызовет mvc страницу  company внутри другой страницы news

Подробнее про все типы можно прочитать в статье про роутинг


> Новые возможности
Module Visual Editor
Модуль Visual Editor позволяет создавать и редактировать представления как html код с использованием шаблонизатора Foton
MVC Foton
Легкое управление моделями Простые и тонкие контроллеры Распределенные ajax запросы Polygon, Sliding, Icode и многое другое
Мобильная версия
Render Foton поддерживает создание мобильных версий ваших представлений, достаточно добавить к названию вашего представления _mob и данное представление будет работать только для мобильных устройств.
Git Foton
С распределенной системой Git Foton вам не нужно пользоваться облаком gihub или gitlab Теперь вы можете вести командную разработку, тесты и деплои прямо на проекте Также в пакете GraphQL Foton, Rest API Foton и ORM Foton Для быстрого написания микросервисной архитектуры
На Framework Foton при передаче в сигнатуры метода типа контракта соответствие класса контракту определяется самостоятельно, однако иногда возникает необходимость жестко закрепить определенные контракты в зависимости от состояния, тогда на помощь пр...
> 2026-07-17
967
С появлением ООП в PHP все стало намного легче, но все-таки существует необходимость обратной совместимости некоторых устаревших функций с которой достаточно хорошо справляются разработчики ядра php. Примером балансирования между стремлени...
> 2026-01-12
8510
На эту тему достаточно много статей, но исходя из своего опыта я вижу насколько мало по настоящему хороших обзоров на эту тему особенно для начинающих разработчиков. Разделим легаси, который действительно является результатом устаревших ве...
> 2026-03-07
7553
© Copyright 2026 Разработано на Framework Foton
Продукт зарегистрирован в Роспатенте