Шаблоны проектирования PHP

Шаблоны проектирования PHP
PHP для разработчиков на C

Самый простой способ думать о PHP — это интерпретация C, которую можно встраивать в HTML-документы. Сам язык во многом похож на C, за исключением нетипизированных переменных, множества встроенных веб-библиотек и всего, что подключено непосредственно к вашему любимому веб-серверу.

Синтаксис операторов и определений функций должен быть знаком, за исключением того, что переменным всегда предшествует $, а функциям не требуются отдельные прототипы.

Здесь мы поместим некоторые сходства и различия в PHP и C

Сходства

  • Синтаксис. В общем, синтаксис PHP такой же, как и в C: код не чувствителен к пустым, операторы заканчиваются точкой с запятой, вызовы функций имеют ту же структуру (my_function (выражение1, выражение2)), а фигурные скобки ({и}) делают операторы в блоки. PHP поддерживает комментарии в стиле C и C ++ (/ * * /, а также //), а также в стиле Perl и сценария оболочки (#).

  • Операторы — операторы присваивания (=, + =, * = и т. Д.), Логические операторы (&&, ||,!), Операторы сравнения (<,>, <=,> =, ==,! = ), а основные арифметические операторы (+, -, *, /,%) ведут себя в PHP так же, как и в C.

  • Управляющие структуры — основные управляющие структуры (if, switch, while, for) ведут себя так же, как в C, включая поддержку break и continue. Одно заметное отличие состоит в том, что переключатель в PHP может принимать строки в качестве идентификаторов регистра.

  • Имена функций — просматривая документацию, вы увидите множество имен функций, которые кажутся идентичными функциям C.

Отличия

  • Знаки доллара — все переменные обозначаются символом $ в начале. Переменные не нужно объявлять перед назначением, и они не имеют внутреннего типа.

  • Типы — PHP имеет только два числовых типа: целочисленный (соответствует long в C) и double (соответствует double в C). Строки могут быть произвольной длины. Отдельного типа символов нет.

  • Преобразование типов — типы не проверяются во время компиляции, и ошибки типов обычно не возникают во время выполнения. Вместо этого переменные и значения автоматически преобразуются между типами по мере необходимости.

  • Массивы — массивы имеют синтаксис, внешне похожий на синтаксис массивов C, но они реализованы совершенно иначе. На самом деле это ассоциативные массивы или хэши, а индекс может быть числом или строкой. Их не нужно декларировать или выделять заранее.

  • Отсутствие типа структуры. В PHP нет структуры, отчасти потому, что типы массива и объекта вместе делают ее ненужной. Элементы массива PHP не обязательно должны быть согласованного типа.

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

  • Нет прототипов — функции не нужно объявлять до определения их реализации, если определение можно найти где-нибудь в текущем файле кода или включенных файлах.

  • Управление памятью. Механизм PHP фактически представляет собой среду со сборкой мусора (с подсчетом ссылок), и в небольших сценариях нет необходимости делать какое-либо освобождение. Вы должны свободно выделять новые структуры, такие как новые строки и экземпляры объектов. В PHP5 можно определить деструктор для объектов, но нет свободного или удаленного. Деструктор вызывается, когда исчезает последняя ссылка на объект, до того, как память будет освобождена.

  • Компиляция и компоновка — для скриптов PHP нет отдельного этапа компиляции.

  • Вседозволенность — в общем, PHP более снисходительный, чем C (особенно в его системе типов), и поэтому позволит вам избежать ошибок нового типа. Неожиданные результаты встречаются чаще, чем ошибки.

Выберите поля, которые будут показаны. Прочие будут скрыты. Перктаскивайте мышкой для изменения порядка полей.
  • Изображение
  • SKU
  • Рейтинг
  • Цена
  • Запасы
  • Доступность
  • В корзину
  • Описание
  • Содержимое
  • Вес
  • Размеры
  • Дополнительная информация
  • Атрибуты
  • Custom attributes
  • Настраиваемые поля
Сравнить
Список желаний 0
Открыть страницу желаний Продолжить покупки