Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
koyard

Дмитрий

PHP Developer
  • 4
    вклад
  • 24
    вопроса
  • 7
    ответов
  • 57%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Где на самом деле лежит моя бд, которую я развернул в docker-compose?

    koyard
    Дмитрий @koyard
    PHP Developer
    В терминале, из папки с проектом выполни docker-compose exec db bash
    Так ты попадешь в контейнер с бд.
    Затем выполни mysql -uroot -p
    Так ты попадешь в mysql.
    Затем выполни SHOW DATABASES;
    Так ты увидишь список баз в твоем mysql.
    Затем выполни USE имя_нужной_тебе_базы;
    Так ты выберешь базу.
    Затем выполни SHOW TABLES;
    Так ты увидишь список таблиц которые находятся в выбраной тобой базе.
    Это поможет тебе понять что лара действительно подключилась к mysql в докере.

    Далее, если ты хочешь удалить базу и создать снова.
    Выполни DROP DATABASE имя_нужной_тебе_базы;
    Это удалит базу и все данные в ней, восстановить их будет нельзя, погугли эту команду и убедись что ты точно понимаешь что ты делаешь.
    Затем выполни CREATE DATABASE имя_базы_которую_ты_удалил;
    Это создаст новую пустую базу.
    Теперь ты можешь выполнить миграции.
    Ответ написан более года назад
    1 комментарий
    Нравится 3 1 комментарий
  • Как можно обратиться к пользователю через regexp?

    koyard
    Дмитрий @koyard
    PHP Developer
    $str_search = '~\@([^ ]*)~'; 
    $str_replace = '<a href="/$1">$1</a>';
    $text = "Пользователь @username - перейти";
    echo preg_replace($str_search, $str_replace, $text);
    Ответ написан более двух лет назад
    3 комментария
    Нравится 3 комментария
  • Fullscreen Firefox - как убрать белую полосу внизу страницы?

    koyard
    Дмитрий @koyard
    PHP Developer
    Возможно проблема в самом браузере или ОС, попробуйте эту же версию браузера но на другой машине.
    Ответ написан более трёх лет назад
    2 комментария
    Нравится 2 комментария
  • Как протестировать метод авторизации?

    koyard
    Дмитрий @koyard Автор вопроса
    PHP Developer
    Переписал код, думаю стало лучше. Теперь тест проверяет что хеши были учтены в методе авторизации, при этом реализация хеширования в UserManager не имеет значения.
    /**
     * Не должно авторизовывать пользователя по правильному логину но по неправильному паролю
     * @test
     */
    public function dontAuthorizeUserByLoginAndWrongPassword()
    {
        $userManagerMock = $this->getUserManagerMock();
        $authorizationManager = new AuthorizationManager($userManagerMock);
    
        $login = 'login';
        $password = 'wrongPassword';
    
        $userId = 15;
        $passwordHash = md5('password');
    
        $userManagerMock->method('getUsersByFilter')
            ->willReturn([$this->getUserStub($userId, $login, $passwordHash)]);
    
        $userManagerMock->method('makePasswordHash')
            ->will($this->returnCallback(function($password) {
                return md5($password);
            }));
    
        $result = $authorizationManager->authorizeUserByLogin($login, $password);
    
        $this->assertFalse($result, 'Пользователь был авторизован по корректому логину и неверному паролю');
    }
    Ответ написан более трёх лет назад
    Комментировать
    Нравится Комментировать
  • Как программно изменить тип плательщика в bitrix:sale.order.ajax?

    koyard
    Дмитрий @koyard Автор вопроса
    PHP Developer
    Удалось сделать это с помощью подписки на событие OnSaleComponentOrderOneStepPersonType.
    Код файла /bitrix/php_interface/init.php:
    AddEventHandler("sale", "OnSaleComponentOrderOneStepPersonType", "selectSavedPersonType");
    function selectSavedPersonType(&$arResult, &$arUserResult, $arParams)
    {
        global $USER;
        if($USER->IsAuthorized())
        {
            $rsUser = $USER->GetByID($USER->GetID());
            $arUser = $rsUser->Fetch();
            $entity = $arUser['UF_ENTITY']; //поле принадлежности к юр. лицу
    
            $personType = 0;
            if ($entity) {
                $personType = 2;
            } else {
                $personType = 1;
            }
            //очищаем текущее значение типа плательщика
            foreach($arResult['PERSON_TYPE'] as $key => $type){
                if($type['CHECKED'] == 'Y'){
                    $arResult['PERSON_TYPE'][$key]['CHECKED'] = '';
                }
            }
            //устанавливаем новое значение типа плательщика
            $arResult['PERSON_TYPE'][$personType]['CHECKED'] = 'Y';
            $arUserResult['PERSON_TYPE_ID'] = $personType;
        }
    }
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 2 Комментировать
  • Как передать данные со второго контроллера на первый?

    koyard
    Дмитрий @koyard
    PHP Developer
    Не храните данные в Nsuserdefaults, используйте Core Data framework. Насколько я понял он идеально вам подойдет.
    Насчет именно передачи данных между контроллерами, в докуметации секция Delegation.
    Ответ написан более трёх лет назад
    Комментировать
    Нравится 1 Комментировать
  • Где есть шаблоны iOS приложений кроме codecanyon?

    koyard
    Дмитрий @koyard
    PHP Developer
    www.raywenderlich.com в конце каждого урока имеется ссылка на готовый проект. Сильно помогает если ты совсем новичок.
    cocoapods.org очень просто подключить нужные библиотеки и нарастить функционал своего приложения.
    Ответ написан более трёх лет назад
    Комментировать
    Нравится Комментировать
Оценили как «Нравится»
Самые активные сегодня
  • sergey-gornostaev
    Сергей Горностаев
    • 11 ответов
    • 0 вопросов
  • Максим Компаниец
    • 6 ответов
    • 1 вопрос
  • azerphoenix
    Орхан Гасанлы
    • 6 ответов
    • 0 вопросов
  • DromHour
    • 6 ответов
    • 0 вопросов
  • firedragon
    Владимир Коротенко
    • 6 ответов
    • 0 вопросов
  • dimonchik2013
    dimonchik2013
    • 6 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации