Является ли язык PHP в результате C? - PullRequest
20 голосов
/ 05 января 2011

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

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

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

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

Ответы [ 4 ]

29 голосов
/ 05 января 2011

Это неверно.

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

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

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

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

1 голос
/ 05 января 2011

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

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

1 голос
/ 05 января 2011

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

0 голосов
/ 28 июня 2019

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

...