PHP, MySQL | Создание универсального стартер-кита для PHP-проек
Привет, ребята!
Мне нужна ваша помощь в создании универсального стартер-кита для PHP. Идея в том, чтобы разработать базовый фреймворк или платформу, которая подойдет для реализации любого проекта, будь то сайт, админка или API. Основной упор — удобство и независимость: каждый сможет легко дописать или настроить что-то под себя, собрать нужный функционал из готовых классов и функций.
Хочется, чтобы это было чем-то вроде конструктора:
Пользователь сам выбирает, какие модули подключить.
Не нужно быть привязанным к конкретным библиотекам, но возможность их использовать сохраняется.
Всё уже адаптировано под базовый дизайн, но его легко заменить или модифицировать.
Что мне нужно:
Подсказки по структуре ядра:
- Какие папки и файлы должны быть в стартер-ките?
- Как лучше организовать автозагрузку, маршрутизацию, инициализацию модулей и работу с конфигурацией?
Функционал ядра:
- Какие общие функции точно нужны (например, работа с конфигурацией, редиректы, работа с файлами и т.д.)?
- Какие классы вы считаете базовыми (например, для работы с базой данных, маршрутизацией, авторизацией)?
Гибкость:
- Как обеспечить возможность добавления новых модулей и функционала без изменения ядра?
- Как минимизировать зависимости, чтобы проекты могли работать без Composer, но при необходимости использовать сторонние библиотеки?
Работа с шаблонами:
- Стоит ли внедрять шаблонизатор по умолчанию или оставить работу с шаблонами максимально простой?
Работа с данными:
- Какие инструменты для работы с базами данных и API лучше включить в стартер-кит?
Ваши идеи:
Возможно, у вас есть мысли о том, как улучшить процесс разработки на PHP, чтобы стартер-кит подходил для реальных задач.
Примерная структура, которую я наметил:
framework/ — ядро (функции, автозагрузка, конфигурация, маршрутизация).
modules/ — модули (например, авторизация, работа с пользователями, блоги).
themes/ — базовые шаблоны.
storage/ — кеш, логи, временные файлы.
Я хочу, чтобы стартер-кит был удобным и подходил как для новичков, так и для опытных разработчиков. Буду рад любым советам, идеям, кодовым примерам или обсуждению.
Заранее спасибо за помощь! 🙌
https://github.com/lifesheets/php-startkit
Мне нужна ваша помощь в создании универсального стартер-кита для PHP. Идея в том, чтобы разработать базовый фреймворк или платформу, которая подойдет для реализации любого проекта, будь то сайт, админка или API. Основной упор — удобство и независимость: каждый сможет легко дописать или настроить что-то под себя, собрать нужный функционал из готовых классов и функций.
Хочется, чтобы это было чем-то вроде конструктора:
Пользователь сам выбирает, какие модули подключить.
Не нужно быть привязанным к конкретным библиотекам, но возможность их использовать сохраняется.
Всё уже адаптировано под базовый дизайн, но его легко заменить или модифицировать.
Что мне нужно:
Подсказки по структуре ядра:
- Какие папки и файлы должны быть в стартер-ките?
- Как лучше организовать автозагрузку, маршрутизацию, инициализацию модулей и работу с конфигурацией?
Функционал ядра:
- Какие общие функции точно нужны (например, работа с конфигурацией, редиректы, работа с файлами и т.д.)?
- Какие классы вы считаете базовыми (например, для работы с базой данных, маршрутизацией, авторизацией)?
Гибкость:
- Как обеспечить возможность добавления новых модулей и функционала без изменения ядра?
- Как минимизировать зависимости, чтобы проекты могли работать без Composer, но при необходимости использовать сторонние библиотеки?
Работа с шаблонами:
- Стоит ли внедрять шаблонизатор по умолчанию или оставить работу с шаблонами максимально простой?
Работа с данными:
- Какие инструменты для работы с базами данных и API лучше включить в стартер-кит?
Ваши идеи:
Возможно, у вас есть мысли о том, как улучшить процесс разработки на PHP, чтобы стартер-кит подходил для реальных задач.
Примерная структура, которую я наметил:
framework/ — ядро (функции, автозагрузка, конфигурация, маршрутизация).
modules/ — модули (например, авторизация, работа с пользователями, блоги).
themes/ — базовые шаблоны.
storage/ — кеш, логи, временные файлы.
Я хочу, чтобы стартер-кит был удобным и подходил как для новичков, так и для опытных разработчиков. Буду рад любым советам, идеям, кодовым примерам или обсуждению.
Заранее спасибо за помощь! 🙌
https://github.com/lifesheets/php-startkit
В современных реалиях фреймворк без composer сразу идёт лесом, пакеты фреймворка должны подключаться через composer для возможности обновления.
Жизненно необходимо: роутер, сервис контейнер, orm, нормальный логгер, работа с кэшем, удобная разработка апи. Желательно чтоб это все соответствовало psr, хотя бы request, response.
В итоге получается laravel или symfony, а по сему смысла что то придумывать особо нет)
Жизненно необходимо: роутер, сервис контейнер, orm, нормальный логгер, работа с кэшем, удобная разработка апи. Желательно чтоб это все соответствовало psr, хотя бы request, response.
В итоге получается laravel или symfony, а по сему смысла что то придумывать особо нет)
Galtsev.T (3 дек 2024, в 14:17)
В современных реалиях фреймворк без composer сразу идёт лесом, пакеты фреймворка должны подключаться через composer для возможности обновления.
Жизненно необходимо: роутер, сервис контейнер, orm, нормальный логгер, работа с кэшем, удобная разработка апи. Желательно чтоб это все соответствовало psr, хотя бы request, response.
В итоге получается laravel или symfony, а по сему смысла что то придумывать особо нет)
Всё то, что ты перечислил - нафиг не нужно, лучше уж с нуля писать)
В современных реалиях фреймворк без composer сразу идёт лесом, пакеты фреймворка должны подключаться через composer для возможности обновления.
Жизненно необходимо: роутер, сервис контейнер, orm, нормальный логгер, работа с кэшем, удобная разработка апи. Желательно чтоб это все соответствовало psr, хотя бы request, response.
В итоге получается laravel или symfony, а по сему смысла что то придумывать особо нет)
Автору же могу посоветовать забыть слово "фреймворк", и написать полноценную цмс с нуля
Galtsev.T , Согласен, что для крупных проектов фреймворки вроде Laravel или Symfony — отличный выбор: мощные, соответствуют PSR, дают готовые инструменты для сложной архитектуры.
Но давайте честно, в большинстве случаев проекты не требуют такой "тяжелой артиллерии". Для лендингов, блогов, кино-сайтов или других небольших решений брать фреймворк — это часто стрельба из пушки по воробьям. Именно поэтому я пишу свой движок: он лёгкий, гибкий, и я создаю его с учётом реальных потребностей небольших и средних проектов.
Кроме того, мой подход позволяет избавиться от лишних зависимостей, сделать всё максимально оптимальным и понятным. А для простых сайтов на базе таких движков, как WordPress или InstantCMS, люди вообще обходятся без фреймворков. Так что тут всё зависит от задач.
Но давайте честно, в большинстве случаев проекты не требуют такой "тяжелой артиллерии". Для лендингов, блогов, кино-сайтов или других небольших решений брать фреймворк — это часто стрельба из пушки по воробьям. Именно поэтому я пишу свой движок: он лёгкий, гибкий, и я создаю его с учётом реальных потребностей небольших и средних проектов.
Кроме того, мой подход позволяет избавиться от лишних зависимостей, сделать всё максимально оптимальным и понятным. А для простых сайтов на базе таких движков, как WordPress или InstantCMS, люди вообще обходятся без фреймворков. Так что тут всё зависит от задач.
Something , Моя цель — создать стартовую платформу с заранее подготовленным функционалом, который решает типовые задачи: работа с контентом, управление пользователями, SEO, генерация API и многое другое. Это не просто "голый скелет", а готовый инструмент для быстрого старта проектов вроде блогов, каталогов или лендингов.
Для меня важно, чтобы система была лёгкой, гибкой и не перегруженной лишними зависимостями, которые не нужны в большинстве небольших и средних проектов.
Для меня важно, чтобы система была лёгкой, гибкой и не перегруженной лишними зависимостями, которые не нужны в большинстве небольших и средних проектов.
делай сразу мульти язык
wearnings (4 дек 2024, в 13:18)
Something , Моя цель — создать стартовую платформу с заранее подготовленным функционалом, который решает типовые задачи: работа с контентом, управление пользователями, SEO, генерация API и многое другое. Это не просто "голый скелет", а готовый инструмент для быстрого старта проектов вроде блогов, каталогов или лендингов.
Для меня важно, чтобы система была лёгкой, гибкой и не перегруженной лишними зависимостями, которые не нужны в большинстве небольших и средних проектов.
Главное чтобы код попроще был, чтоб любой даун смог разобраться)
Something , Моя цель — создать стартовую платформу с заранее подготовленным функционалом, который решает типовые задачи: работа с контентом, управление пользователями, SEO, генерация API и многое другое. Это не просто "голый скелет", а готовый инструмент для быстрого старта проектов вроде блогов, каталогов или лендингов.
Для меня важно, чтобы система была лёгкой, гибкой и не перегруженной лишними зависимостями, которые не нужны в большинстве небольших и средних проектов.
Something , Не знаю, но думаю прийти выучить код! Для этого смотрите скрин, я думаю так расписать все функции, как думаешь норм?
------
88632_20241204211636.png (143.6 Kb)
Скачиваний: 10
------
88632_20241204211636.png (143.6 Kb)
Скачиваний: 10