Phalanger и Zendframework

Zend framework — это просто набор классов PHP.

Phalanger — полноценный PHP-компилятор.

Так почему же я не могу перенести приложение на базе Zend Framework в Phalanger??

Я получил следующую ошибку, когда запускаю приложение в Phalanger:

строка 13:

includePaths.library = APPLICATION_PATH "/../library"

ошибка:

<b>Error</b>: Uncaught exception 'Zend_Config_Exception' with message 'Parse error on line 13' in D:\www\mehr-phalanger\library\Zend\Config\Ini.php:215:13
Stack trace:
#11 : Process
#10 : ProcessRequest
#9 : ProcessRequestNoDemand
#8 : ProcessRequestInternal
#7 : System.Web.IHttpAsyncHandler.BeginProcessRequest
#6 : ResumeSteps
#5 : ExecuteStep
#4 : System.Web.HttpApplication.IExecutionStep.Execute
#3 : <Main>
#2 D:\www\mehr-phalanger\public\index.php(40,1): Zend_Config_Ini->__construct
#1 D:\www\mehr-phalanger\library\Zend\Config\Ini.php(215,13): Zend_Config_Ini->_loadIniFile
#0 D:\www\mehr-phalanger\library\Zend\Config\Ini.php(215,13): Zend_Config_Ini->_parseIniFile
#12 {main}.<br/><br/> 

person PHPst    schedule 14.10.2011    source источник
comment
Итак... как выглядит строка 13?   -  person Alex Howansky    schedule 14.10.2011


Ответы (3)


вы должны использовать расширенный путь, удалить APPLICATION_PATH и поместить полный каталог

person MassimoB    schedule 01.07.2014

Первый; у вас есть синтаксическая ошибка в вашем коде, вы пропустили "." (точка) между APPLICATION_PATH и "/../library"

Второй; Phalanger сможет скомпилировать ZendFramework (ZF), однако он не поддерживает некоторые функции, которые использует ZF. Вы можете либо сообщить о проблеме https://github.com/devsense/phalanger/issues, либо принять посмотрите на Peachpie (github.com/iolevel/peachpie), который является реинкарнацией и преемником Phalanger, и сообщите о проблеме там

person Jakub Míšek    schedule 19.02.2017

Хм, разве Phallanger не транслятор для PHP => .NET, который компилирует ваш исходный код в код dotnet? Я могу ошибаться, но я помню, как пробовал это некоторое время назад из любопытства.

РЕДАКТИРОВАТЬ: Нет, я посмотрел, это языковая библиотека для dotnet. Это позволяет вам кодировать .NET, используя синтаксис стиля PHP. Поэтому вы не сможете использовать ZendFramework там, вы кодируете ASP.NET, но используете синтаксис PHP. Не ожидайте, что там что-то сработает от php...

person Mathieu Dumoulin    schedule 14.10.2011
comment
Нет ответа, это откровение, что ответ невозможен, так как парень вообще поступает неправильно... - person Mathieu Dumoulin; 14.10.2011
comment
Phalanger компилирует исходный код PHP в собственные сборки .NET. - wiki.php- компилятор.net/Компиляция - person Jared Farrish; 14.10.2011
comment
Phalanger компилирует стандартный код PHP в сборки .NET 4.0 (EXE или DLL). - php-compiler.net/features - person Jared Farrish; 14.10.2011
comment
Я серьезно не знаю, почему за это проголосовали против меня. Мой ответ совершенно прекрасен, почему вы хотите использовать Zend Framework с Phalanger ... Вы кодируете в сети точек? Используйте функции точечной сети. ИМО, попытка создать продукт на php, который можно будет использовать с сервером Windows, замкнув php на реальную сеть точек, но также подталкивая в процессе всю структуру, такую ​​​​как Zend, самоубийственна и контрпродуктивна... Создайте два проекта один в реальный DotNet и один на PHP с Zend и предоставить своим пользователям наилучший код и производительность... - person Mathieu Dumoulin; 20.03.2012
comment
неверно - Phalanger - это компилятор с поддержкой среды выполнения и библиотек. Он создает библиотеку/исполняемый файл .NET, полностью совместимый с поведением PHP (Drupal, Wordpress, phpBB, ... работает на .NET при компиляции PHalanger). Есть несколько отличий, но большинство приложений php работают нормально. ПРИМЕЧАНИЕ: Phalanger немного устарел (поддерживает PHP до 5.4). Рекомендую взглянуть на Peachpie (github.com/iolevel/peachpie) - person Jakub Míšek; 19.02.2017