• Сomposer, очистка кэша

    Для очистки кэша в Сomposer достаточно выполнить одну команду в терминале:

    composer clearcache
    

    Или очистите кэш для нескольких пакетов:

    composer clearcache packagename1 packagename2 ... packagenameN
    

    8 января 2017 г.     0     6     Егор         Composer    

    Подробнее...
  • Yii framework, SELECT COUNT DISTINCT

    Простой пример получения количества уникальных записей столбца с условием:

    $model = ModelName::model()
        ->count(array('select' => 'count(distinct t.field_name)', 'condition' => ''));
    

    30 декабря 2016 г.     0     20     Анатолий Громов         Yii Framework, MySQL, Active Record    

    Подробнее...
  • MySQL, сортировка выборки в заданном порядке

    SELECT * 
    FROM  `table_name` 
    WHERE column_name
    IN (value1, value10, value3, value2, value5, value4) 
    ORDER BY FIELD(column_name, value1, value10, value3, value2, value5, value4)
    

    Например нам нужно получить записи которые имеют id: 10, 5, 4, 2, 9, 1 именно в указанном порядке:

    SELECT * 
    FROM  `users` 
    WHERE id
    IN (10, 5, 4, 2, 9, 1) 
    ORDER BY FIELD(id, 10, 5, 4, 2, 9, 1)
    

    25 декабря 2016 г.     0     22     Анатолий Громов         MySQL    

    Подробнее...
  • Yii framework, установка на OpenServer в Windows

    Создаем папку для проекта в OpenServer (/OpenServer/domains/new.site.local).Скачиваем yii www.yiiframework.com/download/#yii1. Распаковываем из архива папку farmework в ранее созданную папку.

    Открываем консоль OpenServer'а и переходим к проекту в папку framework (1) и выполняем установку (2):

    cd domains/new.site.local/framework
    yiic webapp ../
    

    16 декабря 2016 г.     0     43     кодер.укр         Yii Framework, Install, OpenServer    

    Подробнее...
  • Исправляеем работу горячих клавиш на кирилической (русской) раскладке в phpStorm на Ubuntu

    Не работают горячие клавиши на кириллической (русской, украинской, ...) раскладке в phpStorm на Ubuntu? Например не работают сочетания клавиш Ctrl+C, Ctrl+V, Ctrl+A, Ctrl+X. Как ни странно, это давно известный баг, который никто не хочет исправлять.

    После поиска решения данной проблемы я нашел костыльное, но рабочее решение. И так исправляем работу горячих клавиш на кириллической раскладке в phpStorm на Ubuntu (проверено на phpStorm 2016.3 и Ubuntu 16.10).

    Чтобы решить эту задачу, необходимо закрыть PhpStorm. Скопировать решение из github репозитория. Это можно сделать несколькими способами.

    1) Открываем https://github.com/zheludkovm/LinuxJavaFixes, качаем zip файл (clone or download) и распаковываем его в папку /home/username/fix/

    Где username - имя пользователя.

    2) Или переходим в папку где будет храниться данный костыль фикс:

    cd ~/fix/
    

    И выполняем команду:

    git clone git@github.com:zheludkovm/LinuxJavaFixes.git
    

    Теперь открываем файл phpstorm64.vmoptions или phpstorm.vmoptions (если вы используете phpStorm x32), можно добавить в оба файла:

    gedit /opt/phpstorm/bin/phpstorm64.vmoptions
    

    Где /opt/phpstorm/ - путь к папке с phpStorm

    И добавляем в конец файла следующую строку:

    -javaagent:/home/username/fix/LinuxJavaFixes/build/LinuxJavaFixes-1.0.0-SNAPSHOT.jar
    

    Где /home/username/fix/ - путь к папке с фиксом.

    Сохраняем файл. Все, запускаем phpStorm и радуемся работой горячих клавиш кириллической (русской, украинской, ...) раскладке в phpStorm на Ubuntu.

    13 декабря 2016 г.     0     81     Егор         git    

    Подробнее...
  • Часто используемые директивы в robots.txt

    robots.txt должен находиться в корене сайта.

    Запретить индексирование всего сайта для всех роботов

    User-agent: *
    Disallow: /
    

    Разрешить индексирование всего сайта для всех роботов

    User-agent: *
    Disallow:
    

    Или просто оставте файл /robots.txt пустым.

    Закрыть от индексации несколько каталогов и (или) файлов

    User-agent: *
    Disallow: /tmp/
    Disallow: /dir1/
    Disallow: /dir2/
    Disallow: /file1.html
    Disallow: /file2.html
    

    9 декабря 2016 г.     0     24     кодер.укр         robots.txt    

    Подробнее...
  • Linux, смена пользователя в терминале

    Для временной смены пользователя в консоле необходимо выполнить следующую команду:

    su username
    

    Для проверки имени текущего пользователя можно выполнить команду:

    whoami
    

    Для завершения текущего сенаса пользователя и возвращения предидущего пользователя (например, обратно в root):

    exit
    

    8 декабря 2016 г.     0     66     Егор         Linux, terminal    

    Подробнее...
  • Смещение якоря при фиксированном меню

    Если вы используете фиксированное меню в верху сайта, то вы могли столкнуться с проблемой, что заголовок якоря перекрывается самим фиксированным меню. Можно решить эту проблему с помощью padding или margin, но в таком случае получим лишний отступ пред якорем или контентной частью. Для решения этой задачи можем использовать следующий код:

    $( document ).ready(function() {
        //получаем высоту панели
        var headerHeight = $('.navbar-default').outerHeight();
    
        $('a').on('click', function(e) {
            // определяем все якорные ссылки и высчитываем высоту к блоку прокрутки
            var $anchor = $(this);
            $('html, body').stop().animate({
                scrollTop: $($anchor.attr('href')).offset().top - headerHeight
            }, 1500, 'easeInOutExpo');
            event.preventDefault();
    
            //добавляем якорь в url
            history.pushState({}, "", this.href);
        });     
    });
    

    Где .navbar-default - класс фиксированного меню.

    Скрипт вычислит высоту меню и переместит пользователя к якорю за вычетом высоты меню. Таким образом меню не будет перекрывать заголовок (начало) якоря.

    6 декабря 2016 г.     2     72     Алиса Ставко         jQuery    

    Подробнее...
  • Yii, системные псевдонимы путей

    Получение путей в Yii, на примере OpenServe в Windows и домена domain.local:

    Псевдоним Путь Описание
    Yii::getFrameworkPath(); D:\OpenServer\domains\domain.local\framework Путь к фреймворку yii
    Yii::getPathOfAlias('system'); D:\OpenServer\domains\domain.local\framework Путь к фреймворку yii
    Yii::getPathOfAlias('webroot'); D:/OpenServer/domains/domain.local Путь к корню сайта
    Yii::getPathOfAlias('application'); D:\OpenServer\domains\domain.local\protected Путь к папке protected
    Yii::getPathOfAlias('ext'); D:\OpenServer\domains\domain.local\protected\extensions Путь к папке с расширениями
    Yii::getPathOfAlias('zii'); D:\OpenServer\domains\domain.local\framework\zii Путь к папке с расширениями библиотеки zii

    1 декабря 2016 г.     0     45     Alex         Yii Framework, multilanguage, I18N    

    Подробнее...
  • PHP, как получить последний день недели по ее номеру

    Формат даты будет выглядеть так d.m.Y, для получения последнего дня недели по ее номеру можно получить следующим образом:

    <?php
    $year = date('Y'); //нужный год
    $weekNumber = date('W'); //номер нужной недели
    $lastDay = date('d.m.Y', ($weekNumber + 1) * 7 * 86400 + strtotime('1.1.' . $year) - date('w', strtotime('1.1.' . $year)) * 86400);
    echo $lastDay;
    

    8 ноября 2016 г.     0     38     Alex         PHP    

    Подробнее...