Сборка PHP WYSIWYG Editor - PullRequest
       18

Сборка PHP WYSIWYG Editor

0 голосов
/ 14 января 2011

Я создаю веб-приложение, в котором пользователь может добавить страницу, отредактировать макет, перетащить элемент перетаскивания, изменить размер элемента, отформатировать текст, отредактировать атрибут элемента и т. Д.На странице пользователь может включать (извлекать) динамические данные, например, данные из базы данных, данные, генерируемые кодом php и т. Д.В последнее время я играл с CakePHP и JQuery и пытался создать это приложение.Но я наткнулся на то, как правильно отобразить код php.Я попытался заглянуть в код ядра cakephp и найти информацию о буферизации вывода и попытался использовать буферизацию вывода для разбора кода php и использования регулярного выражения для его отображения, но с большей вероятностью заново изобрету колесо, если я напишу парсер самостоятельноЯ спрашиваю:Хорошо, чтобы быть более простым и конкретным, я просто хочу спросить, как сохранить и загрузить страницу, созданную пользователем, особенно если страница содержит код php.Я просто хочу знать, есть ли какой-нибудь другой метод, кроме написания моего собственного парсера или, может быть, библиотеки для разбора php-кода?

Хорошо, пока это все, у кого-нибудь есть идеи, как это реализовать?Или, может быть, какая-нибудь страница / сайт, на который можно было бы взять какую-то ссылку?Может быть, пример кода, из которого я могу взять некоторые ссылкиСпасибо

1 Ответ

0 голосов
/ 14 января 2011

Я не уверен, что вы найдете здесь хороший ответ об этом.

Стоп, я не знаю, с чего начать. Я начну с номера 3. Вы хотите, чтобы виджеты. Тогда это означает, что вы должны создать класс виджетов или объекты, которые имеют шаблон или что-то, что делает их доступными для рисования "ну, вроде". На вашем месте он был бы загружен из JavaScript, а не из php. Каждый виджет был бы в некотором роде отдельным приложением, загруженным в div с использованием javascript.

Пункт 2, Вы хотели виджеты. Когда вы добавляете виджеты на свою страницу, вы должны сохранять некоторую информацию, такую ​​как позиция, заголовок, размеры и так далее. Вы даже можете сохранить параметры создания. Например, ListWidget может быть запущен с другим ItemProvider. Таким образом, вам не нужно писать 1000 виджетов, а только один, который показывает различное содержание. Тем не менее, у вас есть виджеты, размерность и положение. Теперь это приводит нас к пункту 1.

Точка 1. Получив виджеты, положение и размеры, вы отправляете данные, которые вы использовали для их создания, связанные со страницей, на сервер. Это снова приводит нас к двум пунктам 2.

Как только вы сохранили страницу. Вы можете увидеть это, получив все виджеты с параметрами и так далее. Это оставляет вам 2 варианта.

  1. Создание Javascript, который будет воссоздавать сохраненные виджеты.
  2. Сгенерировать Html будут все виджеты.

Вариант 1 проще, так как вариант 2 не привязывает html к javascript сам по себе. Решение 2, с другой стороны, лучше, поскольку существует только 1 запрос к серверу.

Да, и последнее, вы должны установить для себя некоторые ограничения. Такие вещи могут быть очень сложными и, к сожалению, не такими уж хорошими. Смотри друпал например. Он делает много классных вещей, но как только вы установите много модулей. Drupal превращается в своего рода монстра, поедающего память. И почти все время вам не нужно столько динамического контента. Фиксированные макеты будут хорошо работать почти в 99% случаев.

Я также вынужден это сказать, но если вы попытаетесь создать приложение, которое даст пользователям столько же возможностей, сколько ученому, которое сможет вырастить семоногого кота. Я думаю, что вы собираетесь играть с очень непонятными силами!

...