• Кеширование данных "правильнее" описывать в модели или контроллере?

    В репозитории. Модель простой POPO, о БД вообще ничего не знает, её единственная область ответственности — моделировать предметную область. Ответственность репозитория — хранить сущности модели, где и как только он знает. Как вариант, да, прокси, реализующий тот же интерфейс, что и «чистый» репозиторий. Другой вариант — кэшировать результаты запросов ещё ниже, где-то на уровне DBAL/DAL. Но на практике только прямо в репозитории реализовывал, что-то вроде

    class UserRepository {
      public function getById($id) {
        if ($this->cache->hasKey('user' . $id)) {
          $user = $this->cache->getByKey('user' . $id);
        } else {
          $user = $this->db->getUserById($id);
          $this->cache->set('user' . $id, $user);
        }
    }
    
    Ответ написан
    Комментировать
  • Сколько сегодня может получать опытный веб-разработчик?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    работая круглые сутки можно заработать только билет в дурку.
    работая на фрилансе в одиночку — всё зависит от твоего умения продаваться, но фриланс только в том случае, если можешь заработать больше или столько же как в офисе.
    в офисе зависит от страны, в минске НОРМАЛЬНЫЙ программист не меньше 1k, в киеве чуть больше, в питере 1.5-2k, в москве от 2k. Верхняя граница зависит уже не от программерских качеств, но 3-4k есть люди, если хорошо разбираешься в бизнес процессах или хайлодах, то небось и того больше.
    Ответ написан
    2 комментария