За последние 24 часа нас посетили 17682 программиста и 1702 робота. Сейчас ищут 1780 программистов ...

Фреймворк. Нужен или нет?

Тема в разделе "PHP для новичков", создана пользователем xCRABx, 14 дек 2015.

  1. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Начался троллинг. А может не надо? :(
     
  2. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Посоны просят, я не против. Я тебе говорил, что кое-кто провокатор. Но их оказалось больше. Мне кажется здешний контингент приуныл в общей массе и стал более чем надо циничен и дерзок. Да и сам портал/форум утопает потихоньку. Не удивительно, но за державу обидно. Такой домен, просите, проёбывать просто святотатство.
     
  3. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    <ОФФТОП>
    Не сыпь соль, это предмет уже отдельного разговора.
    Да ты и сам хорош, что уж там :)
    </ОФФТОП>
     
  4. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    Правильно коллеги говорят - "всё зависит от задачи". Если говорить о сферическом коне, то (R):
    Где-то когда-то писал (не дословно):
    - для мелкого проекта (сайта-визитки, например) использовать CMS
    - для среднего проекта - фреймворк
    - для крупного - чистый PHP (или другой)
    Это для "бизнеса". Если "ради своего удовольствия как разраба", то лучше всего чистый PHP, в крайнем случае ФВ.
    Стоит помнить, что "фреймворк" это просто библиотека готовых решений, не более. Коллеги, говорившие выше, правы - если у Вас "большой проект" (т.е. крупный проект), то со временем у Вас появится/создастся свой ФВ. Будет он лучше или хуже уже готовых ФМ, зависит только от Вас и/или вашей команды.

    По этому поводу коллеги, говорившие выше, и правы и неправы одновременно. Правы в том, что любое универсальное решение будет медленнее, чем узкоспециализированное. И не совсем правы, например, говоря что "Скорость исполнения это не фетиш ... Гораздо важнее сосредоточиться на цели, не отвлекаясь на детали.". Тут опять всё зависит от задачи. Например, если задача сделать проект, который генерит 1 млн страниц в сутки на сервер с пиковой нагрузкой 2млн (*2), то пофиг сколько времени генерится страница - 0.1с с использованием ФМ или 0.01с на чистом ПХП. А если задача - 10млн, то ФМ уже зло. Аналогично с временем разработки - чтобы создать свой ФМ понадобится несколько месяцев, чтобы изучить - пару недель. Выбирать что важнее по задаче. И т.п.

    И по поводу "проще менять разрабов, когда они все знают фреймворк" тоже "и правы и неправы". Правы в том, что проще найти "юного падавана", который уже изучил универсальный ФВ и неправы в том, что на "большой проект" надо брать этих юниоров. А хорошему разрабу пофиг на чём писать - переход с ПХП на ФМ или с ФВ на ФВ займёт всего пару недель, или меньше.

    Как-то так...
     
  5. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    + 100500

    И свои 5 копеек

    Когда пишется что то новое и уникальное, всегда в любом ФВ упираешься в то, что стандартное работает "немного не так как нужно". И тут встает дилема "допила" стандартного под свои нужды

    Как правило это решается правкой кода ФВ. А потом в ФВ находится дырка, его обновляют и пистец...все поплыло

    ВСЕ имхо конечно же )

    Вобщем пиши на чистом.
     
  6. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Это никогда не делается. Не знаю, как Laravel, но Yii2 позволяет любой стандартный компонент подменить на свой благодаря dependency injection. Kohana, которой пользовался до этого, позволяет сделать то же самое благодаря архитектуре HMVС. То, что в папке vendor - свято, и не меняется.
     
  7. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    В итоге, в оригинальной ветке дырку заделали, а ты, из соображений "трону, сломается", остаешься с дыркой в поправленном коде.
     
  8. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    Именно об этом я и хотел сказать )
     
  9. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    однажды мне тоже пришлось делать правки в ядре одной цмс(кажись Expression Engine), ибо заявленный в документации функционал работала некорректно в некоторых граничных(как раз наших) случаях.
    проект был долгий. и к моменту выхода в продакшн, версию цмс меняли несколько раз из за всяких добавленных плюшек.
    В итоге мне пришлось при каждом обновлении цмс, повторно опять править и ядро. Благо сам код ядра менялся мало, и костыль мой оставался практически неизменным.
     
  10. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Ну так свой стараешься наследовать от стандартного, и поправить только то, что нужно тебе. Так что есть надежда, что поправка сработает. В принципе, по поводу дыры оба варианта - и поправить vendor, и использовать DI - одинаково мороки может доставить.
     
  11. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Видимо тогда ты не знал о существовании систем контроля версий.
     
  12. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    тут больше подходит автоматизированное тестирование. но и контроль версий тоже изрядно бы помогал.
     
  13. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    Тогда как раз осваивал меркуриал. Как он мне мог помочь в встраивании костыля в код сторонней цмс?
     
  14. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Ведешь свои фиксы в ветке куда мержишь пришедшие изменения ядра цмс. Если мало менял - вообще без проблем, даже не заметишь.
     
  15. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    ну да. так проще мержить, до тех пор пока там не появятся изменения которые полностью обесценят код костыля или проблема не уйдет в другое место. все равно нужно каждый раз анализировать изменения и смотреть на что теперь костыль повлияет, и не сломает ли он вообще логику работы. ну и в идеале конечно нужно еще автоматизированное тестирование, чтоб видеть что ничего не сломалось от костыля.
     
  16. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    А можно пример? Вот что такое нужно сделать, что бы пришлось менять код фреймворка?