Ответы пользователя по тегу MySQL
  • Почему не работает код в задаче гостевая книга на php?

    Skiphog
    @Skiphog
    Crutch developer
    Метод render() в классе View работает не так, как вы этого ожидаете.

    Когда вы подключаете шаблон, то в данном случае там доступен только $this, а $this - это сам объект View.
    Поэтому получить массив персон вы можете только через $this->data['persons'] и никакой $persons там естественно нет.
    т.е. в шаблоне работать будет только так
    //...
    foreach ($this->data['persons'] as $person) {
      echo $person['lastName'];
    //  ...
    }

    Понимаете?

    Для того, что был доступ в шаблоне именно к переменной $persons, вам надо импортировать её в методе render() с помощью функции extract() или через присваивание переменной переменной
    public function render(string $template) 
    {
      ob_start();
      // функция импорта
      extract($this->data, EXTR_OVERWRITE);
      include $template;
      $content = ob_get_contents();
      ob_end_clean();
    
      return $content;
    }

    Либо через переменные переменных

    public function render(string $template) 
    {
      ob_start();
      // Импорт
      foreach($this->data as $key => $value) {
       // Переменные переменных $$
        $$key = $value;
      }
      include $template;
      $content = ob_get_contents();
      ob_end_clean();
    
      return $content;
    }

    В том и другом случае результат одинаковый.

    И тогда в шаблоне вы уже сможете работать непосредственно с $persons
    Ответ написан
    2 комментария
  • Почему оператор like работает по разному?

    Skiphog
    @Skiphog
    Crutch developer
    Условие не срабатывает
    is_numeric('1.') // true
    is_numeric('1.1') // true
    is_numeric('1.1.') // false

    Поэтому ваш запрос вообще не выполняется
    Ответ написан
    Комментировать
  • Сессии на memcached, redis или sql?

    Skiphog
    @Skiphog
    Crutch developer
    на сколько я понял, забивая 300мб memcache, я отнимаю 300мб ОЗУ, разумно ли это?

    Что вы такое собираетесь хранить в Memcache ?ОО
    --
    Если учитывать, что сессия в среднем весит ~100 байт(везде по разному, в моих проектах примерно такая цифра ~), то выделив всего 1 МБ вы можете хранить в Memcache 10240 сессий одновременно. Вы представляете сколько это?
    --
    Поэтому хранить сессии в Memcache - хорошее решение.
    Ответ написан
    2 комментария