Что такое некоторые лучшие шаблоны и методы для разработки PHP? [закрытый]

Проблема в том, что ваша страница перенаправляет все, что возвращается из первого запроса. пожалуйста, попробуйте заменить location.href = base_url+"index.php/product/displayprodt"; на console.log(response); или alert(response);

22
задан Srikar Doddi 18 April 2009 в 13:48
поделиться

5 ответов

Я бы посоветовал вам ознакомиться с историей PHP, я знаю, что это дало мне гораздо больше понимание того, что такое PHP сегодня и откуда он пришел.

Короче говоря, PHP был написан Расмусом Лердорфом для предоставления простых функций-обёрток для кода C, который фактически выполнял тяжелую работу, чтобы у него мог быть более простой язык / синтаксис для написания шаблонов, которые должны были вести себя динамически. Рост PHP и сообщества, которое его окружает, лучше всего описать как органический. И так же, как и другие вещи, которые растут органически, они более чем грязные, асимметричные и совершенно неконгруэнтные.

Как только вы поймете PHP и его сообщество, вам нужно принять PHP для всего, чем оно является, и всего, чем оно не является. Эта идея была лучше всего представлена ​​Терри Чаем в его статье PHP без PHP . Он конкретно говорит о концепции фанки кеширования, но он отражает концепцию кодирования для PHP, как если бы это был PHP, а не (вставьте любимый язык здесь) лучше, чем кто-либо, кого я когда-либо видел. Другими словами, не пытайтесь превратить PHP в Java, C #, Ruby и т. Д., Потому что если вы это сделаете, вы потерпите неудачу и будете ненавидеть свою жизнь.

Посмотрите на Как PHP сделан правильно? .

Я должен сказать, что вы должны сначала, в конце, и всегда избегать склонности большинства начинающих разработчиков PHP использовать анти-шаблон спагетти-кода. Другими словами, если вы обнаружите, что вы пишете код, содержащий SQL-запросы, манипулирование данными, проверку данных и вывод html - все в одном скрипте php, то вы делаете это неправильно.

Чтобы избежать этого, будет полезно узнать кое-что о природе шаблонов веб-дизайна. Это, конечно, исключает знакомство с объектно-ориентированным программированием. Но как только вы изучите основы объектно-ориентированного программирования на PHP, изучите шаблон проектирования MVC. Ты не Я должен реализовать это точно, но использование базовых идей Model-View-Controller позволит вам избежать проблемы сценариев BLOB-объектов, которые обычно создают большинство новичков.

На этом этапе я настоятельно рекомендую вам использовать любые фрагменты кода. Вы находите в Интернете зерно соли. И даже если вы найдете это в книге, вам придется подумать, сколько лет этой книге. PHP как язык продвинулся довольно далеко, и вы не можете просто брать примеры кода по номинальной стоимости, потому что, в зависимости от их возраста, они могут использовать обходные пути, которые были действительны в 3.x или 4.x, но просто больше не являются необходимо с новыми функциями.

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

Если вы хотите лучше понять шаблоны, которые реализуются фреймворками и обычно используются в общеупотребительном языке на SO, я предлагаю прочитать Фаулера и GoF . Они' Я расскажу все об основных шаблонах проектирования, которые вы будете использовать в своих усилиях по разработке.

Специально следите за следующим:

  • Функциональные файлы, которые содержат множество функций. Это, скорее всего, указывает на необходимость либо поместить функции непосредственно в сценарии, которые в них нуждаются, либо это может также указывать на возможность создания некоторых более общих функций, которые могут быть выполнены для выполнения функций пары очень специфических функций. Конечно, если вы создаете связные, хорошо инкапсулированные классы, вы не должны сталкиваться с этой проблемой.
  • Класс do everything. Это анти-паттерн капли и действительно противный. В этом случае вам нужно определить, где нарушаются сплоченность и инкапсуляция, и использовать эти точки в качестве возможности разбить класс на несколько меньших, более обслуживаемых классов.
  • SQL-запросы, которые не используют параметризованные запросы или, по крайней мере, экранированные параметры. Очень, очень, очень плохо.
  • Любой случай, когда проверка не выполняется или выполняется только на стороне клиента. При разработке для Интернета единственный способ защитить ваш сайт и ваших пользователей - это предположить, что все остальные являются черными шляпами.
  • Внезапно навязчивое желание использовать шаблонизатор. PHP является языком шаблонов. Убедитесь, что у вас есть четкие причины для добавления еще одного слоя на свой веб-сайт, прежде чем использовать механизм шаблонов.

Для дальнейшего чтения просмотрите следующее:

Шаблоны разработки приложений PHP
Защита PHP - полезно чтобы дать вам представление о наиболее распространенной критике.
Безопасность strip_tags и mysqlirealescapestring
Что должен знать каждый программист PHP
Как структурировать ORM
Лучший способ организовать иерархию классов
Основные компоненты / слои приложения PHP
Зачем использовать Framework для PHP
Рекомендуемое обучение безопасности для PHP

26
ответ дан 29 November 2019 в 04:47
поделиться
  • Использовать стандарт кодирования.
  • Использовать модульное тестирование. PHPUnit и SimpleTest являются основными системами xUnit в PHP.
  • Будьте объектно-ориентированы.
  • Используйте контроль версий. Любой контроль версий, просто используйте его.
  • Если применимо, используйте фреймворк. Zend, CodeIgniter, Symfony и CakePHP являются основными.
  • Если нет фреймворка, используйте хотя бы ORM. Propel и Doctrine являются главными.
  • Документ. Крупный. Используйте PHPdoc или аналогичный.

Существует множество инструментов для PHP. Пожалуйста, используйте их и напишите хороший поддерживаемый код. Вы сделаете всех счастливее.

10
ответ дан 29 November 2019 в 04:47
поделиться

Используйте PDO или mysqli. Использование одного из них даст вам подготовленные заявления, которые являются более безопасными и эффективными. Я не могу поверить, сколько примеров и уроков я вижу, используя древние интерфейсы mysql. PDO также облегчит переключение на другую систему баз данных, если вы решите, например, попробовать postgres.

Вы можете использовать Doctrine ( http://www.doctrine-project.org [1110719). ]). Он имеет немного собственной кривой обучения, но обеспечивает очень удобную функциональность. Самыми удобными частями для меня являются функции создания таблиц / загрузки тестовых данных. Лично я предпочитаю писать свой собственный SQL и выполнять его с PDO, а не использовать ORM в работе.

Главным образом, изучите SQL и MySQL. http://www.kitebird.com/mysql-book/ Эта книга превосходна. Аспект PHP не очень интенсивен; PDO заботится о большей части этого.

3
ответ дан 29 November 2019 в 04:47
поделиться

Zend Framework " Стандарты кодирования для PHP " является хорошей отправной точкой. Проверьте также этот пост .

1
ответ дан 29 November 2019 в 04:47
поделиться

Вы из Java, и большая часть OO в PHP очень Javaesque. Это означает, что многие из шаблонов проектирования, которые вы (надеюсь) изучили в Java, также применяются (в меньшей степени) в PHP. Примером доступа к базе данных может служить шаблон DataMapper.

0
ответ дан 29 November 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: