PHPАбстрактные классы vs Интерфейсы

Чем интерфейсы отличаются от абстрактных классов?

Абстрактный класс — это класс, у которого не реализован один или больше методов.

Интерфейс — это абстрактный класс, у которого не реализованы все методы, все методы являются публичными и не может быть свойств (переменных).

Читать далее...

PHPФреймворк или CMS?

Чистый php, фреймворк или CMS?

На глаза попалась хорошая аналогия авторства @mletov, привожу с небольшими изменениями.


Чистый php, фреймворк и CMS — это 3 уровня абстракции.

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

Читать далее...

WebDevИмперативное vs Функциональное программирование

Парадигма — это стиль написания исходного кода компьютерной программы. Существует несколько парадигм.

Императивное программирование (от англ. imperative — приказ) — это парадигма программирования, которая описывает процесс вычисления в виде инструкций, изменяющих состояние данных.

Программа — набор инструкций изменяющих состояние (данные). Мы говорим КАК выполнить задачу, описывает алгоритм, даем набор последовательных инструкций.

Читать далее...

HTML\CSSОтцентрировать блок по горизонтали и вертикали

Горизонтальное и вертикальное выравнивание блока распространенная задача. Опишу наиболее простые и частоипользуемые способы.

Отцентировать по горизонтали

Способ 1
Через margin: auto;, задав ширину < ширины родителя.

.center {
    margin: auto;
    width: 50%;
}
Читать далее...

HTML\CSSHTML5: Что следует помнить

Каскадность — браузер находит все CSS-правила, а затем комбинирует их и получает итоговый список свойств. Комбинирование свойств производится по правилам, которые опираются на приоритетность и специфичность. Благодаря механизму каскадности, CSS-правила будут комбинироваться, а при конфликте свойств будет применяться механизм приоритетов.

Порядок определяется по:

  • важности;
  • специфичности;
  • порядку в исходном коде.

Наследование в CSS — механизм, с помощью которого значения свойств элемента-родителя передаются его элементам-потомкам.

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

Читать далее...