Челендж на 2026

Александр Воробьев
На сайте с 03.02.2020
Offline
56
#41

Итак, пятница

Выложил, то что наработано на github

Как и обговаривали используется:

- composer . Без него, на мой взгляд, даже в подобного плана проекте,  не  стоит делать приложение такого класса: если я потом надумаю все же использовать фреймворк для своих целей, нелогично отказываться от возможности использовать при необходимости выбор из огоромного числа модулей для любых задач.

И это единственная зависимость (кроме версии php конечно) для продуктового режима

В режиме разработки: phpunit - тестирование,  и voral/version-increment  - для автоматизации управления версии и ведения ченжлога (но это пакет разработанный мною)


На данный момент, это не  релиз. Хоть все и работает,  и погонять при желании можно, но не доведено до логически завершенного этапа.

Что сделано:

- маршрутизация

- сервисный контейнер

- все что реализовано - все покрыто тестами (кроме Application - но там по сути просто пустой класс пока)

Из "галок", что я поставил сам себе: никогда глубоко не вдумывался как реализуется автовайринг - здесь сделал это


В планах на следующую неделю: минимально это выпустить первый логически завершенный релиз и скелетон позволяющий создать на основе фреймворка АПИ (конечно на данном этапе простейшее, без авторизации, да и вообще без решенных вопросов секурности :), но хоть для внутреннего микросервиса. Минимальную доку. по результатам к следующей пятнице запилю видео, например с созданием апи для тривиального TODO листа.

Ну и если будет время - начну шаблонизатор.

На гитхабе в репе:

- в описании  "динамический" план

- в ветке master всегда будет работоспособный вариант, и добавлю ветку dev - в которой можно будет, при желании, смотреть прогресс.

GitHub - Voral/joke: A minimal PHP micro-framework built for learning purposes, featuring routing, a service container, and .env-based environment configuration.
GitHub - Voral/joke: A minimal PHP micro-framework built for learning purposes, featuring routing, a service container, and .env-based environment configuration.
  • Voral
  • github.com
Это микро-фреймворк с ручной маршрутизацией и DI-контейнером, ориентированный на обучение. Он обрабатывает HTTP-запросы, вызывает контроллеры через контейнер и возвращает ответы, но не предоставляет ORM, миграции или готовые компоненты аутентификации По условиям челенджа: не использовать существующие решения (кромe composer, PHPUnit...
S3
На сайте с 29.03.2012
Offline
372
#42
Александр Воробьев #:
Выложил, то что наработано на github

Класс! Ты даже доку начал переводить! Правда начал здорово но потом запал иссяк, видимо.
No release has been published yet. -не смог перевести)) Правильнее: 
The release has not been published yet
At the moment, the release has not been published yet
Но это так, вообще мелочи.

В целом репо организован понятно, все структурировано.
Не имея пхп  нп машине, не могу запустить, так что было бы здорово упаковать это все в докер-контейнер.

Ну и это уже вопрос дилетанта - композер стартует что? После  composer dev что я получу локально? Могу открыть какой то базовый урл или что?

Александр Воробьев
На сайте с 03.02.2020
Offline
56
#43
Sly32 #:
Не имея пхп  нп машине, не могу запустить, так что было бы здорово упаковать это все в докер-контейнер.

Ок. добавлю в туду.

Sly32 #:
Класс! Ты даже доку начал переводить! Правда начал здорово но потом запал иссяк, видимо.
No release has been published yet. -не смог перевести)) Правильнее: 

Английский моя слабая сторона. :)  читать более менее, а вот писать...... практики не хватает

Sly32 #:
Ну и это уже вопрос дилетанта - композер стартует что? После  composer dev что я получу локально? Могу открыть какой то базовый урл или что?

composer dev запустит встроенный веб сервер php. После этого по адресу http://localhost:8000 начнет отвечать приложение, но там просто временные "тестовые ошметки". (на момент написания того сообщение там проверял автовайринг в контейнере)

Т.е. в этой репе будет расти именно фреймворк, а не приложение.

S3
На сайте с 29.03.2012
Offline
372
#44
Александр Воробьев #:
Английский моя слабая сторона. :)  читать более менее, а вот писать...... практики не хватает

как у всех нас)

Вот для меня правильно организованный репо:
https://github.com/fastapi/fastapi

GitHub - fastapi/fastapi: FastAPI framework, high performance, easy to learn, fast to code, ready for production
GitHub - fastapi/fastapi: FastAPI framework, high performance, easy to learn, fast to code, ready for production
  • fastapi
  • github.com
FastAPI framework, high performance, easy to learn, fast to code, ready for production - fastapi/fastapi
WS
На сайте с 01.11.2008
Offline
163
#45
master32 #:
обращаюсь, пользуясь случаем, ребята, разработчики, программисты, айтишники, давайте сделаем свою экосистему, у нас все для этого есть
нужно сделать замену cloudflare, чем не серьезный проект)

