• Нормальная ли практика инициализировать сессию при первом заходе на страницу сайта?

    Sanasol
    @Sanasol Куратор тега Laravel
    нельзя просто так взять и загуглить ошибку
    Ну если один из самых популярных в мире фреймворков из коробки так делает, то как вы считаете - это общепринято?

    В большинстве случаев никаких проблем в этом нет.
    Есть редкие исключения когда сессии не нужны, то можно отключить.
    Еще более редкие случаи когда сессии лежат на диске и работают для всех посетителей - тогда при (очень) большом количестве посетителей могут быть проблемы с диском точнее тормоза диска.
    Ответ написан
    4 комментария
  • Может ли Cron запускать javascript?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Нет, крон не умеет выполнять javascript.

    Вы можете попробовать запускать по крону браузер, который будет открывать страничку, которая будет открываться с веб-сервера, который будет выполнять php. Затем по тому же крону можно будет этот браузер прибивать.
    Ответ написан
    Комментировать
  • Аналог компонентов 1C-Bitrix в Symfony?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    В Symfony обычно основной код работает в сервисах, а контроллер вызывает нужный сервис. Большой плюс - один раз создал код работы с сущностью, и можно использовать его в любом месте - в любом контроллере, в другом сервисе, в шаблоне. Весь год работы с сущностью - в одном месте (в одном сервисе).
    1) Сделать сервис, который строит список последних новостей (этот же сервис использует кэш).
    2) Создать Twig расширение, которое добавляет функцию получения списка последних новостей (получение из созданного сервиса). Например, создать функцию "lastNews". Ссылку на сервис новостей настроить через контейнер (в services.yml, или где там делаете сервисы). (ссылки для создания функций: 1, 2)
    3) В основном шаблоне (app/Resources/views/layout.html.twig) вызвать созданную функцию. Упрощённо примерно вот так:
    {# app/Resources/views/base.html.twig #}
    <!DOCTYPE html>
    <html lang="ru">
        <head>
        </head>
        <body>
            {% block body%}{% endblock %}
            {% block javascripts %}{% endblock %}
        </body>
    </html>


    {# app/Resources/views/layout.html.twig #}
    {% extends 'base.html.twig' %}
    
    {% block body %}
    <div class="container">
        <div class="sidebar">
            {% block sidebar %}
                <ul class="sidebar-menu">
                {% for item in lastNews() %}
                  <li><a href="{{ item.href }}">{{ item.title }}</a></li>
                {% endfor %}
                </ul>
            {% endblock %}
        </div>
        <div class="content">
            {% block content %}
            {% endblock %}
        </div>
    </div>
    {% endblock %}
    Ответ написан
    5 комментариев
  • Php, как узнать дату начала при известных дате конца и сроке?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    $date = new DateTime(); // объект с текущей датой-временем
    $date->sub(new DateInterval('P46D')); // вычли интервал 46 дней
    echo $date->format('Y-m-d') . "\n";  // 2016-02-02

    Ideone
    Ответ написан
    Комментировать
  • Какой стиль комментирования кода правильнее?

    trevoga_su
    @trevoga_su
    за советы не писать комментарии я считаю нужно больно бить и пожизнено лишать возможности работать программистом.
    код комментариями не испортить, а вот те, кто придут после вас (или вы сами через месяц, полгода, 10 лет) - будут вам очень благодарны.
    самодокументируемый код - это миф.
    все любят ссылаться на фреймворки, но почему-то многие забывают, как дотошно комментируют код во всех современных фреймворках.
    Ответ написан
    4 комментария
  • Достаточно ли этого для модели?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Похоже на кашу, почему инициализация коннекта в базовой модели? Отдельный объект для базы логичнее и правильнее, короче вдумчиво читать принципы ооп и только потом, на бумажке, осторожно, проектировать свой велосипед.
    Ответ написан
    Комментировать
  • Как корректно вывести из базы mySql кириллицу (YII)?

    Просто на всякий случай упомяну, что может быть ошибка еще в неверной кодировке страницы (как самого документа, так и в заголовках meta).
    Ответ написан
    3 комментария
  • Как корректно вывести из базы mySql кириллицу (YII)?

    @karminski
    Senior React.JS Developer
    Проверьте настройки my.cnf
    collation-server = utf8_unicode_ci
    character-set-server = utf8

    Еще можно в my.cnf добавить
    init-connect='SET NAMES utf8'
    но это на крайний случай.
    Ответ написан
    1 комментарий