Полностью объектно-ориентированный фреймворк в PHP - PullRequest
17 голосов
/ 11 февраля 2009

Я хочу создать 100% объектно-ориентированный фреймворк на PHP без процедурного программирования вообще, где все является объектом. Очень похоже на Java, за исключением того, что это будет сделано в PHP.

Есть ли какие-либо указатели на то, какими функциями должна обладать эта вещь, должна ли она использовать какие-либо из существующих шаблонов проектирования, например MVC? Как можно было бы создавать объекты для каждой таблицы в базе данных и как отображать шаблоны HTML и т. Д.?

Пожалуйста, не связывайтесь с существующей платформой, потому что я хочу сделать это самостоятельно, в основном в качестве учебного упражнения. Вы будете лишены права голоса за ссылку на существующую платформу в качестве вашего ответа и высказывание «это делает то, что вы хотите».

Некоторые функции, которые я хотел бы иметь:

  • Очень простое создание страницы CRUD
  • Пагинация на основе AJAX
  • Проверка формы на основе Ajax, если это возможно, или очень простая проверка формы
  • Сортируемые таблицы
  • Возможность редактировать шаблоны HTML с использованием PHP

Ответы [ 12 ]

1 голос
/ 12 февраля 2009

Единственное, что я хотел бы найти в новом фреймворке, это то, что он бы облегчил написание тестируемого кода.

Как правило, мы работаем с Zend Framework, и это в основном потрясающе, но попытка модульного тестирования / тестирования кода на основе ZF отнюдь не лишена мазохизма.

Если бы вы могли предоставить платформу, которая заменяет части MVC ZF чем-то, что позволяет нам писать тестируемый код, в то же время позволяя нам использовать части библиотеки ZF, я - буквально - куплю вам пиво.

Я куплю тебе два пива, если ты угробишь AJAX. Существует огромная пропасть между OO PHP-фреймворком и JavaScript-фреймворком.

0 голосов
/ 29 августа 2011

Вы хотите создать точно такую ​​же вещь, над которой я работал несколько лет, и в результате получается Agile Toolkit.

Очень простое создание страницы CRUD

$page->add('CRUD')->setModel('User');

AJAX на основе нумерации страниц

Все нумерация страниц и многое другое реализовано через встроенную поддержку AJAX и Object Reloading. Ниже кода показана тематическая кнопка со случайной меткой. Кнопка перезагружается при нажатии, показывая новый номер.

$b=$page->add('Button')->setLabel(rand(1,50));
$b->js('click')->reload();

Проверка формы на основе Ajax, если это возможно, или очень простая проверка формы

Все проверки формы основаны на AJAX. Ответ от сервера - это цепочка JavaScript, которая инструктирует браузер либо выделять и отображать сообщение об ошибке, либо перенаправлять на следующую страницу, либо выполнять любое другое действие JavaScript.

Сортируемые таблицы

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

Возможность редактировать шаблоны HTML с помощью PHP

Это кажется неуместным и неправильным. Шаблоны лучше в VCS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...