PHP Framework для приложений с интенсивным использованием форм - PullRequest
8 голосов
/ 26 марта 2009

Я ищу простой в освоении php-фреймворк для приложения, которое переносится из Access в PHP. Приложение имеет много форм (иногда более 50 полей на страницу), и многие поля взаимозависимы (т. Е. Вы меняете одно поле, оно обновляет некоторые другие поля или параметры).

Есть ли хороший php-фреймворк для этого? Я бы предпочел это действительно просто, так как:

  • Разработчики не так опытны
  • БД переносится из Access и не была разработана с учетом ООП, это в основном набор таблиц, разделенных по функциональности, поэтому мне, вероятно, не нужен ORM (по крайней мере, на данный момент).

Самая важная вещь на самом деле - это простота проектирования форм и корреляции полей (например: два списка, где значения второго зависят от выбранного значения первого) - я знаю, что большинство библиотек ajax поддерживают это, но Я хотел бы получить его из коробки.


edit: Как пояснение, самое важное - это не изящные вещи ajax, хотя это важно. Важным является простой способ создания основанных на БД форм. БД не разработан с учетом ORM, поэтому мне не нужны причудливые ассоциации таблиц на уровне ORM с каскадным удалением и т. Д. Если уровень ORM не мешает и упрощает реализацию, так что это нормально, но я сомневаюсь это когда-либо будет правдой.

Ответы [ 8 ]

7 голосов
/ 26 марта 2009

Я только что сделал подобное, но гораздо более простое приложение, использующее codeIgniter, у которого есть довольно хороший помощник по формам

Примеры кода:

form_hidden('userName', 'johndoe');
// Would produce: <input type="hidden" name="username" value="johndoe" />

form_input('username', @$_POST['userName'])
// Would produce an input populated with a variable  from the post array

И вы можете делать ассорти, используя массивы и т.д:

$js = 'id="shirts" onChange="some_function();"';

echo form_dropdown('shirts', $options, 'large', $js);
6 голосов
/ 26 марта 2009

Хотя я, конечно, добавлю свою поддержку за отличное и простое в изучении CodeIgniter Боюсь, что до сих пор всем не хватает слона в комнате по этому вопросу.

Честно говоря, я не думаю, что любой фреймворк сделает сборку приложения с 50+ формами на страницу более простой или легкой для разработчиков без особого опыта. Особенно с дополнительным требованием поддержки ajax для раскрывающихся зависимостей.

Сказав это, если вы ищете мощь и гибкость, я бы выбрал Zend. Если вы ищете простоту, я бы выбрал CodeIgniter.

5 голосов
/ 26 марта 2009

Code Igniter имеет очень хорошую документацию относительно форм и справляется со многими сложностями для вас.

Класс проверки формы задокументирован здесь: http://codeigniter.com/user_guide/libraries/form_validation.html

Существует также класс помощника по формам, который делает создание форм очень простым.

http://codeigniter.com/user_guide/helpers/form_helper.html

Это, конечно, проще, чем создавать веб-приложение с нуля!


(источник: codeigniter.com )

3 голосов
/ 26 марта 2009

Я большой поклонник Symfony, и у него довольно хорошая поддержка форм с помощью помощников форм. Проверьте документы для форм:

http://www.symfony -project.org / книга / 1_2 / 10-Формы

2 голосов
/ 28 июля 2012

лучшее, без сомнения, Zebra_Form, расширенная библиотека PHP jQuery для создания и проверки HTML-форм : обеспечивает проверку как на стороне сервера, так и на стороне клиента (проверка на стороне клиента выполняется с использованием jQuery 1.5.2+) и имеет множество предопределенных правил, которые можно использовать «из коробки»; пользовательские правила проверки (в том числе на основе AJAX) могут быть легко добавлены; имеет встроенный механизм предотвращения межсайтовых сценариев (XSS), который автоматически удаляет потенциально вредоносный код из представленных данных, а также обеспечивает защиту от атак подделки межсайтовых запросов (CSRF); предотвращает автоматические сообщения СПАМа из коробки и не полагаясь на CAPTCHA, используя honeypots; макет форм может быть создан автоматически или вручную с использованием шаблонов; легко учиться, взрослеть и постоянно совершенствоваться;

2 голосов
/ 26 марта 2009

Взгляните на Zend Framework , в частности, Zend_Form .

Он готов к работе, имеет отличные курсы для начинающих, а также «официальные» учебные курсы и бесплатен.

Вы также можете проверить CodeIgniter

0 голосов
/ 08 марта 2018

Оставляя в стороне фреймворки общего назначения, для ориентированного на пользовательский интерфейс приложения я рекомендую ATK UI . Это относительно новый (выпущен в 2017 году) под лицензией MIT. Вот почему это хороший выбор для ОП:

  • Предназначен для тех, кто не понимает HTML / CSS.
  • Создание формы занимает всего несколько строк кода PHP.
  • Работает с базой данных или без (до вас).
  • Обрабатывает широкий спектр типов, даже загрузки файлов через расширение.
  • Интегрирован с SemanticUI, полностью отзывчив.

Установка: ZIP можно загрузить по адресу www.agiletoolkit.org или через composer require atk4/ui.

Синтаксис:

 <?php

 $app = new \atk4\ui\App();
 $app->initLayout('Centered');
 $form = $app->add('Form');

 $form->addField('name');
 $form->addField('date', null, ['type'=>'date']);

 $form->onSubmit(function($form){ 
    return 'Hello, '.$name;
});

Больше ничего не требуется, нужно что-то устанавливать или копировать ресурсы, это просто работает. Если хотите, есть интеграция с WP, Laravel и некоторыми другими фреймворками с полным стеком.

0 голосов
/ 26 января 2017

Ух ты, этот вопрос так устарел! В любом случае, я также считаю Symfony (SF) лучшей фреймворком общего назначения для PHP , однако в SF 2.0+ формы действительно сложны (следовательно, сложны), и я не считаю Symfony хороший вариант для приложения с интенсивным использованием форм, если его требования не являются достаточно конкретными. Важно понять, что вам нужно: если это повторное использование кода (в данном случае форм), SF действительно хорош, и их подход очень похож на тот, который использовался в проектах Java EE. Но если вам нужны быстрые результаты, я бы посмотрел в другом месте, возможно, на фреймворки Javascript.

Если вы хотите работать с JavaScript напрямую, посмотрите, может быть, проект jQuery Form Framework .

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