• Где лучше качество кода?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Все плохо
    • Глобальные переменные — зло
    • На лицо некий код, который и с сессией работает и с БД — явное нарушение общепринятных принципов, например SRP
    • $dao как инициализирована? Явно не через конструктор
    • Использование цифры, вот сиди гадай по ней — это плохо, используйте именованную константу. Например 3 — это некий статус для desktop, вот и назовите ее STATUS_DESKTOP, хотя далее...
    • вы обращаетесь к одному методу, который шибко умный — работает с флагами, тем самым нарушая SRP и сам содержит if/else, сделайте просто 2 раздельных метода:
      getMobileOpinionList()
      getDefaultOpinionList()

    • Предикат лучше вынести в отдельный метод isMobileOnly(), тк условия могут поменяться в нем, не будете же везде в if менять по всему проекту
    Ответ написан
    33 комментария
  • Как округлить до большего целого числа в jquery?

    @spd78
    Люблю MODX
    ceil — округляет все в большую сторону,
    floor — в меньшую,
    round — меньше 0.5 — в меньшую, больше 0.5 — в большую.
    Ответ написан
    1 комментарий
  • Как подключить github к реальному проекту?

    sabramovskikh
    @sabramovskikh
    github это только место хранения информации из git.
    Создаете там пустой проект (репозиторий). Создаете на хостинге git clone этого проекта, добавляете файлы и делаете push на сервер гитхаба.
    Далее ваша команда делает git clone вашего репозитория и делает нужную им работу, так же пушит на сервер. Когда вам нужно вы делаете pull с сервера гитхаба на хостинг сайта.
    Ну это вкратце и этого должно хватить на первое время.
    На ютубе вроде есть уроки по гиту, советую посмотреть их
    Ответ написан
    4 комментария
  • Как узнать какой именно php скрипт приводит к ошибке или работает медленно?

    copist
    @copist
    Empower people to give
    Если есть возможность, замените Apache на PHP FPM SAPI, прилагающийся к PHP. При этом можно включить PHP slow log. В специальном логе будут появляться стек-трейсы процессов, которые работали больше заданного количества секунд именно в этот самый момент, то есть например, в 30ую секунду от запуска процесса.

    В случае проблем рекомендуется делать slow log на все запросы, которые работают больше 1-2 секунд. Возможно дьявол кроется не в длинных процессах, а в огромном количестве мелких.

    Также к PHP FPM прилагается встроенная система мониторинга. Можно посмотреть, сколько сейчас порождено процессов. Иногда их чрезвычайно много.

    Если заменить Apache на PHP FPM невозможно, то путь исследования более длинный: нужно в настройках Apache настроить CustomLog с замером времени на выполнение. см. ответ на serverfault. Затем исследовать логи (там будут только URL запросов, без стрек-трейсов) и самостоятельно определять, что именно могло вызвать тормоза.

    Можно подключить профилировщики XDebug + Webgrind или XHprof. Замеры можно делать на выборочных запросах, например только для пользователя с определённого IP или при наличии определённой куки. Отчёты будут очень детальные и будут включать замеры по всем внутренним вызовам от начала до завершения процесса, а не только в 30ую секунду, как делает php slow log.
    Ответ написан
    Комментировать
  • Почему другой цвет текста на Safari iOS?

    lamer350
    @lamer350
    กำลังสูงสุด
    Все потому что на мобильный устройствах - телефоны автоматически распознаются и генерируются ссылки на них браузером.
    Просто в css там где у вас .header_contacts p напишите так: .header_contacts p, .header_contacts p a
    Таким образом примените стиль и для ссылок которые генерирует браузер.
    Ответ написан
    Комментировать
  • Как вылечить сортировку кириллицы в get_terms?

    @80689248440 Автор вопроса
    $termchildren = get_terms('product_cat', $args); 
    $array = (array)$termchildren; 
    $sortirovka = array();
    foreach($array as $value){
    	$sortirovka[$value->name] = $value;
    }
    ksort($sortirovka,SORT_LOCALE_STRING);
    Ответ написан
    1 комментарий
  • Выравнивание по вертикали placeholder у input в Safari и Chrome - как сделать единым?

    Serj-One
    @Serj-One
    i'm sexy and i know it
    input{
    	height: 72px;
    	line-height: 72px; // вычти 4px на бордер
    	padding: 0 20px;
    }

    Центрировать текст в инпутах нужно через line-height а не padding.
    Ответ написан
    1 комментарий