Пишу проект на ларавеле, довольно простой
С классами и методами слабо знаком.
В классе есть несколько методов, в которых есть участки одинакового кода, как их вынести чтобы потом где нужно запускать?
Читал мануал по классам, не помогло понять(
В ларавеле принцип такой, человек заходит на сайт например на site.ru/news в этот момент начинает отрабатывать созданный маршрут в папке “routes/web.php” в этом файле вы изначально должны прописать правила для маршрута news вот так
route::get('/news' , 'controllername@methodname');
Где news это ссылка на которую перешел человек
Controllername это название контроллера созданного вами он же название класса который внутри этого контроллера,
Ну а methodname это имя отрабатываемого метода внутри класса он же функция. Вот как то таак)
И к чему это тут? Причём с ошибками, как синтаксическими, так и нарушения PSR? Я уж не говорю о том, что это описание невероятно поверхностное настолько, что с таким же успехом можно описать, например Symfony. Там только `controllername@methodname` на `@Route("/news")` заменяется, так же как в L5 хотели сделать: https://laravelcollective.com/docs/5.0/annotations...
Кирилл Несмеянов, дядь, ты вопрос видел?там четко сформулированно как использовать классы и методы там где это нужно, я четко описал на примере новостного раздела, как их использовать, или вам надо разжевывать как их создавать?И кстати, в каком месте нарушен стандарс psr?а по поводу синтаксических ошибок, иди учи детишек в школу полезней будешь)
Алексей Виноградов, начну с конца:
1) Детишек я и так учу.
2) Впитывай: www.php-fig.org/psr/psr-2 =)
- Классы должны быть в CamelCase
- Методы должны быть в camelCase
3) Вопрос был про ОО прадигму, а не про то, как сделать элементарный MVP в ларке. Термин "поверхностный" говорит о том, что ты пропустил как минимум то, что:
3.1) Route - может не существовать в проекте. И что так писать не стоит, хоть вариант и самый простой.
3.2) Наименование контроллера должно следовать PSR-4, а не тупо "Controllername"
3.3) Внутри экшенов контроллера есть автовайринг, как и в конструкторе непосредственно. А чтобы понять что это, надо понять суть DI, а как следствие слабой связанности компонентов. И это очень важно, потому что новички очень любят "фасады", за которые обычно очень сильно ругают, как минимум =)
Ну и т.д. Если хочешь кого-то научить плюшкам ларки, надо упоминать все нюансы в рамках "как делать стоит", а как нет. Если ОО, то начинать с простого, переходя к общему, вроде SOLID + GRASP -> DDD и проч.
Я ответил на твои вопросы "что не так с твоим ответом"? =)
Понимаю, что с мобильного телефона тебе отвечать тяжело, по-этому мне достаточно будет "да" или "нет".