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

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

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

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

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

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

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

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

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

BushaevDenis

  • 0
    вклад
  • 56
    вопросов
  • 17
    ответов
  • 53%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как работать с большим файлом и ограниченными рес-ми ОЗУ?

    Adamos
    Adamos @Adamos
    Не работать с файлом "через simple_xml либу", не предназначенную для больших файлов в принципе, о чем сказано даже на PHP.net
    Там же легко находятся альтернативные библиотеки работы с XML, не пытающиеся загрузить его целиком в память.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как работать с большим файлом и ограниченными рес-ми ОЗУ?

    BojackHorseman
    Лентюй @BojackHorseman Куратор тега PHP
    ...в творческом отпуске...
    почитайте про xml_parse и SAX модель
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • MySQL Select LIKE - где зарыт СКЕЛЕТ ???

    Sanasol
    Александр Аксентьев @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    ///// верно ли сверяю
    if($result_mode['vopros'] == "$searchData")


    конечно нет, если там будет "привет", а в запросе "прив"
    База-то результат найдет, а вы этой проверкой результат выбрасываете в помойку.

    PS весь код стоит выбросить в помойку.
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Есть ли хорошие каталоги поиска автомобильных запчастей по ОЕМ с api?

    Александр Ф @Filex
    Начинающий разработчик.
    Пока нашел следующие:
    1. www.crossbase.ru
    2. tecdoc.ru/TECDOC_2Q2018 (тут без api, дамп базы)
    3. partsapi.ru/catalog.html
    4. https://laximo.ru/
    5. https://levam.ru
    6. https://catalogs-parts.com/ru/
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Есть ли софт или метод для шары windows?

    Radjah
    Radjah @Radjah
    Например https://ru.wikipedia.org/wiki/WebDAV
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как подключится к smb с нестандартным портом?

    res2001 @res2001
    Developer, ex-admin
    Организуйте ВПН и используйте стандартные порты внутри ВПН.
    Прав ваш провайдер, хотя блокировать порты не должен был бы - ваша безопасность - это ваша проблема.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как подключится к smb с нестандартным портом?

    Jump
    АртемЪ @Jump Куратор тега Windows
    Системный администратор со стажем.
    Двойной переброс - на одной стороне перебрасываете порты в нестандартные, на другой в стандартные.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как получить название меню по его theme_location в wp_nav_menu?

    FreedomRun
    Пётр Попов @FreedomRun
    веб-программист
    Попробуйте так:
    $theme_locations = get_nav_menu_locations(); // взяли все theme_location
    $menu_obj = get_term( $theme_locations['имя локации'], 'nav_menu' ); // ищем нашу theme_location
    $menu_name = $menu_obj->name; // получаем имя

    Взято с гугл дока: https://www.andrewgail.com/getting-a-menu-name-in-...
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как получить доступ к методу, который вызывает текущий метод?

    tester_toster @tester_toster
    Добавлю к ответам остальных - еще посоветовал бы почитать про depency injection.
    Посмотрите, как приложение реализовано laravel.
    Там есть хелпер app(), который всегда вернет экземпляр приложения из контейнера "прямого singleton" - там нет, за три года разработки ни разу не увидел необходимости прямого singlton, все можно сделать через контейнер управления зависимостями.
    Если вы не используете фреймворк, или хотите написать сами, вот вам мой пример:
    точка входа: index.php
    -- Подключается автозагрузка классов, лучше composer - без этого сейчас писать моветон.
    -- Подключается файл с хелперами и нужными функциями: app() и.т.д.
    -- Создается обертка для request вида: $request = new request($_GET,$_POST,...) и.т.д.
    -- Создается экземпляр приложения: $app = new App($config), где конфиг либо массив настроек, либо в моем случае класс.
    -- $response = $app->handle($request), у меня просто echo $app->handle($request), присутствует немного магии
    -- Как выглядит метод handle:
    $this->instance(RequestContract::class, $request);
            try {
                $this->instance(RequestContract::class, $request);
                $response = $this->getPipeLine()->send($request);
    
                $this->afterHandle($request);
            } catch (\Exception $e){
                $response = app(Handler::class)->handle($e);
            }
    
            if(!$response instanceof ResponseContract){
                $response = $this->prepareResponse($response);
            }
    
            return $response;

    Объект request - регистрируется в контейнере и всегда будет отдаваться один и тот-же экземпляр.
    $this->getPipeLine - можете упростить, у меня это посредники (laravel style), в этом месте возьмите сразу работу с диспетчером роутера.
    Я использую обвязку для fastroute, так как это реальный проект, но написать на регулярках простой роутер несложно.
    Если роут не найден, либо была ошибка в коде в глубину - выбрасывается определенный exception, который обрабатывается в специальном классе и также отдает response с 404, 501 и.т.д. ошибками.
    Если роут найден, то он вызывается и возвращает данные.
    Я использую контейнер laravel с autowiring, в моем случае, если контроллер и метод найдены, все выглядит так.
    return $this->container->call(
                        [$this->container->make($handler[0], $routeInfo[2]), $handler[1]],
                        $routeInfo[2]
                    );

    Автоваринг - достаточно удобная штука на рефлексии, сама подставляет зависимости из контейнера, и если не ошибаюсь, в laravel появилась раньше, чем в symfony, свой контейнер похожий на laravel вышел 130 строчек, можете поискать в английском интернете по фразе: "php autowiring"- там есть статьи на эту тему.
    Сейчас меня заплюют, про то, что нужно взять готовый фреймворк и не писать костыли, но при 10млн просмотров нестатичных страниц в день, такое решение в разы обходит по скорости готовый фреймворк, так как лишнего ничего нет. Еще вам скинули ссылку на курс на ютубе Дмитрия Елисеева, может быть он и профессиональный разработчик, но видосики по 2 часа - это реальное издевательство, очень сильно разжевано, да, но очень долго, возможно отдельный редактор бы его спас. Я бы его лучше слушал вместо музыки. То, что ты именно не понимаешь - глазами не найти, лучше ищите статьи, желательно на английском, очень много разных заметок, смотрите исходные коды разных фреймворков - это даст вам понять, как все работает. Еще скажу о PSR - это не свод законов, а рекомендации, хотя первые - это реальное табу, нарушать нельзя, но все psr не поддерживает почти не один современный фреймворк. Так как стандартизация не всегда вяжется с удобством и скоростью, всегда приходится выбирать.
    P.S Это только мой взгляд, у разных людей - разные мнения и разный опыт.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как получить доступ к методу, который вызывает текущий метод?

    Олег @402d
    начинал с бейсика на УКНЦ в 1988
    Если, что-то можно сделать только через жопу, то наверное Вы делаете, что-то не то.

    Паттерн синглетон для класса App - самое то .
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как получить доступ к методу, который вызывает текущий метод?

    ThunderCat
    ThunderCat @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Но хотелось бы красиво всё сделать с одной точкой входа.

    у вас слегка неверное понятие единой точки входа.
    1) Статика это плохо, тем более если это стартовый класс.
    2) Не проще организовать нормальный мвц?
    3) Как заметил Олег Муравейко - если вы пытаетесь почесать яйца пяткой - скорее всего вы выбрали не ту конечность.

    точка входа - индекс, она уже вызывает класс Апп, или бутстрап или еще какой-то стартовый класс, который уже выполняет настройку окружения и запускает Роутер, в котром и происходит магия выбора Контроллера и экшна, после чего уже все полученные в контроллере данные передаются в Вид, который рендерится и отдается клиенту. У вас же прям в стартовом классе все в кашу - и старт контроллеров, и "роутинг", и экшны запускаются. Салют салатом.
    Нужен аякс - заводите аякс контроллер и там уже экшны, которые отвечают на определенные запросы от фронта.
    Нужен Юзер - заводитен юзер контролллер и там все экшны - лист, эдд, делит, едит, шоу...
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как отучить phpstorm разрезать html теги?

    lidacriss
    Nick Sdk @lidacriss
    wtf
    5ad839906e2a7034780148.png
    Ставьте "Do not wrap"
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как очистить все значение input в клоне?

    kreotech
    kreoTech @kreotech
    Абстрактно-ориентированный программист
    Можно сделать так

    $('div').eq(0).clone().find('input').val('').end().appendTo('body');
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как найти значение в многомерном массиве и вернуть полный путь?

    Boris Korobkov @BorisKorobkov Куратор тега PHP
    Web developer
    return $return;

    замените на
    return array_merge($row[1], $return);
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как поймать событие включение вкладки?

    y0u
    y0u @y0u Куратор тега JavaScript
    dev
    $(window).on('focus', function() {
        // Событие сработает, когда пользователь переключится на вкладку
        // и нажмет на любую область на сайте.
        // В этот момент вы можете пересчитать свою корзину.
    });
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Почему curl и file_get_contents отдают только часть страницы?

    BojackHorseman
    Лентюй @BojackHorseman Куратор тега PHP
    ...в творческом отпуске...
    я бы таймауты проверил, может этот хост медленно отдает и вы не успеваете получить все. поэтому и каждый раз разной длины результат

    PHP's CURL uses the php.ini setting default_socket...
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как запретить удалять предустановленный текст в форме?

    zoozag
    zoozag @zoozag
    Opencart
    1. Проверять этот текст на onkeyup, если его подтерли, добавить.
    2. Вообще убрать его из textarea. Показывать поверх textarea div в который выводите свой текст + значение textarea.
    3. Вам же это нужно просто чтобы передавать в сообщении название услуги, и чтобы пользователь его не поменял. Храните его просто в отдельно инпуте невидимом и пусть пользователь пишет что хочет в textarea.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как запретить удалять предустановленный текст в форме?

    Андрей Токмаков @NPC
    ...
    https://codepen.io/anon/pen/NwjeEr
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Почему curl_multi_exec не работает?

    Austin_Powers
    Олег @Austin_Powers
    Web developer (Symfony, React.js)
    Используйте данный код:
    while ($active && $mrc == CURLM_OK) {
                if (curl_multi_select($multicurl) == -1) {
                    usleep(1);
                }
                
                do {
                    $mrc = curl_multi_exec($multicurl, $active);
                } while ($mrc == CURLM_CALL_MULTI_PERFORM);
            }
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как удалить возможные символы?

    qork
    display: block @qork
    { background: #F00B42 }
    https://regex101.com/r/D8DfPZ/1
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • Следующие →
Самые активные сегодня
  • vabka
    Василий Банников
    • 7 ответов
    • 0 вопросов
  • gogowq
    gogowq
    • 5 ответов
    • 2 вопроса
  • SagePtr
    SagePtr
    • 6 ответов
    • 0 вопросов
  • Drno
    • 6 ответов
    • 0 вопросов
  • DF0rig
    • 5 ответов
    • 1 вопрос
  • Alexandroppolus
    Alexandroppolus
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

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

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