Программистом в целом чтобы был если что в будущем более лёгкий переход на другую область пп или Язык
Тогда нужно язык изучать, а движки там всякие и фрейворки - это уже будет приятным дополнением к вашим полученным знаниям. Была бы моя воля, я бы запретил новичкам к ним доступ, пока они хотя бы до среднего уровня знания языка не дошли.
А я и многое уже понял из языка, фреймворк мне как ускорение, потому что там есть уже компосер и автоматическая обработка ошибок. Вопрос такой Yii2 - Laravel - Symfony? Для интернет магазинов, блогов всяких и т.п.
Проиграл. Вот почему я против всей этой заразы, ребят. Вот почему. Ну, можете пофрилансить. А на первом же собеседовании, где-нибудь за 70к, вас втопчут в грязь.
Ды норм тема этот ваш компосур. Но все эти новомодные штуки можно юзать только тогда, когда понимаешь, что они делают, и когда можешь сделать все то же сам. В таком случае ты просто срезаешь угол и экономишь свое время. В противном же случае, ты получаешь на руки черный ящик, который, окромя срезания углов, срезал тебе и квалификацию. Опытный человек, юзая готовые решения, экономит на времени разработки. Неопытный экономит на времени обучения. В итоге первый просто не делает лишнюю работу, а вот второй получает пробел в знаниях. А потом этот черный ящик закроется навсегда, или заменится другим, похоронив с собой свою "экосистему", и все, стоишь ты у обочины, ничерта не умеющий, теперь придется новый ящик с нуля изучать. В этом плане меня забавляет медленно умирающая экосистема JQuery. Медленно и мучительно. Тянущая за собой в ад целые когорты "JQuery-разработчиков", не могущих в vanilla настолько, что даже для работы со всякими реактами им обязательно нужен JQuery-плагин, предоставляющий JQuery-обертку для этих целей. А если надо заюзать стороннюю библиотеку откуда-то с гитхаба, для которой не написали JQuery-плагин...ну тогда не судьба, увы. Тогда надо гордо поднять нос и сказать, что бибилиотека-то говно, плагина-то нет. А на предложение "дык напиши сам", слышен немой ответ "не умею...".
Я думаю с симфони начинать точно не стоит, на мой взгляд это действительно сложный фреймворк, хотя как говорят зная его переползти на другие не составит труда. Дли интернет магазинов и блогов вполне подойдет Laravel или Codeigniter. Laravel показался мне очень логичным и лаконичным фреймворком с большими возможностями, тем более он основан на компонентах симфони, фреймворк входит в список топовых и там очень легко ловить ошибки. Кодигнайтер простой как пробка, некоторые его особенности очень спорны (дефолтная шаблонизация вьюшек которой нет, но это лечится приклеиванием blade`a или twig`а, доступ к моделям из контроллера через $this->modelName), но в целом тоже работать можно, я на нем магаз написал. Но опять же, как совершенно правильно написал @Fell-x27 Фреймворки это имбовая штука чтобы пилить проекты относительно быстро и качественно, они дают структурированный каркас, на котором ты можешь наращивать функционал и бизнес логику. Мой тебе совет - ознакомься с каким нибудь легким фреймворком, с тем же Codeigniter, пойми что он делает и попробуй написать то же самое, только свое. У меня была похожая ситуация только в обратном порядке, сначала писал с нуля все, потом начал видеть повторяющиеся компоненты (авторизация, корзина покупателя и т.п.) и выносить все это в библиотеки, потом, начиная осознавать что было бы круто сделать одну структуру приложения для всего запилил свой фреймворк на костылях и велосипедах, а уже потом окунулся в мир взрослых фреймворков.
@Михаил Запаленов Попробуй для начала напиши собственный роутер по стандартам. И напиши просто банально вход куда нибудь по пользователю и паролю. Cделай в своём роутере ещё возможность группировать маршруты. В общем собери свой костыль. И когда твой костыль будет работать и ты будешь плясать от радости что он работает так как ты и хотел, вот тогда можешь сесть за изучение framework а до этого ты будешь бесполезно гавномесить внутри них не понимая для чего вообще всё это нужно.
@Fell-x27 за что ты так не любишь жиквери? Он обеспечивает низкий порог вхождения в клиентский web. Люди не рождаются профессионалами.
Ага. А ещё позволяет писать прикольные штуки типа Код (Javascript): $(this).closest(".itemBlock").find(".itemTitle").val(...);
Он обеспечивает засилье перделок, ради которых тянется тормозная тягучая либа, к которой, ради каждой новой микроперделки прикручивается по плагину, потому что плата за "низкий порог". В итоге рождается уродливый монстр, на котором, до кучи, написать что-то окромя тех же свистелок и перделок невозможно из-за убогой архитектуры и богомерзкого Jquery-object, из-за чего код чего-то чуть крупнее наперстка уже становится похож на неотлаживаемый клубок коллбеков и обрастает такой лютой связностью, что что-то тронуть без того, чтобы ничего не упало к чертям - нереально. Он насилует клиента тяжелыми выборками по DOMу, тяжеленными анимациями, построенными на "ручных" пересчетах параметров, из-за которых DOM начинает ходить ходуном, заставляя браузер пересчитывать лейаут по нескольку раз в секунду. Он навязывает свою "экосистему", пытаясь переписать ваниллу. Это как если бы на php написали php. Бессмысленно, беспощадно. ~70% JQuery - это тупо вот обертки над ванильными методами, возвращающие JQuery-object. Сам JQuery-object это довольно тяжелый тормозной монстр. Чтобы было понятно, любая DomNode - это тяжелый объект. Но JQuery накручивает на него обертку, которая дополнительно утяжеляет его в разы. Все киллерфичи JQuery давно есть в браузерах нативно, работающие лучше и быстрее. Хотя, не спорю, сам JQuery и являлся стимулом к их внедрению, но теперь он не нужен. В своем желании написать JavaScript на JavaScript разрабы JQuery породили такое явление, как JQuery-программист. Абсолютно беспомощное существо, боящееся шаг ступить за пределы функции $, но дико гордящееся этим. Как-то так: Спойлер Причем, совместимость с ваниллой околонулевая. Даже событийная система перепахана под себя. Этого достаточно? --- Добавлено --- Я, когда не умел кодить на JS, тоже дергал сниппеты для JQuery и радовался, да. Это вот яркий показатель применимости оного. Что интересно, стоит человеку изучить JS, как он сразу начинает смотреть на JQuery другими глазами.
@Fell-x27, получается ты все слайдеры, выделятели картинок и прочее, для чего обычно используются плагины jQuery, пишешь сам? Я не люблю JavaScript (особенно выносящую мозг объектную модель), но всё о нём знаю (почти всё, от нового синтаксиса я отстал, всё не соберусь основательно с ним разобраться). Складывать числа через jQuery конечно не буду, попросят написать код без jQuery - напишу. Но всё же под jQuery много всего наработано полезного, что самому писать весьма тоскливо. Вот попробовал VueJS, понравилось, в целом, но посмотрел - всё равно куча библиотек есть, которые скрещивают какой-нибудь jQuery-слайдер с Vue. С ангуляром, насколько я мельком смотрел, та же история
Так это даун, а не программист который без jquery не умеет ничего. На jquery and ajax я тоже могу кодить, в этом проблемы нет, чем иногда и занимаюсь подрабатывая верстальщиком. --- Добавлено --- А так я вообще сейчас заканчиваю с теорией с полиформизмом паттернами и перехожу к практики, хотел использовать фрейм yii2 чтобы не с нуля писать а уже была определенная архитектура а внедрять с нуля mvc и другие паттерны это долго и нудно --- Добавлено --- Просто посудите сами, в вакансиях везде просят опыт работы с фреймворками, а смысл мне время тратить и писать тот же интернет магазин с своей админкой с нуля без фрейм и получить только одни знание, когда я могу получить сразу опыт разработки на php и работы с фреймворком, разве это не лучше? --- Добавлено --- Жду от знающих как поступить, оТ админов, т.к им больше доверяю, но другие тоже могут писать у каждого мнение важное)
У каждого свой путь. Я быстренько за неделю проглотил теорию php, и через месяц сделал первый заказ за деньги (плагин WordPress). Но мне было легко - я знал C++, хотя на нём законченных крутых проектов у меня и не было. Через три месяца уже дорабатывал сайт на Zend + Doctrine, находу узнавая и то и другое. Но Zend мне не понравился, слишком сложный. Потом мне посоветовали Kohana, хорошая была вещь, жаль что загнулась. А потом Yii2, сейчас Laravel прибавил. Недавно пришлось иметь дело с Code Igniter, вот это бред, перенёс тот проект на Laravel и радуюсь
Меня интересует такой вопрос Просто посудите сами, в вакансиях везде просят опыт работы с фреймворками, а смысл мне время тратить и писать тот же интернет магазин с своей админкой с нуля без фрейм и получить только одни знание, когда я могу получить сразу опыт разработки на php и работы с фреймворком, разве это не лучше?
@Fell-x27 Ты гребешь всех под одну гребенку. --- Добавлено --- То, что кто-то боится шаг ступить за пределы $ и не хочет развиваться - это проблема лично его. --- Добавлено --- Но новички без JQuery будут страдать. Посему жиквери будет жить до тех пор, пока будут новички и те, кто пользуется их услугами (т е не хочет платить больше) или просто не понимает как оно там всё работает (просто сделайте мне сайт). И первые, и вторые, и третьи будут всегда. Ну или кто-то разработает лучшее решение, которое будет таким же простым для понимания и меньше грузить бедные процессоры клиентов. --- Добавлено --- @Михаил Запаленов ты властен поступать так, как знаешь. --- Добавлено --- это не мгновенно происходит
Можешь и сразу на фреймворке писать. Главное, читать исходник фреймворка. Не постоянно, но надо не бояться это сделать, и надо понимать, как всё работает. В этом смысле Yii2 лучше для начала, там код читается очень хорошо. Код Laravel читается мучительно, даже несмотря на мой опыт.
Еще один вопрос, правильно ли я понимаю паттерн MVC , простой символический пример показываю, мне интересно правильный ли алгоритм использую подкаректируйте ВЕЛИКИЕ Красным цветом первое действие с контроллера происходит потом синия второе действие после ответа в модели Вместо query в чек self Вот ссылкой на картинку если кому-то не видно https://hkar.ru/QFOr
Ооо...это бессмертная тема для холиваров. И поднималась стотыщраз. Ды как реализуешь, так и реализлвывай. Главное, чтобы логически приложение было разделено на уровни. Все. Во многих случаях модель вообще является частью контроллера и норм. Либо вообще не существует как программируемая сущность, оставаясь лишь уровнем хранения данных, то есть модель размазывается по БД. MVC это не готовый архитектурный шаблон. Это философия разработки.
А как к примеру вы смотрите на всякие шаблоны типа, Одиночка и т.п. я вот к примеру не имею какого-то нормального как такового опыта и не вижу особого применения удобства этих шаблонов, вижу удобства MVC в понимании и т.д а в других, где можно посмотреть чтобы разобраться чтобы вначале пути строить правильные по структуре архитектуре и т.п приложения?
Ты спросил, за что я не люблю JQuery. Я ответил. Его сообщество, собственно, меньшее из зол. Оно не доставляет проблем лично вот разработчику. Все остальные же пункты - доставляют. --- Добавлено --- Это все не взаимоисключающие вещи же. Паттерны проектирования - вещь хорошая. Но многие из них очевидны для смекалистого разраба. Для меня, помню, в универе было открытием, что, оказывается, в одном из проектов я юзал фабрику, стратегию, фасад и прототип, ничерта не зная о них, потому как до паттернов мы еще не дошли. Почувствовал себя Остапом Бендером на шахматной партии. Это я к чему. Паттерны - тоже не некая конкретная архитектурная единица или класс. Это просто рекомендации для распространенных кейсов, позволяющие не ломать голову над их проектированием. Достаточно просто знать, что можно вот сделать так и так.
У меня пока один проект, где много всяких паттернов наприменено. Для многих проектов они будут лишними. Так, паттерн "хранилище" (репозиторий) - хорошая вещь, но я не буду его применять там, где мне с головой достаточно ActiveRecord запросить прямо в контроллере, поскольку даже в таком виде метод контроллера умещается в 10 строк из-за простоты задачи. Чем сложнее проект, тем очевиднее польза от всего этого.