ASP.NET PHP View: использование Phalanger только для одной страницы
ВОПРОС
Можно ли использовать Phalanger ( https://phalanger.codeplex.com/) в ASP.NET MVC только для одного представления и оставить все остальное с помощью обычного Razor View Engine?
СИТУАЦИЯ
В настоящее время я использую ELFinder на своем сайте, который я интегрировал, используя ELFinder Connector для.NET.
В идеале я хотел бы интегрировать Responsive File Manager, здесь: http://www.responsivefilemanager.com/index.php
К сожалению, вышеупомянутый файловый менеджер написан на PHP.
Я читал, что PHP можно использовать в MVC с помощью Phalanger (см.: http://www.infoq.com/articles/Phalanger)
И мне интересно, возможно ли создать представление PHP и заставить этот файловый менеджер работать для моего сайта, в то же время оставляя все остальные страницы в покое.
Обратите внимание, я ничего не знаю о PHP вообще...
Если это вообще возможно, как бы я начал делать это?
РЕДАКТИРОВАТЬ
Я нашел простую реализацию MVC PHP View Engine здесь (которая основана на Phalanger): https://phpviewengine.codeplex.com/
Похоже, у меня получилось работать с TinyMCE. На самом деле он отображается довольно хорошо, но затем при попытке выбрать файл выдает различные ошибки JavaScript. Вот ссылка на демонстрационный проект, который я сделал:
http://www.mediafire.com/download/p418f8xp7t9kiz3/PhpMvc.zip
Есть гении, которые могут это понять?
РЕДАКТИРОВАТЬ 2
Причина, по которой это работало, когда этого не должно было быть, в том, что я был достаточно глуп, чтобы настроить конфигурацию TinyMCE на сервер автора... следующим образом:
external_filemanager_path:"http://test.albertoperipolli.com/secondaryserver/filemanager/",
external_plugins: { "filemanager" : "http://test.albertoperipolli.com/secondaryserver/filemanager/plugin.min.js"},
Теперь, когда я действительно исправляю это, чтобы указать на мою локальную установку, у меня появляется следующая ошибка:
"Запрашиваемая вами страница не может быть обработана из-за конфигурации расширения"
Я думаю, мне нужно рассказать IIS / IIS Express, как обращаться с файлами PHP. Теперь посмотрим на это: https://support.microsoft.com/en-us/kb/2819022
РЕДАКТИРОВАТЬ 3
Спасибо, Якуб Мишек за подсказку. Я продвинулся немного дальше - я обновился до Phalanger 4, как и советовал, а также обновился до MVC5, пока я был на нем. Кажется, код выполняется, но все еще не успешно. Когда я пытаюсь просмотреть, в файле config.php возникает исключение:
An exception of type 'PHP.Core.PhpException' occurred in PhpNetCore.dll but was not handled in user code
Additional information: Call to undefined function: 'session_start'
Это бросается в первую строку кода, которая:
session_start();
Если я прокомментирую это и продолжу, следующая строка также выдает то же исключение.
Я слышал, что целые фреймворки, такие как Prado, могут работать на Phalanger. так что я думаю, что я все еще делаю что-то не так здесь.
Я загрузил свою последнюю попытку: http://www.mediafire.com/download/2jz85y17znmtlz6/PhpMvc5.zip
Был бы признателен, если кто-нибудь может привести рабочий пример. Я даже начну вознаграждение за большое количество баллов, когда мне позволят, и вознаградит его тому, кто сможет дать лучший ответ... так как наличие этого файлового менеджера в ASP.NET действительно было бы здорово.
РЕДАКТИРОВАТЬ 4
Сейчас я делаю довольно неплохой прогресс, решив несколько проблем... см. Скриншот ниже, чтобы узнать текущее состояние. У меня даже есть это, где я использую ТОЛЬКО файлы .cshtml (файлы PHP, вызываемые файловым менеджером, просто обрабатываются PHP View Engine), так что это действительно, действительно фантастика. Кажется, у меня есть еще некоторые проблемы, которые нужно решить... если мне удастся заставить его работать должным образом, я опубликую решение здесь для блага других.
1 ответ
Я решил это. Для тех, кто заинтересован, см. Мою статью о CodeProject: http://www.codeproject.com/Tips/1004596/Using-Responsive-File-Manager-in-ASP-NET-MVC