Хорошо, прежде чем кто-либо скажет тот факт, что на вопрос о php-фреймворке уже дан ответ, обратите внимание, что я задаю вопросы конкретно о том, какой фреймворк лучше всего подойдет с учетом требований, которые я предоставляю.Сейчас я нахожусь в процессе строительства большого проекта.В будущем я буду работать над несколькими средними / большими и несколькими небольшими проектами.Я опытный php-разработчик и полностью знаю ООП как внутри, так и с большим знанием базы данных mysql, поэтому изучение системы не является проблемой.
Теперь это не так, как мне кажется.за.В настоящее время я использую «каркас», который не так хорош и был предоставлен мне для моих проектов.Я хотел бы избавиться от «фреймворка» и фактически начать использовать реальный фреймворк.Я думал о создании своей собственной платформы, но рассматривал (и действительно склонялся) использование уже существующей платформы.Я посмотрел на несколько фреймворков и даже поиграл с некоторыми из них.Как только я выберу фреймворк, я захочу продолжать его использовать, и мне не нужно будет переключаться на 6 месяцев, поэтому перед тем, как принять решение, я проведу тщательное тестирование, прежде чем принять окончательное решение.Я хотел бы получить от некоторых пользователей информацию о том, какие из них лучше всего соответствуют моим потребностям.
В структуре я ищу следующие элементы:
- Скорость - из-заБудучи более крупными проектами, мне нужно помнить о скорости.Я могу написать эффективный код, но если фреймворк работает медленно, то теперь это не имеет значения:)
- Аутентификация - я хотел бы иметь возможность использовать некоторую встроенную аутентификацию, если это возможно, через фреймворк.Мне не обязательно нужны детальные разрешения, основанные на пользователях, но более или менее через группы (гранулярные разрешения не отключаются, просто не требуется).
- Ajax - мне нравится использовать ajax в моих приложениях, поэтому я хотел бы, чтобы некоторыевид реализации ajax в рамках и лично я предпочитаю jquery.Для этого необязательно иметь встроенные функции ajax, но есть способ убить страницу с помощью вывода ajax, прежде чем что-либо будет выводиться для повышения эффективности.
- Формы - я видел, что многие фреймворки имеют встроенные функции для управления формамино я подумал, что упомяну это здесь, чтобы избавить себя от головной боли.
- Администрирование - возможно, это одна из самых необходимых функций, которые мне действительно нужны.Мне нужно иметь возможность создать бэкэнд для управления сайтом.Я не хочу взламывать что-то вместе, чтобы сделать эту работу.
- API - мне понадобится API для доступа / изменения данных, которые я буду разрешать.
- База данных - Построенв методах базы данных.Не обязательно делать это автоматически, просто дайте мне доступ, чтобы иметь возможность получать / обновлять данные, которые вам нужны.
Это не обязательные требования, а более или менее приятные функции:
- Я хотел бы иметь возможность объединить все свои данные, которые идут с определенным элементом, в «модуль» своего рода.Чтобы я мог легко скопировать его на другой сайт и подготовить к работе.
- Простая в навигации структура.Я хотел бы иметь возможность заходить в контроллеры и не видеть 50 файлов, а вместо этого увидеть, может быть, 10 папок с файлами, вложенными в папки, так, чтобы они были лучше разделены.
Я не могу думать ни о чемеще в это время, но если я думаю о чем-то еще, я буду обновлять пост.Мне бы очень хотелось получить обратную связь от людей, которые используют какие-либо фреймворки.Если вы не испортили структуру, пожалуйста, не рекомендуйте ее, так как у вас нет опыта работы с ней, и вы не будете знать, будет ли она соответствовать моим потребностям.Любая помощь приветствуется.
РЕДАКТИРОВАТЬ:Я просто хотел отредактировать этот пост, чтобы уточнить некоторые вещи. В требованиях / функциях, которые я ищу, не обязательно должны быть встроены все функции в среду. Из некоторых ответов казалось, что люди думают, что все это должно быть готово. Я более или менее ищу фреймворк, который поддерживает все функции, которые я ищу, что легко достигается с помощью компонентов в фреймворке. Например, администрация не обязательно должна иметь область администрирования по умолчанию, но позволяет мне легко создавать администрацию из компонентов, которые я буду добавлять на сайт.