Роутер для сайта

Главные вкладки

Аватар пользователя svisch svisch 1 октября 2018 в 23:03

Приветствую! Немного не по теме, но всё же осмелюсь задать этот вопрос здесь. Если что сливайте тему в утиль.

Ковыряю сейчас php с целью повышения своего левела. Поставив несколько технических задач делаю небольшой самопис. Дошел до стадии реализации роутера на сайте и чпу. Почитав форумы пришел к выводу, что нет смысла изобретать велосипед и проще взять готовый роутер и решений уже полно. Хотелось бы услышать ваше мнение на этот счет: лучше потратить больше времени на изучение и взять готовый роутер с какого-нибудь фреймворка или же взять какой-то упрощенный чей-то велосипед и разобравшись в нем приступить к изучению более сложного?

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

Заранее спасибо.

Комментарии

Аватар пользователя Olegars Olegars 1 октября 2018 в 23:34

Надо определиться, php изучать, или компоненты из фреймворков прикручивать.
Потому как если компоненты прикручивать, писать что либо на php нет никакого смысла. Мало того что все велосипеды давно изобретены, все эти велосипеды можно взять, хоть из symfony хоть из laravel и собрать свой фреймворк с нужным функционалом.
https://elisdn.ru/blog/113/psr7-framework-http

Аватар пользователя svisch svisch 2 октября 2018 в 2:56

Изучать php. Суть дилеммы не в том, чтобы сесть и написать самому (что ввиду отсутствия знаний и практики пока что невозможно), а в том чтобы понять, как работает чужое. Соответственно думаю идти ли к пониманию по возможно корявому и сильно упрощённому коду, о чем я на данный момент не могу знать, либо по коду фреймворка, что будет думаю ближе к эталонному решению.

Спасибо за ссылку.

Аватар пользователя gun_dose gun_dose 2 октября 2018 в 6:43

Пишите свой роутер с нуля. Тогда в следующий раз у вас не возникнет вопросов, почему все вокруг используют готовые роутеры.

Аватар пользователя sas@drupal.org sas@drupal.org 2 октября 2018 в 7:10

Придумайте себе практическую задачу - например написать корзину для магазина и решите её., А роутер или не роутер - это уже инструмент.

Аватар пользователя Orion76 Orion76 2 октября 2018 в 7:19
1

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

В итоге, Вы убьете сразу несколько зайцев:
1.Хорошо разберетесь в том, как "это" должно работать.
2.Как это реализовано(со всеми подробностями и нюансами).
3.Научитесь применять "чужой код" в своих проектах (даже отвратительно задокументированный)

Как говорят умные люди, хороший код тот - который не пришлось писать.

А эффективность разработчика (а следовательно и его стоимость) зависит не от того, какое кол-во кода он может написать за единицу времени, а сколько бизнес-задач он может решить за эту самую единицу.

Аватар пользователя andypost@drupal.org andypost@drupal.org 2 октября 2018 в 12:11
1

Для изучения роутеров лучше попробовать каждый, причем, важно ещё и сравнить скорость работы и удобно поддержки.
Начать лучше с https://github.com/nikic/FastRoute а дальше ларку, симфу и symfony cmf

Аватар пользователя svisch svisch 2 октября 2018 в 14:04

Склоняюсь к варианту, предложенному Orion76 и andypost@drupal.org, возможно начав возможно с Fastfoute, так как неоднократно натыкался в сети на рекомендации этого роутера, возможно из за его относительной простоты.

Всем спасибо за рекомендации!!!)