Ответы пользователя по тегу PHP
  • Фризы при автокомплите кода в phpstorm

    Fastto
    @Fastto
    замечал тормоза, когда например апнешься с репы, начинается переиндексация — пока по коду бегаешь, не тупит, но стоит дернуть project tree или автокомплиту выпасть, подмерзает секунды на 2-3. ubuntu 11.10
    Ответ написан
  • Лаконичный класс для логирования событий

    Fastto
    @Fastto
    Посмотрите этот класс на github — это класс диагностики

    begin() — инициализирует лог

    log( $text, $isImportantly = false ) — собственно добавляем запись в лог, с пометкой важности

    showLog( $logMode = DIAGNOSTICS_LOG_MODE_TEXT ) — вывод лога, доступны 2 режима — html и в поток

    каждая строка выводится с пометкой времени в миллисекундах с точностью до 2-го знака после запятой

    в качестве хранилища использован реестр — т.е. нужно будет разместить хранилище внутри класса, чтобы не тянуть за собой MB\Registry.php

    Чтобы реализовать все ваши потребности необходимо минимум вмешательств в методы log и showLog
    Ответ написан
    Комментировать
  • Как выполнить mysql запрос в php не дожидаясь его окончания?

    Fastto
    @Fastto
    Используйте механизм очередей.

    Смысл: когда вам нужно что-то выполнить «долгоиграющее» по определенным обстоятельствам или событиям, вы «помещаете в очередь на выполнение» определенную задачу. А сама очередь будет извлекать из стека задачи по одной и выполнять их. Это можно сделать например раз в минуту по крону специальным скриптом — крон-менеджером.

    В качестве примера реализации можно посмотреть на таски симфони
    Ответ написан
    Комментировать
  • Как сделать хотя бы приближенный к рандому рандом на сайте?

    Fastto
    @Fastto
    Я использую такой алгоритм.

    Есть несколько блоков, один из которых должен быть показан в определенном месте сайта.
    У каждого блока есть вес, влияющий на вероятность появления блока.

    Складываем вес всех блоков, параллельно формируем матрицу соответствия случайного числа блоку

    генерим случайное число от 0 до общего веса всех блоков минус 1.

    По полученному числу берем индекс блока из матрицы соответствия.

    Матрица соответствия наполняется на этапе подсчета общего веса блоков

    например у блока 1 вес 3, у блока 2 вес 3, у блока 3 вес 1, матрица получится такая.
    $m3x = Array(
    0 => 1,
    1 => 1,
    2 => 1,
    3 => 2,
    4 => 2,
    5 => 2,
    6 => 3,
    );

    работает все отлично.
    Ответ написан
    3 комментария
  • MPDF, проблема с кириллицей, кто-нибудь справился?

    Fastto
    @Fastto
    Работаю с mPDF после того как перепробовал буквально все, включая консольные утилиты.
    Проблем нет. UTF-8 — чешские, немецкие, русские символы, латиница — все в порядке.
    Работает 100%. Создаем сложные документы. Если еще актуально — напишите в личку, помогу чем смогу.
    Ответ написан
    1 комментарий
  • Из html в pdf. Посоветуйте хорошую библиотеку для php

    Fastto
    @Fastto
    недавно пришлось челое исследование на эту тему делать.

    html2pdf
    самый функциональный, но скорость генерации «сложной страницы» — 30с, размер файла 1мБ

    самый быстрый — - компилится под любую ось, есть обертка под PHP, время на ту же страицу < 1c, размер файла 60кб, один минус — нет поддержки UTF-8
    Ответ написан
    2 комментария
  • Как защитить php код от воровства. Чем и как закодировать?

    Fastto
    @Fastto
    первый вариант — напишите собственный обфускатор — эффект будет лучше, если хотите пример, стучите в личку
    второй вариант — вынести часть кода в расширение php — например рендер определенных виджетов, в общем по ситуации
    третий вариант — кодирование интерпретируемого кода, декодирование происходит функциями расширения php, при этом кодированный код перед этим еще и обфусцирован, а так же часть прикладной логики вынесена отдельными классами/функциями в расширение. Не панацея, но 95% желающих хакнуть отсечет, а кому очень нужно получить ваш код, получит его все равно.
    Ответ написан
    Комментировать
  • Паттерны в php

    Fastto
    @Fastto
    википедия — по большинству паттернов предоставлена реализация на php
    Ответ написан
    Комментировать
  • PHP: нужно ли создавать массив перед его заполнением?

    Fastto
    @Fastto
    стоит самый сверх-высокий уровень — нотисов нет, можно пользоваться, версия 5.3.6, что будет дальше неизвестно.
    Ответ написан
    Комментировать
  • Как вы ушли от PHP?

    Fastto
    @Fastto
    Поправлю Вас
    Известно, что PHP программистов в наше время «великое множество»

    PHP программистов, как и программистов в целом ничтожное меньшинство, великое множество малоопытных программят.
    Как вы ушли от PHP?

    Как вы думаете, что вам скажет музыкант в ответ на вопрос «Как бы бросили балалайку и начали играть исключительно на домре?» или у сантехника «Как вы перестали пользоваться ключем на 13?»
    Нельзя прийти или уйти от языка — это инструмент, который предназначен для определенных задач. И хороший настоящий программист должен наращивать свой инструментарий, и уметь его использовать по назначению.

    Если говорить именно о недостатках языка — то мне лично не нравится в нем нестрогая типизация и всякие неожиданности zend engine — как например интуитивно непонятная оптимизация работы со значениями по ссылке.
    Ответ написан
    4 комментария
  • Практика программирования на PHP

    Fastto
    @Fastto
    недавно кто-то хотел на php сделать «карточки» для изучения английского, но передумал, дерзайте :) пара таблиц, минимум верстки. Или придумайте что нибудь интересное, чтобы заинтересованность не пропала сразу же — например игра в крестики нолики с сохранением результатов в БД — далоать поэтапно, заодно и стили и js и php и sql потрогаете.
    Ну или в конце концов, самое легкое и полезное, что можно придумать — это запрограммировать какой нибудь психологический тест в несколько шагов — т.е. каждый вопрос — это новая страница.
    Ответ написан
    1 комментарий
  • Вывод сообщений в реальном времени (JS + PHP)?

    Fastto
    @Fastto
    Я бы лично организовал следующим образом:
    1) Страница диспетчер — статическая, загружается быстро. По загрузке отправляет ajax-запрос на выполнение вашего долгоиграющего скрипта (или можно запрос отправить сабмитом в iframe)
    2) Скрипт по ходу выполнения созданные сообщения складывает в очередь в таблицу бд или текстовый файл.
    3) Со страницы диспетчера периодическим ajax-запросом получаем готовые новые сообщения из очереди.
    Ответ написан
  • PHP: непонятное поведение оператора "or"

    Fastto
    @Fastto
    Недавно на хабре рассматривался вопрос — оператор запятая. Вот там, кроме всего прочего, изложен ответ на интересующий Вас вопрос.
    Ответ написан
    2 комментария
  • про обучение пхп "с нуля"

    Fastto
    @Fastto
    Определенно курсы — это выход, так как человек, который весьма далек от повседневного кодинга, даже от прочтения книги не всегда станет умнее. Ну и еще Вам нужно определиться конкретнее — Вам нужен какой-никакой веб-разработчик или просто человек для узконаправленной однотипной работы, если второе, то я думаю хватит и недели заглядывания из-за спины в рабочий процесс, с параллельным просматриванием литературы «для чайников».
    Ответ написан
    2 комментария