PHP Framework поможет - PullRequest
       6

PHP Framework поможет

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

Хорошо, прежде чем кто-либо скажет тот факт, что на вопрос о php-фреймворке уже дан ответ, обратите внимание, что я задаю вопросы конкретно о том, какой фреймворк лучше всего подойдет с учетом требований, которые я предоставляю.Сейчас я нахожусь в процессе строительства большого проекта.В будущем я буду работать над несколькими средними / большими и несколькими небольшими проектами.Я опытный php-разработчик и полностью знаю ООП как внутри, так и с большим знанием базы данных mysql, поэтому изучение системы не является проблемой.

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

В структуре я ищу следующие элементы:

  1. Скорость - из-заБудучи более крупными проектами, мне нужно помнить о скорости.Я могу написать эффективный код, но если фреймворк работает медленно, то теперь это не имеет значения:)
  2. Аутентификация - я хотел бы иметь возможность использовать некоторую встроенную аутентификацию, если это возможно, через фреймворк.Мне не обязательно нужны детальные разрешения, основанные на пользователях, но более или менее через группы (гранулярные разрешения не отключаются, просто не требуется).
  3. Ajax - мне нравится использовать ajax в моих приложениях, поэтому я хотел бы, чтобы некоторыевид реализации ajax в рамках и лично я предпочитаю jquery.Для этого необязательно иметь встроенные функции ajax, но есть способ убить страницу с помощью вывода ajax, прежде чем что-либо будет выводиться для повышения эффективности.
  4. Формы - я видел, что многие фреймворки имеют встроенные функции для управления формамино я подумал, что упомяну это здесь, чтобы избавить себя от головной боли.
  5. Администрирование - возможно, это одна из самых необходимых функций, которые мне действительно нужны.Мне нужно иметь возможность создать бэкэнд для управления сайтом.Я не хочу взламывать что-то вместе, чтобы сделать эту работу.
  6. API - мне понадобится API для доступа / изменения данных, которые я буду разрешать.
  7. База данных - Построенв методах базы данных.Не обязательно делать это автоматически, просто дайте мне доступ, чтобы иметь возможность получать / обновлять данные, которые вам нужны.

Это не обязательные требования, а более или менее приятные функции:

  1. Я хотел бы иметь возможность объединить все свои данные, которые идут с определенным элементом, в «модуль» своего рода.Чтобы я мог легко скопировать его на другой сайт и подготовить к работе.
  2. Простая в навигации структура.Я хотел бы иметь возможность заходить в контроллеры и не видеть 50 файлов, а вместо этого увидеть, может быть, 10 папок с файлами, вложенными в папки, так, чтобы они были лучше разделены.

Я не могу думать ни о чемеще в это время, но если я думаю о чем-то еще, я буду обновлять пост.Мне бы очень хотелось получить обратную связь от людей, которые используют какие-либо фреймворки.Если вы не испортили структуру, пожалуйста, не рекомендуйте ее, так как у вас нет опыта работы с ней, и вы не будете знать, будет ли она соответствовать моим потребностям.Любая помощь приветствуется.

РЕДАКТИРОВАТЬ:Я просто хотел отредактировать этот пост, чтобы уточнить некоторые вещи. В требованиях / функциях, которые я ищу, не обязательно должны быть встроены все функции в среду. Из некоторых ответов казалось, что люди думают, что все это должно быть готово. Я более или менее ищу фреймворк, который поддерживает все функции, которые я ищу, что легко достигается с помощью компонентов в фреймворке. Например, администрация не обязательно должна иметь область администрирования по умолчанию, но позволяет мне легко создавать администрацию из компонентов, которые я буду добавлять на сайт.

Ответы [ 2 ]

3 голосов
/ 06 января 2011

Исходя из моего собственного опыта (CodeIgniter, Zend Framework), , но на самом деле все основные фреймворки позволят вам делать все, что вы просили .

  1. Скорость - CodeIgniter - этосамый быстрый, с которым я работал, это не самая сильная особенность ZF, на самом деле, когда я работаю, мы все пришли к выводу, что ZF работает медленно.

  2. Auth - Zend Framework лучше обрабатывает аутентификациючем то, что я видел в других фреймворках

  3. Ajax - Все основные фреймворки позволят вам отключить макет / представление, Zend здесь немного лучше, так как у вас могут быть специальные представления json.

  4. Формы - Фреймворк CodeIgniter обрабатывает формы проще, чем ZF, однако все фреймворки должны легко решать эту проблему.Symfony должен быть упомянут здесь с его генератором форм.

  5. Администрирование - Symfony просто потому, что у него есть хороший генератор форм crud, основанный на таблицах, которые вы передаете ("генератор администратора", как онирекламируют его), ведьма немного ускорит развитие.

  6. ???

  7. База данных - ZF обрабатывает базы данных лучше в моем мнении,Однако я слышал и хорошие новости о Symfony.CodeIgniter здесь не так уж и строг, по моему мнению, не очень хорошая вещь.

  8. Модульное приложение - Сборка модулей в ZF очень проста, и мне больше всего нравится то, что модульструктура выглядит как само приложение (например, все приложение является модулем ...)

  9. Простая навигация по структуре - все они, как только вы к ней привыкли, однако я неНе нравится тот факт, что CodeIgniter хранит все свои контроллеры в одном месте, когда в ZF вы можете добавлять модули и отделять вещи друг от друга.

1 голос
/ 06 января 2011

Ну, в прошлом я работал с несколькими фреймворками PHP, и хороших фреймворков не так много.Вы можете рискнуть взглянуть на Zend Framework

  1. ОК
  2. ОК (но не на уровне предприятия)
  3. ОК, но додзё
  4. сложный
  5. нет, это фреймворк, а не приложение
  6. хорошо, но на самом деле ERM
  7. инкапсулирует PDO безобразно (плохой реализованный шаблон фабрики)

ZF разработан самим Zend, но мне это тоже не очень понравилось, потому что у него много недостатков (жестокий DBAL, сложная обработка форм, поддержка dojo вместо jQuery) и если вы привыкли к Java /JBOSS или .NET это просто отстой (упоминая об этом только потому, что вы планируете большой проект).

Если у вас есть время до развертывания проекта и если вам не нужно запускать его немедленно, вы также можетепопробуйте FLOW3 (все еще альфа), который разработан командой TYPO3.Я немного поиграл с FLOW3 и могу сказать, что это единственный PHP FW, у которого есть хотя бы хорошая архитектура и несколько хороших идей / парадигм (например, AOP).

Если я вас правильно понимаюТаким образом, вам понадобится что-то вроде CMS для вашего бэкэнда.Возможно, было бы неплохо оценить выход из CMS и проверить, можете ли вы расширить их (используйте CMS в качестве основы (например, TYPO3)).

Вы не найдете FW, который точно соответствует вашим потребностям, поэтому выследует рассмотреть возможность выбора CMS / FW и настроить его так, как вам нужно.Если проект настолько большой, насколько я представляю, ресурсов для этой задачи должно быть достаточно.

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