я так понимаю, что запрос чисто под рф, потому что для остального мира cf отлично справляется, рынок маловат и дорог для инвестиций, делать придётся на дорогом железе, харды в рф сейчас продаются палёные даже в сети ДНС, ввозят китайские, проработавшие от трёх и более лет со сброшенным смартом и при этом двойными ценами 
S3
На сайте с 29.03.2012
Offline
372
#46
Большая просьба не превращать эту тему в срач! Тут обсуждается ТОЛЬКО разработа двух фреймворков и все вокруг них
ArbNet
На сайте с 27.10.2019
Offline
147
#47
Sly32 #:
Большая просьба не превращать эту тему в срач! Тут обсуждается ТОЛЬКО разработа двух фреймворков и все вокруг них

Ещё добавлю, всякие критика, нравоучения, глупые вопросы(зачем, кому это надо, почему бы не использовать готовое и тп.) лично я буду игнорировать, это деструктивно. Позитивно если будут дельные советы по самой разработке их будем брать во внимание.

Я за эти дни ничего не сделал, очень сложно после длительного перерыва вновь начать. Правда открывал проект, посмотрел, повспоминал.

У меня проект намного сложнее. Я разрабатываю инструмент не для тех кто занимаются программированием, а обычных людей, тех кто немного изучили базовые технологии HTML, CSS, JS и если ещё освоят работу с моим фреймворком, то смогут быстро и легко создавать разные сайты. Возможно идея утопичная, но я всё же хочу её реализовать. Да, я уже несколько лет занимаюсь разработкой этого фреймворка, много всего переделывал и тд. Был у меня не хороший опыт использования готовых библиотек с тех пор я не сторонник использования чужих библиотек без очень сильной надобности. В случае с моим фреймворком рассчитанным на обычных людей надо чтобы весь основной функционал был так сказать из коробки, чтобы не надо было устанавливать композер и тп. поэтому мне нужно было объединить всё в одно целое и реализовывать всё без сторонних инструментов. HTML прост в понимании и изучении, наследовался от XML, который можно использовать с своими настройками так скажем. Поэтому я и сделал написание инструкций для генерации страниц именно на XML. Наверно даже через несколько лет тут многие так и не понимают зачем я выбрал такой подход, ну да ладно, может под завершение реализации станет понятнее.

ArbNet
На сайте с 27.10.2019
Offline
147
#48
Александр Воробьев #:
Выложил, то что наработано на github

Посмотрел.

Запустить не удалось. Не понятно как работает маршрутизация из src\Core\Routing\ чтобы открывался к примеру public\index.php в котором ошибка

Warning: require(D:\OpenServer\domains\joke.loc\bootstrap/../vendor/autoload.php): Failed to open stream: No such file or directory in D:\OpenServer\domains\joke.loc\bootstrap\app.php on line 2

Fatal error: Uncaught Error: Failed opening required 'D:\OpenServer\domains\joke.loc\bootstrap/../vendor/autoload.php' (include_path='.') in D:\OpenServer\domains\joke.loc\bootstrap\app.php:2 Stack trace: #0 D:\OpenServer\domains\joke.loc\public\index.php(8): require_once() #1 {main} thrown in D:\OpenServer\domains\joke.loc\bootstrap\app.php on line 2

ЗЫ. Нет комментирования функций, хотя меня поучал бывало. Чувствуется, что код от куда-то взят или даже сгенерирован ИИ.

S3
На сайте с 29.03.2012
Offline
372
#49
ArbNet #:
У меня проект намного сложнее.
Ты показывай а не рассказывай. Надеюсь, к след выхам будет что показать.  
ArbNet #:
Поэтому я и сделал написание инструкций для генерации страниц именно на XML.

Это можно оценить, только видя программу, если не код то как работает. Так что подумай - может имеет все таки смысл сделаль открытый репо?

Александр Воробьев
На сайте с 03.02.2020
Offline
56
#50
ArbNet #:
Ещё добавлю, всякие критика, нравоучения, глупые вопросы(зачем, кому это надо, почему бы не использовать готовое и тп.) лично я буду игнорировать, это деструктивно

Я наоборот, критику очень даже приветствую.  За критику моего проекта буду благодарен. :) (конечно же критика вменяемая, а не из серии "все Г... потому что  я так сказал")

ArbNet #:
Чувствуется, что код от куда-то взят или даже сгенерирован ИИ.

Давай ка договоримся без домыслов. Я могу ответить за любую строчку своего кода.  Еще раз уточню, мне этот проект интересен именно тем, что я сам пишу. Тратить время на генерацию? Нахрен оно мне уперлось. Уверяю мне важнее, что о моей квалификации думают мои заказчики и коллеги. 

ArbNet #:
Запустить не удалось. Не понятно как работает маршрутизация из src\Core\Routing\ чтобы открывался к примеру public\index.php в котором ошибка

Что значит открывался "public/index.php"?  Там же в readme написано.   Если ты настраиваешь веб сервер, то корень его должен быть в public.  т.е. обращение к сайту http://joke.loc/ (или как ты там домен задал) и все. Сразу ответит index.php. Если не получается можно по простому, запустить встроенный в php веб сервер.

Ты выполнил composer install ? (или если не хочешь лишнего, то composer install --no-dev --optimize-autoloader --classmap-authoritative )

Файл ../vendor/autoload.php существует?

ArbNet #:
ЗЫ. Нет комментирования функций, хотя меня поучал бывало

Согласен. Тут есть что комментировать, но хотел сделать релиз до этой пятницы. не до "красоты"

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий