Я мог бы быть провален для этого, но если Вы действительно хотите записать свою собственную платформу, я говорю, идут для него, потому что Вы будете много учиться на опыте. Другие платформы, упомянутые здесь, являются большими и протестированы, и Вы не приняли бы плохое решение с помощью них, но это - выбор.
Прежде, чем начать писать Вашу платформу, посмотрите на другие платформы (в их синтаксисе, структуре каталогов, назвав схему, шаблоны разработки, и т.д.) и попытайтесь выяснить, почему они сделали то, что они сделали и что, во всяком случае, Вы сделаете по-другому. Испытайте несколько учебных руководств и играйте с их кодом, сделайте несколько демонстрационных приложений. Если после выполнения этого Вы не любите использовать их, то идете вперед и начинаете планировать свою платформу, сохраняя то, что работало и улучшение, что не сделало.
, Если бы Вы действительно решаете к самокрутке, вот несколько вещей, которые я рекомендовал бы на основе своего собственного опыта:
- Делают безопасность Вашим Высшим приоритетом - Если Вы пишете уровень доступа к данным, используйте связанные параметры. Если Вы пишете класс формы, принимаете меры против CSRF и XSS. Поймайте свои исключения и обработайте Ваши ошибки. Удостоверьтесь, что Ваша среда PHP безопасна. Не пытайтесь придумать свой собственный алгоритм шифрования. Если Вы не концентрируетесь на безопасности, не стоит писать Вашу собственную платформу.
- Комментарий Ваш Код - Вам будут нужны комментарии, чтобы помочь Вам помнить, как Ваш код работает через некоторое время. Я обычно нахожу, что комментарии docblock более чем достаточно. Кроме того, прокомментируйте, почему Вы сделали что-то, не, что Вы сделали. Если необходимо объяснить, что, можно хотеть осуществить рефакторинг.
- Единственные Классы Ответственности и Методы - большинство Ваших классов и методов должны сделать одну вещь и только одну вещь. Особенно не упустите это с базой данных - Ваш класс разбиения на страницы не должен полагаться на Ваш объект доступа к данным, и при этом почти любой другой (низкий уровень) не должен классифицировать.
- Модульный тест - Если каждый из Ваших методов делает только одну вещь, должно быть намного легче протестировать их, и это приведет к лучшему коду. Запишите тест сначала, затем код, чтобы пройти тест. Это также даст Вам большую свободу осуществить рефакторинг позже, не повреждая что-то.
- Абстрактные Подобные Классы - Если у Вас есть больше чем один класс, который делает подобные вещи, создайте родительский класс, который использует общие черты между классами, и расширьте его.
- Делегат и Строит из модулей - Если Вы пишете систему проверки (и возможности - Вы, вероятно, был бы), не включать каждый блок проверки допустимости как метод в некотором супер классе проверки. Разделите их на отдельные классы и назовите их по мере необходимости. Это может быть применено во многих областях: фильтры, языки, алгоритмы, блоки проверки допустимости, и так далее.
- Защищают и Приватизируют - В большинстве случаев, лучше использовать методы получателя и методы установщика вместо того, чтобы предоставить прямой доступ к переменным класса.
- Последовательный API - Если у Вас есть рендеринг () метод и ничья () метод, которые делают то же самое в различных классах, выберите один и пойдите с ним через все классы. Сохраните порядок параметров тем же для методов, которые используют те же параметры. Последовательным API является более легкий API.
- Не забывают Автоматически загружаться - имена классов могут стать немного неуклюжими и длинными, но путь Пехлеви называет классы и организует каталоги, делает автозагрузку намного легче. Обновление : С PHP 5.3 необходимо начать использовать пространства имен.
- Никогда эхо или печать что-либо - Дает его как возвращаемое значение и позволило пользователю решить, должно ли это быть отражено. Много времен Вы будете использовать возвращаемое значение в качестве параметра для другого метода.
- не Пытаются Решить проблемы В мире - Решают Ваше собственное сначала. Если Вам не нужна функция прямо сейчас, как класс для локализации чисел или дат или валюты, не пишите это. Ожидайте, пока Вам не будет нужен он.
- не Предварительно оптимизируют - Создают несколько простых приложений с Вашей платформой прежде, чем точно настроить его. Иначе можно провести много времени ни на чем продуктивном.
- Управление исходным кодом Использования - при пребывании в течение бесчисленных часов, создавая шедевр не рискуйте им теряться.
задан Ryu 2 October 2009 в 13:30
поделиться