В моем последнем проекте я использовал дополнительный метод для присоединения, Проверяют () методы к бизнес-объектам. Я выровнял по ширине это, потому что бизнес-объекты, где сериализуемая передача данных возражает и будет использоваться в различных доменах в качестве них, где общие объекты электронной коммерции, такие как продукт, клиент, продавец и т.д. Хорошо в различных доменах бизнес-правила могут отличаться также, таким образом, я инкапсулировал свою последнюю связанную логику проверки в Проверить методе, присоединенном к базовому классу моих объектов передачи данных. Надежда это имеет смысл :)
После того, как этот вопрос был задан, Facebook запустил HipHop для PHP , который, вероятно, является самым протестированным PHP-компилятором на сегодняшний день (учитывая, что он запускал один из 10 крупнейших веб-сайтов в мире ). Однако Facebook отказался от его поддержки в пользу HHVM, которая представляет собой виртуальную машину, а не компилятор.
Кроме того, поиск в Google PHP-компилятор
открывает ряд сторонних решений.
The short answer is "no".
The current implementation of PHP is that of an interpreted language. You can argue the theoretical aspects of the fact that any language can technically be interpreted or compiled, but as it stands, the current implementations are such that PHP code requires an interpreter to run, and the interpreter manages the executing environment.
To answer your question about uploading pre-compiled PHP bytecode, it's probably possible, but you'd have to implement a way for the PHP interpreter to read in such a file and work with it. With existing opcode caches out there already, it doesn't seem like a task that would reap much reward.
PHP doesn't really get compiled as with many programs. You can use Zend's encoder to make it unreadable though.
phc позволяет вам компилировать PHP программы в разделяемые библиотеки, который можно загрузить на сервер. Программа PHP скомпилирована в двоичные файлы. Это сделано таким образом, чтобы поддерживать eval
s, включать
s и всю стандартную библиотеку PHP.