Кто создает? Зачем создаёт? Это точно такой же код, просто архитектура и парадигма другая. Там тот же PHP используется, только не для того чтобы хмл парсить, а чтобы эффективно обрабатывать запросы от пользователя
Может кто-нибудь подскажет, в каком направлении копать, чтобы вылечить эти ошибки не сильно меняя логику работы скрипта?
Заранее спасибо.
Не передавать по ссылке а вернуть результат
public function prepareNewPath($url) { // this is your code ... return $url;} // callpublic function newPage($url, $template){ $url = $this->prepareNewPath($url);}
Не возможно, а абсолютно точно, и главную мысль я выделил
Служба это термин винды, в остальном мире это демон, программа работающая в фоне
Обеспечит, ты берешь сетевую библиотеку своего языка, пишешь программу (цикл) которая считывает при помощи сетевой библиотеке входящие данные на нужный тебе порт и запускаешь скрипт в фоне (демоном). Это же элементарно
Расскажите мне свою версию, очень интересно (на самом деле нет). А то слушать можно не только порты, но и сокеты и в вашем определение это уже не сервер, хотя если все таки вдуматься, то сервер - это программный компонент, выполняющий сервисные (обслуживающие) функции по запросу клиента, предоставляя ему доступ к определённым ресурсам или услугам. В википедии написано достаточно неплохо определение.
С этого и надо было начинать, так как "своё г не пахнет" =))
Пример к сожалению сильно сложный для его понимания =) Человек php ни разу не запускал с консоли, он не знает что такое режим демона, для него php это OpenServer или вообще какой нибудь Denver, вот он и думает что php работает на сервере, скорее всего он подразумевает что php это mod_php для апача, потому что даже php-fpm это уже FastCGI реализация
Точно программист? Есть понятие виртуальной машины. Виртуальная машина исполняет некоторый машинно-независимый код (например, байт-код, шитый код, p-код) или машинный код реального процессора. То есть, чтобы вам писать всегда на одном языке не зависимо от процессора и операционной системы, вам нужна некая прослойка между вашим кодом и собственно процессором, эту роль выполняет виртуальная машина, в том числе это и JVM у Java, CLR у си шарпа и так далее. Вот ваш код транслируется в опкод (байт код для виртуальной машины) и потом уже исполняется на виртуальной машине php. Никуда её устанавливать не надо, она является частью PHP, так сказать Zend Engine.
Вы же понимаете, что ваше мнение ничего не стоит, так как вы никто по сути в мире разработки?
А вам бы начать с азов, чтоб мы друг друга понимали и мне не приходилось писать на несколько страниц объяснений элементарных вещей
Так погодите, чем интерпритатор то не угодил? Даже некоторые процессоры являются интерпритаторами, это просто термин, который обозначает что анализ и выполнение идет во время чтение, а не заранее, если вы уже считали то разницы нет, интерпритатируемый язык хуже компилированного только на этапе старта (прогрева), под капотом там все тоже самое. На каком сервере работает PHP, у хостера что ли на сервере, что за чушь вы несете? Почитайте чуть глубже погрузитесь в инструменты https://habr.com/ru/company/badoo/blog/327068/ узнаете что такое виртуальная машина PHP и как там все под капотом работает.
Именно это и делает эта либа =)) 6 секунд на установку и настройку, выше уже показали
Интерпретатор - это программа в которой заложены механизмы обработки команд какого либо языка программирования.
Компилятор - исходный код языка программирования преобразует в машинный код.
Давайте воспользуемся википедией?
Интерпрета́тор (англ. interpreter ıntə:'prıtə[1], от лат. interpretator - толкователь[2]) — программа (разновидность транслятора), выполняющая интерпретацию[3].
Интерпрета́ция — построчный анализ, обработка и выполнение исходного кода программы или запроса (в отличие от компиляции, где весь текст программы, перед запуском, анализируется и транслируется в машинный или байт-код, без её выполнения)
Любой код переводится в машинный или байт-код для VM, php не исключение. Когда код уже проанализировался (был переведен в байт код), он уже не отличается от скомпилированной программы по сути, по этому разницы как таковой вы не заметите, в нашем рассматриваемом случае, когда вы запускаете/стартуете код php в виде демона, вы его как бы компилируете в байт-код который висит в памяти.
Именно этот недостаток убирают такие библиотеки
Еще раз объясняю, давайте представим что подключение к БД у вас занимает 1 секунду, тогда каждый ваш запрос будет работать >1 секунды, если же вы подключитесь только один раз во время старта сервера, то все запросы уже эту секунду тратить не будут, так понятнее?
Кому проще, какой модуль, где вы его будете хранить? С диска что ли читать? Память между процессами разделять? Как состояние вы будете передавать между запросами? Вы вообще понимаете как это все внутри работает или лишь бы сморозить какую нибудь фигню?
Чем вам PHP то не угодил? И почему для вас сервер является чем то необычным, это обычный демон который на вход получает параметры, на выход отдает текст, примитивнейшая программа просто, которая сейчас реализуется несколькими строками кода на любом языке, где есть библиотека работы с сетью.