Реализация классов в PHP5 экстеншене, часть 3

Alexandre

PHPПенсионер
но наверно Вы имели ввиду не просто генерацию экстеншена с классом, а перевод PHP кода в C код
ИМХО - бред. человек, написавший код на пхп, вполне может его переписать на Си, даже при минимальных знаниях Си, но большом желании это сделать. Всякий кодогенератор - это потеря производительности. Тогда зачем - переписывать на Си?

-~{}~ 24.03.08 17:01:

что касается статьи, напиши nw (rjynfrns http://phpinside.ru/?q=node/1 ) что хочешь эти три топика оформить в ввиде статьи, он тебе скажет куда отправить материал. Можешь сослаться на меня, что я посоветовал.
 

atv

Новичок
человек, написавший код на пхп, вполне может его переписать на Си
И так каждый раз, при внесении изменений :)

Всякий кодогенератор - это потеря производительности.
Ну почему же, компилятор С - это тоже кодогенератор. Чем он принципиально отличается от компилятора с PHP на C :)

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

Alexandre

PHPПенсионер
atv а чего же ты, друг, мою последнюю часть предложения не процитировал, в которой весь смысл. Когда я начал писать свой первый экстеншен, я одновременно начал изучать Си. получилось вполне приемлемо.

Ну почему же, компилятор С - это тоже кодогенератор. Чем он принципиально отличается от компилятора с PHP на C
тем что, Си генерит исполняемый ассемблерный код, а РНР нативный байт-код, который исполняет Zend-машина.
Почему возник вопрос про портирование. Ведь, если кому-то нужно писать встроенные PHP классы, значит, рано или поздно понадобиться и автоматическое портирование. Сначала обкатали проект на PHP, а потом портировали в расширение.
ИМХО-бред. хочешь производительность - пиши изначально на Си. не хочешь заморачиваться с оберткой пхп и Зенд-машиной, есть пхп-свиг который за тебя все это сделает (кстати еще одна бестолковая обертка так как имеет кучу ограничений).

Что нравится Королю, не подходит Стражнику (Римская пословица)
 

atv

Новичок
Alexandre, честно сказать, не понял о чём ты. Если об этом
Тогда зачем - переписывать на Си?
, тогда, мне кажется, что на С будет работать быстрее, хотя бы потому, что компиляция будет выполнена один раз.
 

atv

Новичок
Чем он принципиально отличается от компилятора с PHP на C
тем что, Си генерит исполняемый ассемблерный код, а РНР нативный байт-код, который исполняет Zend-машина.
Ой-ёй, нить разговора окончательно потеряна. Мне показалось, я достаточно ясно выразил свою мысль. Ладно, бред так бред. Забудь.

-~{}~ 24.03.08 17:13:

нужно - напиши.
tony2001, ты не представляешь, как я тебе благодарен, что получил о тебя разрешение написать такую полезную вещь.

Не согласишься ли ты, на общественных началах, взять надо мной шефство, и направлять меня неразумного, через тернии разработки PHP расширения.

Если непонятно, я пошутил, а то у вас с восприятием сегодня какие-то проблемы, ребята.
 

Alexandre

PHPПенсионер
Если непонятно, я пошутил, а то у вас с восприятием сегодня какие-то проблемы, ребята.
понедельник, день тяжелый

-~{}~ 24.03.08 20:15:

на общественных началах, взять надо мной шефство, и направлять меня неразумного, через тернии разработки PHP расширения.
google:
статья "PHP расширения, пять шагов к написанию"
PHP internals на php.net
 

Ирокез

бессмертный пони
Команда форума
Партнер клуба
Alexandre
Спасибо, письмо отправил.
 
Сверху