Является ли язык PHP результирующим C?

Хорошо: я редактировал свой вопрос: Я где-то слышал, что php-язык написан на C.

Итак, что происходит, например, когда вы запускаете функцию в php, например date("Ymd"); или file_get_contents("file.txt");?

Переводит ли этот код на C и запрашивает сервер, или делает php?

И если он переводит его и запрашивает, значит, в основном это C?

Ответы

Ответ 1

Это неверно.

Если вы имеете в виду язык PHP, он реализован в C, а не С++; см. страницу wikipedia PHP в разделе Язык реализации.

Это, однако, не означает, что он "переводит" код на C; PHP - интерпретируемый язык.

При выполнении кода он, конечно, должен использовать функции, написанные на C, так как сам он использует C. Однако никакого "перевода" на C не происходит; код просто анализируется языком PHP, а затем он сам вызывает то, что подходит.

Возможно, вы захотите прочитать больше на интерпретируемых языках, что должно дать вам лучшее понимание.

Ответ 2

В любом интерпретируемом языке синтаксис языка является просто оболочкой для функций и конструкций, реализованных на языке, на котором написан интерпретируемый язык.

Ответ 3

Оригинальный PHP - очень тривиальный интерпретатор, который не выполняет никакого генерации кода. Но есть альтернативная реализация, компилятор PHP на С++ HipHop:

https://github.com/facebook/hiphop-php

Ответ 4

PHP - это интерпретируемый C, который вы можете встроить в документы HTML. Сам язык во многом похож на C, за исключением нетипизированных переменных, множества встроенных веб-библиотек и всего, что подключено непосредственно к вашему любимому веб-серверу. Синтаксис операторов и определений функций должен быть знаком, за исключением того, что переменным всегда предшествует $, а функциям не требуются отдельные прототипы.