Ответы пользователя по тегу PHP
  • Возможно ли подружить Node & php?

    @olijen
    Вот, есть возможность из пхп работать с V8. php.net/manual/en/book.v8js.php
    Зачем?
    На ум приходят идеи валидации данных для клиента на сервере и наоборот ну и вообще DRY всяческого для связки PHP и JS. Но я имею ввиду, когда JS в браузере, а пхп на сервере. Зачем связывать node и php - не понятно. Разве что у Вас какой-то странный тандем с демонизацией на ноде и обычным сервером на php. Но если вам нужно их интегрировать друг в друга - это, возможно, архитектурная ошибка. Расскажите о задаче. Или просто интересуетесь?
    Ответ написан
    Комментировать
  • Как пройтись циклом по не вложенной структурк XML?

    @olijen Автор вопроса
    Сам спросил - сам ответил =) Со stackoverflow
    XSLT 1.0. Три варианта.

    Дважды используется following-sibling, что некрасиво и непроизводительно.
    <xsl:for-each select="//tag[@ROWNUM = following-sibling::tag/@ROWNUM]">
        <name>
            <xsl:value-of select="."/>
            <xsl:variable name="rownum" select="@ROWNUM"/>
            <xsl:value-of select="./following-sibling::tag[@ROWNUM = $rownum]"/>
        </name>
    </xsl:for-each>

    Используем ключ. И два цикла, что тоже неизящно.
    <xsl:key name="num" match="tag" use="@ROWNUM"/>

    <xsl:for-each select="//tag[@ROWNUM = following-sibling::tag/@ROWNUM]/@ROWNUM">
        <name>
            <xsl:for-each select="key('num', .)">
                <xsl:value-of select="."/>
            </xsl:for-each>
        </name>
    </xsl:for-each>

    Опять используем ключ. Вместо второго цикла используем доступ по индексу.
    <xsl:key name="num" match="tag" use="@ROWNUM"/>

    <xsl:for-each select="//tag[@ROWNUM = following-sibling::tag/@ROWNUM]/@ROWNUM">
        <name>
            <xsl:value-of select="key('num', .)[1]"/>
            <xsl:value-of select="key('num', .)[2]"/>
        </name>
    </xsl:for-each>
    Ответ написан
    Комментировать
  • Комбинации значений php?

    @olijen
    //Сначала забей массивы с цифрами и символами.
    $one    = [0, 1, 2, /*,...*/'A', 'B', 'C' /*,...*/];
    $result = [];
    //Забивай через 2 цикла
    foreach ($one as $v1)
        foreach ($one as $v2)
            $result[] = $v1 . $v2;
    //Потом можешь имплодить масив в строку или вывести через var_dump 
    echo implode(', ', $result);
    Ответ написан
    1 комментарий
  • Как работает HMVC архитектура?

    @olijen
    Вот реализация MVC с 0 по статье с хабра, сверху дописал HMVC (смотри в app/core/router). Этот проект может ответить на новые вопросы. https://github.com/olijen/mvc
    Если что - пиши, помогу.
    Ответ написан
    Комментировать
  • Где можно использовать паттерн observer?

    @olijen
    Реальную пользу данного паттерна видел только на front-end. На бекенде если php запущен, как модуль apache, то скрипт в основном выполняется последовательно, выдает response и умирает. В таких условиях (особенно на не больших проектах) нет надобности использовать наблюдателя.
    Если интересен наблюдатель, советую изучить его в контексте front-end (к примеру, посмотри реализацию на Backbone.js. Views наблюдают за models, перерисовываясь при изменениях). Кстати, паттерн наблюдатель - один из ключевых паттернов в парадигме MV*. (для общего развития)
    Ответ написан
    Комментировать
  • С чего начать изучение php?

    @olijen
    не совсем согласен с предложениями. В первую очередь я бы определил, с каким видом информации Вам лучше работать. К примеру некоторые лучше усваивают видео уроки, некоторым удобней с бумаги...
    После этого необходимо определить минимальный стек задач.
    Согласен, что стоит изучать с протоколов и сетей, чтобы понять, как вообще всё устроено в веб. Но не думаю, что изучение rest full api будет иметь смысл на ранних этапах. Просто не будет понимания, для чего всё усложняется.
    Далее, хочешь-не хочешь, нужно хотябы на базовом уровне понимать работу форм, работу GET-POST запросов. Если не знаешь, как работают формы HTML и чем POST от GET отличается - значит двигаться дальше еще рано.
    После нужно изучить синтаксические основы. Это не должно доставить проблем.
    После изучения основ нужно практиковать всё, что изучено и учить параллельно дальше. Обязательно включите в изучение ООП, без него никуда. Так же нужно изучить SQL, реляционные базы. Включи в обучение хотябы поверхностное изучение JS + JQuery.

    90% успеха обучения только в практике. Так что нет смысла обильно употреблять теорию. Всё, что не практикуется - либо забудется, либо не правильно воспримется.
    Ответ написан