За последние 24 часа нас посетили 17366 программистов и 1725 роботов. Сейчас ищут 1536 программистов ...

Движок или Фреймворк?

Тема в разделе "PHP для новичков", создана пользователем Михаил Запаленов, 3 сен 2017.

  1. Михаил Запаленов

    С нами с:
    2 авг 2017
    Сообщения:
    120
    Симпатии:
    1
    Движок типа. Вп модкс или Yii2 framework. Хочу стать профи)
     
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Профи по движкам или профи по фреймворкам?
     
    askanim и TeslaFeo нравится это.
  3. Михаил Запаленов

    С нами с:
    2 авг 2017
    Сообщения:
    120
    Симпатии:
    1
    Программистом в целом чтобы был если что в будущем более лёгкий переход на другую область пп или Язык
     
  4. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Тогда нужно язык изучать, а движки там всякие и фрейворки - это уже будет приятным дополнением к вашим полученным знаниям. Была бы моя воля, я бы запретил новичкам к ним доступ, пока они хотя бы до среднего уровня знания языка не дошли.
     
    askanim и Fell-x27 нравится это.
  5. Михаил Запаленов

    С нами с:
    2 авг 2017
    Сообщения:
    120
    Симпатии:
    1
    А я и многое уже понял из языка, фреймворк мне как ускорение, потому что там есть уже компосер и автоматическая обработка ошибок. Вопрос такой Yii2 - Laravel - Symfony? Для интернет магазинов, блогов всяких и т.п.
     
  6. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Проиграл.
    Вот почему я против всей этой заразы, ребят. Вот почему.
    Ну, можете пофрилансить. А на первом же собеседовании, где-нибудь за 70к, вас втопчут в грязь.
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Ды норм тема этот ваш компосур. Но все эти новомодные штуки можно юзать только тогда, когда понимаешь, что они делают, и когда можешь сделать все то же сам. В таком случае ты просто срезаешь угол и экономишь свое время. В противном же случае, ты получаешь на руки черный ящик, который, окромя срезания углов, срезал тебе и квалификацию.

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

    В этом плане меня забавляет медленно умирающая экосистема JQuery. Медленно и мучительно. Тянущая за собой в ад целые когорты "JQuery-разработчиков", не могущих в vanilla настолько, что даже для работы со всякими реактами им обязательно нужен JQuery-плагин, предоставляющий JQuery-обертку для этих целей. А если надо заюзать стороннюю библиотеку откуда-то с гитхаба, для которой не написали JQuery-плагин...ну тогда не судьба, увы. Тогда надо гордо поднять нос и сказать, что бибилиотека-то говно, плагина-то нет. А на предложение "дык напиши сам", слышен немой ответ "не умею...".
     
    Deonis нравится это.
  8. alexpride1993

    alexpride1993 Новичок

    С нами с:
    28 мар 2016
    Сообщения:
    56
    Симпатии:
    20
    Я думаю с симфони начинать точно не стоит, на мой взгляд это действительно сложный фреймворк, хотя как говорят зная его переползти на другие не составит труда. Дли интернет магазинов и блогов вполне подойдет Laravel или Codeigniter. Laravel показался мне очень логичным и лаконичным фреймворком с большими возможностями, тем более он основан на компонентах симфони, фреймворк входит в список топовых и там очень легко ловить ошибки. Кодигнайтер простой как пробка, некоторые его особенности очень спорны (дефолтная шаблонизация вьюшек которой нет, но это лечится приклеиванием blade`a или twig`а, доступ к моделям из контроллера через $this->modelName), но в целом тоже работать можно, я на нем магаз написал.

    Но опять же, как совершенно правильно написал @Fell-x27
    Фреймворки это имбовая штука чтобы пилить проекты относительно быстро и качественно, они дают структурированный каркас, на котором ты можешь наращивать функционал и бизнес логику. Мой тебе совет - ознакомься с каким нибудь легким фреймворком, с тем же Codeigniter, пойми что он делает и попробуй написать то же самое, только свое. У меня была похожая ситуация только в обратном порядке, сначала писал с нуля все, потом начал видеть повторяющиеся компоненты (авторизация, корзина покупателя и т.п.) и выносить все это в библиотеки, потом, начиная осознавать что было бы круто сделать одну структуру приложения для всего запилил свой фреймворк на костылях и велосипедах, а уже потом окунулся в мир взрослых фреймворков.
     
    Fell-x27 нравится это.
  9. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    @Михаил Запаленов Попробуй для начала напиши собственный роутер по стандартам. И напиши просто банально вход куда нибудь по пользователю и паролю. Cделай в своём роутере ещё возможность группировать маршруты. В общем собери свой костыль. И когда твой костыль будет работать и ты будешь плясать от радости что он работает так как ты и хотел, вот тогда можешь сесть за изучение framework а до этого ты будешь бесполезно гавномесить внутри них не понимая для чего вообще всё это нужно.
     
  10. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    @Fell-x27 за что ты так не любишь жиквери?
    Он обеспечивает низкий порог вхождения в клиентский web.
    Люди не рождаются профессионалами.
     
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Ага. А ещё позволяет писать прикольные штуки типа
    Код (Javascript):
    1. $(this).closest(".itemBlock").find(".itemTitle").val(...);
     
  12. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    А ведь по сути, все эти фреймворки, это же обычный код на php, только сделан профессионально?
     
  13. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Да. Если фреймворк хороший - то очень профессионально. Готовое решение наиболее общих задач.
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Он обеспечивает засилье перделок, ради которых тянется тормозная тягучая либа, к которой, ради каждой новой микроперделки прикручивается по плагину, потому что плата за "низкий порог". В итоге рождается уродливый монстр, на котором, до кучи, написать что-то окромя тех же свистелок и перделок невозможно из-за убогой архитектуры и богомерзкого Jquery-object, из-за чего код чего-то чуть крупнее наперстка уже становится похож на неотлаживаемый клубок коллбеков и обрастает такой лютой связностью, что что-то тронуть без того, чтобы ничего не упало к чертям - нереально.

    Он насилует клиента тяжелыми выборками по DOMу, тяжеленными анимациями, построенными на "ручных" пересчетах параметров, из-за которых DOM начинает ходить ходуном, заставляя браузер пересчитывать лейаут по нескольку раз в секунду.

    Он навязывает свою "экосистему", пытаясь переписать ваниллу. Это как если бы на php написали php. Бессмысленно, беспощадно. ~70% JQuery - это тупо вот обертки над ванильными методами, возвращающие JQuery-object.

    Сам JQuery-object это довольно тяжелый тормозной монстр. Чтобы было понятно, любая DomNode - это тяжелый объект. Но JQuery накручивает на него обертку, которая дополнительно утяжеляет его в разы.

    Все киллерфичи JQuery давно есть в браузерах нативно, работающие лучше и быстрее. Хотя, не спорю, сам JQuery и являлся стимулом к их внедрению, но теперь он не нужен.

    В своем желании написать JavaScript на JavaScript разрабы JQuery породили такое явление, как JQuery-программист. Абсолютно беспомощное существо, боящееся шаг ступить за пределы функции $, но дико гордящееся этим.

    Как-то так:
    [​IMG]

    Причем, совместимость с ваниллой околонулевая. Даже событийная система перепахана под себя.

    Этого достаточно?
    --- Добавлено ---
    Я, когда не умел кодить на JS, тоже дергал сниппеты для JQuery и радовался, да. Это вот яркий показатель применимости оного. Что интересно, стоит человеку изучить JS, как он сразу начинает смотреть на JQuery другими глазами.
     
    Dimon2x нравится это.
  15. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    @Fell-x27, получается ты все слайдеры, выделятели картинок и прочее, для чего обычно используются плагины jQuery, пишешь сам?

    Я не люблю JavaScript (особенно выносящую мозг объектную модель), но всё о нём знаю (почти всё, от нового синтаксиса я отстал, всё не соберусь основательно с ним разобраться). Складывать числа через jQuery конечно не буду, попросят написать код без jQuery - напишу. Но всё же под jQuery много всего наработано полезного, что самому писать весьма тоскливо. Вот попробовал VueJS, понравилось, в целом, но посмотрел - всё равно куча библиотек есть, которые скрещивают какой-нибудь jQuery-слайдер с Vue. С ангуляром, насколько я мельком смотрел, та же история
     
  16. Михаил Запаленов

    С нами с:
    2 авг 2017
    Сообщения:
    120
    Симпатии:
    1
    Так это даун, а не программист который без jquery не умеет ничего. На jquery and ajax я тоже могу кодить, в этом проблемы нет, чем иногда и занимаюсь подрабатывая верстальщиком.
    --- Добавлено ---
    А так я вообще сейчас заканчиваю с теорией с полиформизмом паттернами и перехожу к практики, хотел использовать фрейм yii2 чтобы не с нуля писать а уже была определенная архитектура а внедрять с нуля mvc и другие паттерны это долго и нудно
    --- Добавлено ---
    Просто посудите сами, в вакансиях везде просят опыт работы с фреймворками, а смысл мне время тратить и писать тот же интернет магазин с своей админкой с нуля без фрейм и получить только одни знание, когда я могу получить сразу опыт разработки на php и работы с фреймворком, разве это не лучше?
    --- Добавлено ---
    Жду от знающих как поступить, оТ админов, т.к им больше доверяю, но другие тоже могут писать у каждого мнение важное)
     
  17. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    У каждого свой путь. Я быстренько за неделю проглотил теорию php, и через месяц сделал первый заказ за деньги (плагин WordPress). Но мне было легко - я знал C++, хотя на нём законченных крутых проектов у меня и не было. Через три месяца уже дорабатывал сайт на Zend + Doctrine, находу узнавая и то и другое. Но Zend мне не понравился, слишком сложный. Потом мне посоветовали Kohana, хорошая была вещь, жаль что загнулась. А потом Yii2, сейчас Laravel прибавил. Недавно пришлось иметь дело с Code Igniter, вот это бред, перенёс тот проект на Laravel и радуюсь :)
     
    Fell-x27 нравится это.
  18. Михаил Запаленов

    С нами с:
    2 авг 2017
    Сообщения:
    120
    Симпатии:
    1
    Меня интересует такой вопрос
    Просто посудите сами, в вакансиях везде просят опыт работы с фреймворками, а смысл мне время тратить и писать тот же интернет магазин с своей админкой с нуля без фрейм и получить только одни знание, когда я могу получить сразу опыт разработки на php и работы с фреймворком, разве это не лучше?
     
  19. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    @Fell-x27 Ты гребешь всех под одну гребенку.
    --- Добавлено ---
    То, что кто-то боится шаг ступить за пределы $ и не хочет развиваться - это проблема лично его.
    --- Добавлено ---
    Но новички без JQuery будут страдать.
    Посему жиквери будет жить до тех пор, пока будут новички и те, кто пользуется их услугами (т е не хочет платить больше) или просто не понимает как оно там всё работает (просто сделайте мне сайт).
    И первые, и вторые, и третьи будут всегда.

    Ну или кто-то разработает лучшее решение, которое будет таким же простым для понимания и меньше грузить бедные процессоры клиентов.
    --- Добавлено ---
    @Михаил Запаленов ты властен поступать так, как знаешь.
    --- Добавлено ---
    это не мгновенно происходит
     
  20. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Можешь и сразу на фреймворке писать. Главное, читать исходник фреймворка. Не постоянно, но надо не бояться это сделать, и надо понимать, как всё работает. В этом смысле Yii2 лучше для начала, там код читается очень хорошо. Код Laravel читается мучительно, даже несмотря на мой опыт.
     
  21. Михаил Запаленов

    С нами с:
    2 авг 2017
    Сообщения:
    120
    Симпатии:
    1
    Еще один вопрос, правильно ли я понимаю паттерн MVC , простой символический пример показываю, мне интересно правильный ли алгоритм использую подкаректируйте ВЕЛИКИЕ :)

    Красным цветом первое действие с контроллера происходит потом синия второе действие после ответа в модели Вместо query в чек self

    Вот ссылкой на картинку если кому-то не видно https://hkar.ru/QFOr

    [​IMG]
     
  22. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Ооо...это бессмертная тема для холиваров. И поднималась стотыщраз. Ды как реализуешь, так и реализлвывай. Главное, чтобы логически приложение было разделено на уровни. Все. Во многих случаях модель вообще является частью контроллера и норм. Либо вообще не существует как программируемая сущность, оставаясь лишь уровнем хранения данных, то есть модель размазывается по БД.

    MVC это не готовый архитектурный шаблон. Это философия разработки.
     
    askanim нравится это.
  23. Михаил Запаленов

    С нами с:
    2 авг 2017
    Сообщения:
    120
    Симпатии:
    1
    А как к примеру вы смотрите на всякие шаблоны типа, Одиночка и т.п. я вот к примеру не имею какого-то нормального как такового опыта и не вижу особого применения удобства этих шаблонов, вижу удобства MVC в понимании и т.д а в других, где можно посмотреть чтобы разобраться чтобы вначале пути строить правильные по структуре архитектуре и т.п приложения?
     
  24. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Ты спросил, за что я не люблю JQuery. Я ответил. Его сообщество, собственно, меньшее из зол. Оно не доставляет проблем лично вот разработчику. Все остальные же пункты - доставляют.
    --- Добавлено ---
    Это все не взаимоисключающие вещи же. Паттерны проектирования - вещь хорошая. Но многие из них очевидны для смекалистого разраба. Для меня, помню, в универе было открытием, что, оказывается, в одном из проектов я юзал фабрику, стратегию, фасад и прототип, ничерта не зная о них, потому как до паттернов мы еще не дошли. Почувствовал себя Остапом Бендером на шахматной партии.

    Это я к чему. Паттерны - тоже не некая конкретная архитектурная единица или класс. Это просто рекомендации для распространенных кейсов, позволяющие не ломать голову над их проектированием. Достаточно просто знать, что можно вот сделать так и так.
     
    Михаил Запаленов нравится это.
  25. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    У меня пока один проект, где много всяких паттернов наприменено. Для многих проектов они будут лишними. Так, паттерн "хранилище" (репозиторий) - хорошая вещь, но я не буду его применять там, где мне с головой достаточно ActiveRecord запросить прямо в контроллере, поскольку даже в таком виде метод контроллера умещается в 10 строк из-за простоты задачи. Чем сложнее проект, тем очевиднее польза от всего этого.