native PHP или Laravel для потенциально крупного проекта?

Проверенные VDS на SSD в Европе от $4 и России: Датацентр №1 от 199руб

Тема в разделе "Вопросы по программированию на РНР", создана пользователем Rednaxela-1, 16 мар 2017.

  1. WMix

    WMix герр M:)ller Партнер клуба

    Сообщения:
    5.924
    Ваш город:
    Berlin
    Address:
    Berlin, Germany
    Country:
    Location on Map:
    можно, мокать только не хочется..
     
  2. Вурдалак

    Вурдалак Newbie

    Сообщения:
    6.025
    Ваш город:
    Russia, Moscow
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    «Модель создает этот класс при работе с базой» — что это? «Модель принимает эту модель для получения VO» — что это? Что такое вообще «модель» в твоём понимании? DTO, VO, Entity, ActiveRecord, DataMapper? Почему модель вообще лезет в базу? Это из разряда «мыши плакали, кололись, но продолжали есть ActiveRecord»? Для entities, value objects, DTO никакие интерфейсы, тем более 1-в-1, не нужны. Для сервисов — по ситуации.
     
  3. grigori

    grigori ( ͡° ͜ʖ ͡°) Команда форума

    Сообщения:
    6.739
    Ваш город:
    Stormwind
    Address:
    Scottsdale, United States
    Country:
    Location on Map:
    сервисы лезут в базу, сервисы :)
     
  4. Rednaxela-1

    Rednaxela-1 Новичок

    Сообщения:
    5
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    давайте дальше по теме - вот можете сказать как определить разработчик способен выполнить то или иное задание стоит ли его брать?
     
  5. grigori

    grigori ( ͡° ͜ʖ ͡°) Команда форума

    Сообщения:
    6.739
    Ваш город:
    Stormwind
    Address:
    Scottsdale, United States
    Country:
    Location on Map:
    @Rednaxela-1, по ответам на вопросы на собеседовании, по решению тестового задания, по знанию смежных технологий
     
  6. Вурдалак

    Вурдалак Newbie

    Сообщения:
    6.025
    Ваш город:
    Russia, Moscow
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Так а почему ты сервис называешь моделью? И если интерфейс только мешает, то почему просто не выкинуть его нафиг? Что именно там так часто добавляется, что интерфейс лень поддерживать?

    Я вот всегда добавляю интерфейс для репозитория, но там всегда два метода: find(): Foo, save(Foo), поэтому его не приходится каждый раз дорабатывать.
    Но я нередко ленюсь добавлять интерфейсы для различных QueryService, если нужно делать разные выборки, примерно как тут: https://github.com/VaughnVernon/IDD...pplication/calendar/CalendarQueryService.java
    Мотивация тут ещё такая, что unit-тесты с участием query services мне обычно никогда не нужны, тут нужны интеграционные или полноценные функциональные тесты, и тут уже что-то мокать не нужно, нужно честно делать выборку из БД.
    Плюс если соблюдать адекватный нейминг без суффикса -Interface, то final class можно достаточно безболезненно заменить на соответствующий интерфейс, если реально появится какое-то ещё хранилище помимо MySQL, например.
     
  7. A1x

    A1x Новичок

    Сообщения:
    988
    Ваш город:
    Kiev
    Address:
    Kiev, Ukraine
    Country:
    Location on Map:
    @Rednaxela-1, главное что дает фреймворк - это структуру проекта (что уже заложено в самом слове фреймворк) - без фреймворка ваш проект превратится в ад гораздо быстрее чем с. Так что если проект "потенциально крупный" тем более лучше использовать фреймворк. Скорость запросов зависит от умения писать запросы, а не от фреймворка
     
  8. michelle

    michelle Новичок

    Сообщения:
    292
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Добавлю - и умения правильно спроектировать саму базу данных - структуру, индексы.
     
    A1x нравится это.
  9. AmdY

    AmdY Пью пиво Команда форума

    Сообщения:
    6.949
    Ваш город:
    Belarus, Minsk
    Address:
    Minsk, Belarus
    Country:
    Location on Map:
    @Rednaxela-1 фреймворк тебя ничем не ограничивает, это просто кусок готового функционала для часто встречающихся задач. Никто не принуждает его использовать на 100%. На моём последнем большом проекте на laravel было лишь рест апи на java, ruby и php из них брались данные, а функционал фреймворка для работы с базой данных вовсе не использовался.
     
  10. Betatransfer

    Betatransfer Новичок

    Сообщения:
    1
    Ваш город:
    vulica Čyrvonaarmiejskaja 6, Minsk, Belarus
    Address:
    Minsk, Belarus
    Country:
    Location on Map:
     
  11. antson

    antson на форуме с 2005 года Партнер клуба

    Сообщения:
    1.170
    Ваш город:
    Россия, Липецк
    Address:
    Lipetsk, Russia
    Country:
    Location on Map:
    @Rednaxela-1, открою секрет. Понимание того что нужно формируется у заказчика только после получения готового продукта.
    Иногда он упертый и хочет чтобы гланды удалял проктолог. Послав нафиг ларинголог , он только потом может согласиться . Да нужно было делать по вашему.

    Нативный пхп 90% времени пишешь функционал,который есть во фреймворке. Считая, что ты его сделаешь лучше/гибче /быстрее чем эти идиоты.
    Получаешь такую кашу,которая фиг расширяется/ никто в ней не разбирается. Тот кто ее родил не может быть сокращен.

    Имхо правильнее .Быстрый прототип , чтобы понять бизнес идея работает или нет. Возможно даже на готовой кмс.
    Главное, чтобы ее можно слепить было за 1-2 месяца.

    Ну а дальше допил / переписывание на фреймворке.

    На нативном пхп в конце концов возможно придется переписать проблемные в плане производительности места.
     
  12. HellWalk

    HellWalk Новичок

    Сообщения:
    9
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Если:
    • Делаешь проект для себя
    • Хочешь лучше освоить PHP
    • Много свободного времени
    Можно делать как угодно, в том числе взяться и за написание своего фреймворка.

    Если же:
    • Делаешь проект для заказчика
    • Над проектом будет работать другие люди
    То лучше использовать распространенный фреймворк.

    Исключение: сверх-крупные проекты. Например социальная сеть вконтакте, для которой даже свою модификацию php языка сделали - kphp
     
    Последнее редактирование: 20 мар 2017
  13. grigori

    grigori ( ͡° ͜ʖ ͡°) Команда форума

    Сообщения:
    6.739
    Ваш город:
    Stormwind
    Address:
    Scottsdale, United States
    Country:
    Location on Map:
    facebook выпускает hhvm как модификацию php для ускорения, а php team на его основе выпускают ng, и php7 обходит hhvm по скорости, потому что уделяют внимание оптимизации на реальных задачах, а не компиляции,
    и теперь все, кто ушли в подмножество, должны все это выкинуть и переписывать назад на php
     
  14. fixxxer

    fixxxer К.О. Партнер клуба

    Сообщения:
    12.446
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    @grigori, подозреваю, что чем больше в новом коде будет использоваться строгая типизация из php7, тем эффективнее будет компиляция, и когда-нибудь и в php появится JIT.

    Кстати, от hhvm есть очень большая побочная польза - они написали спецификацию языка php, со всеми нюансами фактической (единственной на тот момент) реализации.
     
    Yoskaldyr нравится это.
  15. grigori

    grigori ( ͡° ͜ʖ ͡°) Команда форума

    Сообщения:
    6.739
    Ваш город:
    Stormwind
    Address:
    Scottsdale, United States
    Country:
    Location on Map:
    От нее огромная польза. Без нее не было бы этого многократного роста производительности, и php постепенно ушел бы в небытие как perl и рельсы на фоне развития JS. Я о другом.