ООП в PHP: Исключения

Под исключительной ситуацией понимают такую ситуацию возникшею в ходе выполнения кода, когда неясно, что делать дальше или дальнейшее выполнение кода бессмысленно. К примеру, скрипту не удалось установить соединение с базой данных, тогда добавление или выборка данных из неё заведомо бессмысленна. В php в подобных ситуациях часто нативная функция просто возвращает false и выполнение заведомо неработающего кода продолжается. Чтобы избежать подобной ситуации можно проверять значение возвращаемое функцией и, в случае если оно говорит о произошедшей ошибке, выводит предупреждение. Такой подход имеет некоторые недостатки. Во-первых, для изменения действий выполняемых при ошибке пользователю вашего кода придётся редактировать ваш код. Намного лучше было бы позволить ему самому определять механизм обработки этой ошибки. Во-вторых, возвращённое функцией значение не всегда может быть верно расценено, или вовсе остаться непроверяемым, тогда в случае ошибки придётся тратить время на выяснение её причин. В-третьих, не всегда верно стремиться обработать любую проблему прямо в методе или в функции, ведь в таком случае валидация параметров и обработка ошибок может загромоздить изначально достаточно простой код. Намного лучше каким-нибудь образом сообщить пользователю вашего кода, что что-то пошло не так, позволив ему самому решать, что делать в таком случае.

Для решения всех этих проблем и был придуман механизм обработки исключений. Читать далее ООП в PHP: Исключения

JS для начинающих. Урок 1.14: Собственные функции

js-custom-functionsФункция — это именованный блок кода, который определяется единожды и может вызываться многократно. Функция может иметь параметры, или аргументы, значения которых определяется при её вызове. Параметры могут использоваться внутри функции для осуществления каких-либо действий или вычисления возвращаемого значения.

В этом уроке мы сосредоточимся на объявлении и вызове собственных функций. Не забывайте, что в js есть множество встроенных функций. Некоторые из них мы вскользь затронули в одном из предыдущих уроков. Читать далее JS для начинающих. Урок 1.14: Собственные функции

JS для начинающих. Урок 1.13: Объекты

js-objectsОбъект в js, как и массив, можно рассматривать как набор данных за исключением того, что массив это набор нумерованных элементов, а в объекте каждое значение имеет своё имя. Значение, хранящиеся в объекте и имеющее своё имя, называется свойством объекта. Извлечение и запись такого значения производится по его имени.

При помощи объектов удобно описывать реально существующие сущности или математические абстракции. Объект объединяет в себе данные о таких сущностях, что позволяет более чётко структурировать код. Читать далее JS для начинающих. Урок 1.13: Объекты

ООП в PHP: Наследование

inheritanceИз первой статьи в этой рубрике можно было узнать, что при помощи механизма наследования один или несколько классов-наследников могут приобрести свойства и методы своего класса-предка. Такой подход позволит не дублировать код, что плохо по некоторым причинам. Во-первых, если код дублируется, то писать его приходится больше и дольше. Во-вторых, в случае, если в код нужно будет внести некоторые изменения, то делать это придётся в нескольких местах. В-третьих, если дублируется код, то дублируется и ошибка, если она была допущена, и исправлять её придётся в нескольких местах. Кроме того при помощи наследования реализуется полиморфизм – механизм, который позволит сделать ваш код более расширяемым. Читать далее ООП в PHP: Наследование

Простая головоломка на JavaScript

brainteaser-jsОднажды, когда я сидел в универе на скучной паре, мне почему-то вспомнилась одна забавная головоломка из квеста «Машинариум». Я давно забыл, как она решается и мне почему-то очень захотелось вспомнить решение. Рисовать ход решения на бумаге мне показалось утомительным, и я решил написать эту головоломку на js. Позднее мне захотелось поделиться этой забавной игрушкой с вами. Головоломка безымянная, но чтобы хоть как-то обозначить, о чём мы будем говорить, я решил назвать её «cтрелки». Читать далее Простая головоломка на JavaScript

JS для начинающих. Урок 1.12: Массивы

js-arraysВсе переменные, которые раньше встречались вам в этом курсе, содержали только одно значение, но зачастую может встретиться необходимость работать с довольно большими наборами данных. Объявлять переменную для хранения каждого элемента такого набора очень неудобно, а если количество элементов набора может меняться, то это почти непосильная задача. Для решения подобных проблем и упрощения работы с длинными наборами данных и были придуманы массивы. Читать далее JS для начинающих. Урок 1.12: Массивы

ООП в PHP: Магические методы. Методы-перехватчики

magic-methods-phpЛюбой нативный метод в php, который начинается с __ называются магическим. Вся «магия» таких методов состоит в том, что они могут вызываться при совершении какого-то действия автоматически и без ведома программиста. С одним из очень важных магических методов мы уже вскользь познакомились в предыдущей статье в этой рубрике, это метод __construct, который называют конструктором. Он вызывается при создании экземпляра класса и, как правило, выполняет действия по его инициализации.

Не менее значимые, на мой взгляд, магические методы это методы-перехватчики __get, __set, __isset, __unset, __call. Назвали их так за то, что они словно перехватывают обращение к недоступным или несуществующим членам класса. Читать далее ООП в PHP: Магические методы. Методы-перехватчики

ООП в PHP: Классы, экземпляры класса, поля, методы и конструкторы

Как вы узнали из предыдущей статьи, класс представляет собой описания некоторых схожих между собой объектов. В этой статье мы подробно на примерах рассмотрим, как именно описываются данные, которые будет хранить экземпляр класса, и его поведение, то есть методы.

Эта статья будет полезна тем, кто уже достаточно хорошо знает не объектно-ориентированный php, но до изучения ООП в этом языке ещё не дошёл. Читать далее ООП в PHP: Классы, экземпляры класса, поля, методы и конструкторы

JS для начинающих. Урок 1.11: Циклы

javascript-cycleПри написании скриптов часто возникает потребность выполнять какое-то действие несколько раз. Для того, чтобы в этом случае не дублировать код существуют операторы циклов. Их мы и рассмотрим в этом уроке. Читать далее JS для начинающих. Урок 1.11: Циклы

ООП в PHP: Введение

Object-Oriented-Programming-PHPЭто первая, а лучше сказать нулевая статья в рубрике «ООП в PHP». Она будет полезна как совсем зелёным новичкам, так и тем, кто уже достаточно хорошо умеет писать не объектно-ориентированный код и хочет узнать для чего же всё-таки нужно ООП.

Написать про ООП в php несколько статей меня заставило то, что я не нашёл удовлетворивших меня статей по этой теме. Есть сухие и скучные официальные мануалы или статьи, где излагаются, по сути, те же мануалы только с более подробными примерами, так же в сети очень много устаревшей информации по этой теме. Читать далее ООП в PHP: Введение