Задать вопрос
  • Не заходит в другой страницу. Почему цикл не останавливается?

    Kar92: Слежу за вашими вопросами уже пару недель. Каждый раз задаюсь вопросом - что же вы такое делаете и зачем взялись за такую сложную задачу?
  • Почему не выводит echo?

    Зачем вам класс, если вы весь код пишете в его конструкторе. И когда вы наконец перестанете писать конструкторы в старом стиле?
  • Как передать данные с PHP сервера устройствам?

    Анатолий: http-сервер не может. Http - это протокол, который не держит (с оговорками) соединение между устройствами. Когда вы открываете страницу того же самого тостера, браузер соединяется с сервером тостера, говорит ему - дай мне страницу с таким-то адресом, сервер формирует ответ, отдаёт и закрывает соединение.
    Вот это открываемое-закрываемое соединение - это socket-соединение. Если делать такое соединение самостоятельно (не через http библиотеки), то его можно держать открытым сколько хотите, и начать пересылать данные по этому соединению может как сервер, так и клиент.
    Однако. Когда вы пишете мобильное приложение, вы не можете на телефоне пользователя навсегда открыть соединение. Это накладно. Хотите чтобы ваше приложение юзали миллионы пользователей? Чтобы одновременно держать кучу открытых соединений вам нужна инфраструктура как у гугла.

    Поэтому вот так: либо вы делаете сеансы соккет-соединений, либо используете stateless протокол и придумываете как понять что пора забирать данные. Как вариант - использовать пуши, чтобы либо передать данные, если их мало, либо сказать клиенту - на сервере тебя ждёт пирожок, забери.
  • Как передать данные с PHP сервера устройствам?

    Анатолий: К сожалению нет, я больше php-разработчик чем android, а с этой гугловской шайтан-машиной работал уже довольно давно.
  • Как передать данные с PHP сервера устройствам?

    Нет. Первый клиент не инициирует передачу данных для всех телефонов кроме своего.
    Один нажал - сделал запрос на сервер, данные туда пришли. Все остальные, при использовании stateless протокола, такого как http, должны сделать запрос, чтобы получить ответ от сервера.
    До недавнего времени так работали многие web-чаты. Они раз в секунду делали запрос.
    Что касается андроида, можно сделать так, чтобы когда на сервер приходят данные, он рассылет push-уведомления, которые не будут показываться пользователю, но будут запускать запрос к серверу.

    Ну или socket, чтобы, когда на сервер приходят данные, сервер инициировал передачу остальным участникам процесса.
  • Php compressor namespace api?

    Дима Петров: нет. Я не знаю почему у вас не работает именно с этим названием пространства имён. Может быть это ключевое слово композера, может быть и правда уже есть такой пакет.
    Я лишь говорю, что само по себе использование такого общего слова как "api" концептуально неправильно, и рано или поздно создаст проблему.
  • Php compressor namespace api?

    А вам не кажется, что давая неймспейсу название "api", вы делаете прямо противоположное тому, для чего эти неймспейсы были созданы? Ведь изначально - это инструмент избавления от конфликтов имён классов. Суть его в том, что вы даёте более-менее уникальное название корневому пакету, и можете давать более простые и менее уникальные названия классам внутри него. А у вас корневой пакет назван абстрактнее некуда...
  • Как подключить функцию PHP foreach в отдельный файл?

    lipatkin: да Дмитрий уже заметил, что я допустил ошибку в функции получения массива. Внимательно читайте ошибки. Первая Undefined variable: product - на указанной строке на найдена переменная $product.
    Функция получения должна быть такой
    function getDeliveryArr($product){
        return explode(",", $product['delivery']);
    }

    И вызывая её надо передавать туда соответствующую переменную
    $items = getDeliveryArr($product);
    Вторая ошибка скорее всего происходит из-за того что произошла первая.
  • Насколько внешние ключи любят ресурсы?

    Stalker_RED: от версии СУБД зависит. Старая требует явного создания индекса.
  • Насколько внешние ключи любят ресурсы?

    Arik: Да. Внешний ключ даже без индекса тратит время на проверку того что в таблице на которую ссылаестя ключ есть нужная запись. Делается это, опять же пои индексу (в этот раз уже индексу первичного ключа).
    Т.е. на вопрос - "Тратятся ли ресурсы на внешние ключи" ответ - да, тратятся.
    Другое дело, что пока это похоже на преждевременную оптимизацию. Высоконагруженные сайты быстро работают совсем не из-за того, что они индексы направо и налево не вешают.
  • Насколько внешние ключи любят ресурсы?

    Stalker_RED: Вы уверены? Т.е. пробовали удалить индекс, который был создан для внешнего ключа?
  • Насколько внешние ключи любят ресурсы?

    IceJOKER: Да, но в MySQL при использовании движка InnoDB при создании внешнего ключа индекс создаётся автоматически.
  • Как подключить функцию PHP foreach в отдельный файл?

    Дмитрий: С функцией да, сглупил. Но насчёт класса не понимаю вашего негодования. Человек учит язык. Совсем не обязательно что он не знает что такое класс. В самом тексте вопроса он использует статический метод класса. А даже если и не знает, то это повод узнать - спросить или нагуглить.
    Конечно, решить эту задачу можно множеством способов. Это первый, о котором я подумал. Стоит отметить, что более короткое решение не обязательно будет более правильным.
    Например я использовал класс, хотя можно было бы сделать просто функцию, или даже просто глобальную переменную. Но вот только классы можно подключать автолоадом и тогда, используя класс, тебе не надо помнить что необходимо подключить файл в котором есть какая-то функция или переменная. С другой стороны, если есть автолоад, то ты всегда знаешь где лежит файл с классом, ведь у автолоада есть чётко определённая логика поиска файлов, в идеале - PSR-4.
  • Как подключить функцию PHP foreach в отдельный файл?

    lipatkin:
    В простейшем случае так. Определяем соответствие цифры названию, и при выводе получаем название имея цифру.
    class Delivery{
        public static $names = [
             0=>"",
             1=>"Самовывоз",
             2=>"Доставка курьером",
             3=>"Доставка почтой"
        ];
        public static function name($id){
             return self::$names[$id]
        }
    }
    
    function getDeliveryArr(){
        return explode(",", $product['delivery']);
    }
    
    $items = getDeliveryArr();
    ?>
    <?if(count($items)):?>
        <label>Доставка:</label>
        <?foreach($items as $type):?>
            <span><?=Delivery::name($type)?> </span>
        <?endforeach?>
    <?else:?>
        <b>Список пуст</b>
    <?endif?>
  • Активация программы через интернет?

    Ну тут можно придумать что-то хитрое, чтобы ответ сервера был персонализированным и спарсить его можно было только если у тебя есть лицензия.
    Но в любом случае можно просто распаковать exe, достать скрипт, найти кусок кода, который должен вернуть true в случае успеха и сделать так чтобы он всегда возвращал true
    Потом упаковываем обратно, и сравнивая исходный exe с полученным делаем патч. Изи катка.
    Или можно посмотреть на код, который проверяет ответ сервера и используя его логику сделать генератор ответов от сервера.

    Наверное есть смысл зашифровать exe с помощью какого-нибудь упаковщика, чтобы нельзя было просто распаковать, но на каждый упаковщик есть свой распаковщик. Всё тлен.
  • Не работает контроллер yii2?

    Глеб Зиновьев: Тогда может быть вы не включили ЧПУ и вам вообще следует идти по адресу localhost/?r=user/login
    ?
  • Golang подходит ли для создания сайтов?

    laxikodeje:
    То есть ваша квалификация даже не позволяет понять суть моего ответа???

    Толсто троллите, сударь.
    Я уже сказал что речь в общем идёт про среднестатистические сайты, а не про крупные системы.
    Конечно, можно запустить демона на php, который будет слушать соккет (или SOAP, или любой другой RPC).
    Но это уже область сервис-ориентированной архитектуры (SOA). Сайтикам на вордпрессе и битриксе этого не дано.
    Ну а когда мы переходим на SOA, тогда уже нам критичны накладные расходы и есть резон выбрать go.
  • Golang подходит ли для создания сайтов?

    laxikodeje: А разве я советовал автору вопроса golang? Нет. Просто начинающие разработчики видят баззворд и начинают метаться между технологиями.
  • Golang подходит ли для создания сайтов?

    laxikodeje: Прочитайте внимательно основной вопрос, ответ на который мы с вами сейчас обсуждаем. Разве там речь идёт про серьёзные системы? Миллионы сайтов прямо сейчас вполне несерьёзно работают так, что веб-сервер запускает php скрипты через fast-cgi или даже cgi. И да, fast-cgi держит интерпретатор php в памяти и позволяет не инициализировать его при каждом запросе. Но это не отменят того факта, что сам скрипт, порой состоящий из тысяч файлов исходного кода, интерпретируется заново.
  • Golang подходит ли для создания сайтов?

    laxikodeje: Не совсем понимаю что вы имеете в виду говоря "сколько запросов может обработать 1 программа". Может быть вы имеете в виду высокий RPS веб-приложений написанных на go? Или вы намекаете на различия между CGI и самостоятельным прослушиванием портов?
    Расскажите же мне, о чём вы говорите и в чём я не прав, ведь именно для этого и предназначен данный сайт - чтобы знающие люди отвечали на вопросы незнающих.