Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Extensions > Как создать своё расширение для php? |
Автор: kanaris 8.1.2011, 17:36 |
Добрый вечер! Интересует возможность создания расширения для пхп (*.so) из обычного php-файла. С целью сокрытия исходного кода, и, возможно, ускорения работы. Читал статейку: http://habrahabr.ru/blogs/php/98862/ там сильно сложно, функцию нужно писать на си. В си я не разбираюсь, кроме того конвертировать в си десятки тысяч строк пхп-кода нереально. Есть ли такие компиляторы, которые дают эту возможность? |
Автор: SamDark 8.1.2011, 19:25 |
kanaris, Нет. |
Автор: vasac 8.1.2011, 21:31 |
kanaris, а как распространять будете? В виде *.so, которая на большинстве никсов не заработает? |
Автор: kanaris 8.1.2011, 22:50 | ||
Не буду никак распространять, это будет на моем сервере. Будет отключены некоторые расширения (типа mysql, работа с файлами), но зато включено мое расширение. Получится как фреймворк, только из ограниченных функций. Будут наниматься фрилансеры, кодить модули, используя только функции фреймворка: а их будет достаточно для полноценной разработки сайта. Получится масса преимуществ:
Имхо задумка идеальна, однако пока что не могу найти подходящего решения для этого. Или может предложите альтернативное что-нибудь? |
Автор: kanaris 9.1.2011, 00:48 | ||||
Само расширение должно иметь полный доступ ко всем функциям. Но в самих php-файлах, которые будут создавать фрилансеры, будут доступны только функции из расширения и стандартные "безопасные" php-функции (типа str_replace, preg_match, in_array и тд). А "опасные" функции типа mysql_query(), fwrite() будут недоступны.
значит отключить через php.ini |
Автор: kanaris 9.1.2011, 20:48 |
что, никто не знает? |
Автор: skyboy 10.1.2011, 09:58 |
пиши на С++ |
Автор: kanaris 12.1.2011, 15:38 |
Ну может быть не обязательно через пхп-расширения. Основная задача: отключить некоторые системные функции, НО разрешить свои функции, использующие те отключенные системные. Буду очень рад, если подскажете что-нибудь подобное или наводящее. |
Автор: phpsc 13.1.2011, 05:32 |
демоны на c++ сайт на php |
Автор: lukas 18.1.2011, 20:14 |
Есть расширение phptk для freepascal с помощью которого можно писать расширения для php: http://wiki.freepascal.org/Pascal_and_PHP .so я не писал расширения, но .dll написал с десяток для php 5.2. Но freepascal позволяет писать для линукса, так что поддержка и варианта .so должна быть. P.S. Есть еще phc, который транслирует код php в расширение написанное на си для php. |
Автор: KLeonid 4.4.2011, 18:39 |
На сколько я понимаю, вам не нужно расширение. Вам нужно просто защитить код ядра. Для этого лучше использовать, например, SVN. Фрилансерам дается ваш АПИ, и логин в SVN репозиторий, в котором они будут видеть только свои части кода. Все остальное будет скрыто от их глаз ![]() Это правильный, используемый в профессиональной разработке метод. А скомпилированные модули нужны для ускорения работы "тяжелых" для PHP модулей (парсинг, работа с БД или графикой...). |
Автор: Antonsaer 24.8.2011, 18:30 |
http://nezamerzay-ka.ru/staty/41.htm а можно подробнее про свн |
Автор: krundetz 29.8.2011, 15:03 |
kanaris, глянте в сторону разработки HipHop for PHP от facebook |
Автор: krundetz 29.8.2011, 15:24 |
KLeonid, мне кажется предложенный вами способ легко обхдиться |
Автор: Absinthe 29.8.2011, 22:18 |
Не вижу смысла в задаче ТС. Скорее всего ему поможет ioncube/etc. И изучить C в любом слуае не помешает, если в будущем захочешь серьезно заниматься PHP. |