• Есть отличные примеры создание бота telegram на php?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Абсолютно все что нужно для написания Telegram бота находится на странице https://core.telegram.org/bots/api
    У бота абсолютно тривиальный протокол, json в определенном формате шлется POST запросом по HTTPS.
    Соответственно реализация от языка по факту не зависит, можно хоть на bash скриптах сделать.
    Ответ написан
    Комментировать
  • Как можно преобразовать значение у элемента массива в массив?

    miraage
    @miraage
    Старый прогер
    $input = [
        'foo' => 'one, two, three',
        'bar' => 'baz',
    ];
    
    $result = array_map(
        function ($value) {
            return array_map('trim', explode(',', $value));
        },
        $input
    );
    
    var_dump($result);

    array(2) {
      ["foo"]=>
      array(3) {
        [0]=>
        string(3) "one"
        [1]=>
        string(3) "two"
        [2]=>
        string(5) "three"
      }
      ["bar"]=>
      array(1) {
        [0]=>
        string(3) "baz"
      }
    }
    Ответ написан
    1 комментарий
  • Как полностью удалить MariaDB и заменить на MySQL?

    полное удаление mariaDB UBUNTU
    (для Debian пути и команды могут отличаться)
    sudo apt-get --purge remove mariadb*
    sudo apt-get autoremove
    sudo apt-get autoclean

    если возникают ошибки при удалении -
    заходим в папку /var/lib/dpkg/info
    и удаляем там всё что начинается на mariadb и на mysql
    повторяем предыдущие три команды

    после желательно
    sudo apt-get --purge remove mysql*
    sudo apt-get autoremove
    sudo apt-get autoclean

    убедившись что в /var/lib/dpkg/info ничего не осталось -
    удаляем папку /etc/mysql
    удаляем папку /var/lib/mysql ВНИМАНИЕ здесь хранятся все ваши базы так что если нужно их оставить - переименуйте папку и после установки mysql скопируйте в новую - ТОЛЬКО те которые вы создавали самостоятельно (без системных)

    теперь не забудьте почистить источник репозитория mariaDB который вы добавляли при её установке,
    здесь nano /etc/apt/sources.list
    иначе при попытке установить чистый мускуль увидете как ставятся пакеты от марии, и придётся начинать удаление сначала по тому что получите ошибку при установке. :(

    перед установкой MySql выполните
    sudo apt-get update
    sudo apt-get upgrade

    потом как обычно sudo apt-get install mysql-server
    при этом установка может не спросить пароль для root, а подхватит существующий
    проверить установку можно командой
    service mysql status
    далее
    sudo apt-get install phpmyadmin (если нужно)

    Удачи!
    Ответ написан
    5 комментариев
  • Как открывать несколько окон PhpStorm с разными проектами?

    С версии 8.0, настройки здесь: File->Settings->System Settings-> группа Project Opening -> "Open project in new window" или "Confirm window to project in"
    Ответ написан
    3 комментария
  • Как правильно настроить PHPStorm7 для PHPUnit?

    janson
    @janson
    PHP-разработчик
    Действительно - проще всего с .phar файлом в конкретном проекте.

    Версию PHPUnit ставьте 3.7.XX. С четвёртой версией в PHPStorm 7 пока что баг с запуском тестов (в PHPStorm 8 EAP вроде починили). Вручную из консоли всё работает, а вот из PHPStorm - ругается.

    Как запустить:
    1. Создаём структуру проекта, как по данной вами ссылке:

    |-src
    |   |-autoload.php
    |   |-Money.php
    |
    |-tests
        |-MoneyTest.php


    В файле autoload.php нужно подключить файлы, которые вы собираетесь тестировать.

    <?php
    require_once __DIR__ . '/Money.php';


    2. Настраиваем конфигурацию PHPUnit:
    Run -> Edit Configurations...
    В левой верхней части появившегося окна жмём зелёный плюс и настраиваем конфигурацию:
    - устанавливаем Test Scope на 'Directory' и указываем путь к папке tests
    88950935cf654d2d9913317a82873cc6.png
    - жмём на гаечный ключ и настраиваем путь к phpunit.phar (если у вас локально используется папка с PHPUnit - то подключаете её в File -> Settings -> ProjectSettings -> PHP ... Include Paths, и затем в настройках PHPUnit переключаем на Load From Include Path).
    73258cc7bdf54d138d5cf60708810d02.png
    - также указываем default bootstrap file на наш autoload.php, где подключаем классы, которые собственно будем тестировать (где лежат сами тесты мы указали для PHPUnit в начале).
    - Жмём Apply -> Apply -> OK

    Всё, теперь рядом с созданой конфигурации на панели PHPStorm появилась зелёная стрелка для запуска тестов. Жмём, и если всё правильно - получаем зелёную полосу.
    c3371b9827824186b099c19932bbfac7.png

    Т.е. процесс настройки - это три шага:
    1. указываем где лежит PHPUnit
    2. указываем где лежат тесты
    3. указываем где лежит загрузчик тестируемых классов.

    Вроде всё.
    Ответ написан
    1 комментарий