Все материалы
PHP: Получение информации об объекте или классе, методах, свойствах и наследовании |
|
Как вы знаете, с помощью уточнений типов классов можно ограничить тип аргумента для метода некоторого объекта. Но, увы, даже используя эту возможность, не всегда можно быть уверенным в отношении типа объекта. Существует ряд основных средств для проверки типа объекта. |
Сразу мини-вводная. Этот пост предназначен для тех людей, кто находится в раздумьях и сомнениях по поводу того, жив CodeIgniter или мертв, и стоит ли использовать его в своих новых проектах. Если вы не знаете, что такое CodeIgniter, то, вероятно, большого смысла читать дальше вам просто нет. Зато всех остальных приглашаю в небольшой экскурс по этому вопросу, ибо и я сам - лицо заинтересованное:) |
Функции обратного вызова, анонимные функции и механизм замыканий |
|
Анонимные функции очень активно используются в ООП наряду с функциями обратного вызова (так называемые callback-функции). Ну что ж, давайте обратимся к примерам. |
Одна из частых задач, с которой приходится сталкиваться при работе с массивами данных - это ситуация, когда необходимо с каждым элементом массива выполнить некое действие или прогнать его через какую-либо функцию. Иными словами, нам нужно произвести определенное преобразование для всего набора данных. |
Достаточно частой задачей при работе с массивами является соединение двух массивов в один. Это называется "слияние". Для технической реализации этого момента над понадобится функция array_merge(). Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение |
Деструктор и копирование объектов с помощью метода __clone() |
|
Как мы уже видели, при создании экземпляра объекта автоматически вызывается метод __construct(). Однако в PHP существует и противоположный метод __destruct(). Он вызывается непосредственно перед тем, как объект отправляется на "свалку", а точнее - удаляется из памяти. Поэтому данный метод удобно использовать для выполнения завершающей очистки объекта, если это входит в ваши коварные планы) |
Эволюция веб-разработчика или Почему фреймворк - это хорошо? |
|
Что такое хорошо, и что такое плохо? Вопросы в меру риторические, если нет критериев, по которым мы оцениваем эту самую "хорошесть" или "плохость". Но, прежде всего, мини-вводная для тех, у кого слово "фреймворк" пока еще не входит в активный словарный запас) Фреймворк - это программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. |
Магические методы в PHP или методы-перехватчики (сеттеры, геттеры и др.) |
|
Вся "магия" данных методов сводится к тому, что они могут перехватывать (отсюда их второе название - методы-перехватчики) сообщения, посланные неопределенным (по сути - несуществующим) методам и свойствам. Официально такое деяние называется "перегрузкой", но, поскольку в других языках программирования (например, в Java и С++) этот термин обозначает нечто совершенно другое, будем называть это "перехватом". |
Перед нами стоит тривиальная с виду задача: удалить элемент массива. Или несколько элементов. Однако, при всей ее простоте, в ней есть варианты, которые не совсем очевидны, и о которых стоит знать, если вы хотите продвинуться в PHP чуть дальше, чем "Hello, world!":) |
Наследование открывает большие возможности для широкого поля действий в пределах иерархии класса. Вы можете переопределить класс или метод, чтобы вызов в клиентском методе приводил к совершенно разным результатам, в зависимости от типа объекта, переданного методу в качестве аргумента. Но иногда код класса или метода необходимо "зафиксировать", если предполагается, что в дальнейшем он не должен изменяться. |
50 классных сервисов, программ и сайтов для веб-разработчиков Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:— Разгрузит мастера, специалиста или компанию; — Позволит гибко управлять расписанием и загрузкой; — Разошлет оповещения о новых услугах или акциях; — Позволит принять оплату на карту/кошелек/счет; — Позволит записываться на групповые и персональные посещения; — Поможет получить от клиента отзывы о визите к вам; — Включает в себя сервис чаевых. Для новых пользователей первый месяц бесплатно. Зарегистрироваться в сервисе |
|
В этой статье вы найдете подборку из 50 полезных в хозяйстве программ, онлайн-сервисов и сайтов, которые помогут вам быстрее обучаться веб-разработке, делать больше и быть более продуктивными. |
Массивы в PHP: перебор элементов и сохранение серии последовательных чисел |
|
В этом материале разберемся с двумя задачами, касающимися работы с массивами. Первая - совсем небольшая - сохранение в массиве ряда последовательных целых чисел. Вторая - более обширная и часто используемая - перебор элементов массива. |
Пусть перед нами стоит достаточно частая задача - присвоить значения для нескольких элементов массива за один раз при том, что начальный индекс не должен быть равен нулю. Решение очень простое, главное - просто знать о его существовании. |
В этом материале разберемся с вами в следующих вопросах: что такое массив, какие виды массивов существуют в PHP, как создавать массивы, каковы особенности разных видов массивов, как выводить элементы массива на экран и некоторые другие базовые вопросы. |
В этой статье разберемся с тем, как определить текущую дату и время. Стоит ли говорить, что эта задача встанет перед нами в любом мало-мальски серьезном веб-приложении. |
Примечание: эта статья является почти полностью теоретической и адресована тем, кто только начинает разбираться в том, как работать с датами и временем в PHP. Здесь вы не найдете примеров кода - они будут в других статьях этого цикла. Работа с датой и временем - достаточно распространенная задача, а потому часто возникает ошибочное впечатление, что "Там всё просто...". |
Генерирование случайных чисел (предсказуемых, в заданном диапазоне, с неравномерным распределением) |
|
В этой статье поговорим о том, как генерировать случайные числа. И не просто случайные, а случайные числа в заданном диапазоне, предсказуемые случайные числа и случайные числа с неравномерным распределением. |
В этой заметке разберемся с тем, как управляться с последовательностями целых чисел в PHP-скриптах. Первичная задача состоит в следующем: нам нужно выполнить некий фрагмент кода для каждого целого числа из некоего диапазона. Начнем мы с простейшего цикла for и завершим чем-то гораздо более интересным и функциональным. |
Сегодня предлагаю разобрать на несложных примерах такие вопросы как сравнение и округление чисел с плавающей точкой. В целом эти задачи очень просты, однако новичкам нужно иметь в виду пару важных моментов, которые мы и рассмотрим. |
При разработке скриптов и веб-приложений достаточно часто требуется проверить, содержит ли некая переменная числовое значение. Обычно это важно с точки зрения дальнейших операций, которые потом будут проделаны с этой переменной. При этом стоит отметить, что нередко переменная может иметь тип "строка", но хранить в себе при этом вполне себе числовое значение. |
Как только вы купите доменное имя для своего сайта, перед вами встанет следующая задача. Нужно прописать для вашего домена так называемые DNS-серверы. Не знаю, как вы, а я люблю хотя бы примерно понимать, что я делаю, поэтому перед описанием того, где и как нужно указать DNS-серверы, я скажу пару слов о технической подоплеке. |
В этой заметке мы разберем два момента, касающихся работы с данными в формате CSV. Мы рассмотрим, как генерировать CSV-файл, обладая некими исходными данными и увидим, как вывести данные формата CSV на экран. Данная заметка не претендует на исчерпывающее руководство, однако может стать хорошим стартом, если вы впервые столкнулись с подобной задачей. |
В этой небольшой заметке я покажу, как можно сгенерировать случайную строку средствами PHP. Подобная задача может возникнуть в самых разных ситуациях, например: создание случайного пароля из предустановленного набора символов, генерация случайного имени для файла или папки (в целях их скрытия и защиты), создание временного уникального идентификатора для какого-либо процесса... |
В этом материале поговорим о некоторых типичных задачах, которые могут возникать у PHP-разработчиков при работе со строковыми данными. Рассмотрим мы 3 момента: 1. Как узнать, содержит ли строка искомую подстроку. 2. Как из более длинной строки "вытащить" определенную ее часть. 3. Как заменить часть строки другой строкой. |
Иногда всё идет не так, как надо. Файлы где-то потерялись, серверы баз данных остались не инициализированы, URL-адреса изменились, XML-файлы повреждены, права доступа настроены неправильно, лимиты на дисковую память превышены и бог знает что еще... В стремлении предусмотреть любую проблему, простой метод может иногда утонуть под тяжестью собственного кода обработки ошибок. |
Ок, начнем с того, нужно ли это вам в принципе. Если почтовый адрес нужен вам для переписки с мамой, девушкой или любимой тетушкой из Канады, то email со своим доменом вам вообще не нужен. Письма будут прекрасно доходить и так, независимо от того, какой почтовик вы используете: gmail, yandex, mail или что-то еще. Поэтому заводить такой email по принципу «чтобы было» смысла никакого. |
Частенько при подборе домена можно оказаться в неприятной ситуации: вы долго придумываете, какое бы имя для сайта вам зарегистрировать, наконец придумываете, но оно оказывается уже занято. И все бы ничего, но это имя уже настолько вами выстрадано, настолько хорошо подходит под ваш проект, что «расставаться» с ним (хотя оно ещё и не было вашим) ох как не хочется! |
После того, как мы рассмотрели абстрактные классы и интерфейсы, самое время снова обратиться к статическим методам. Вы уже знаете, что статический метод можно использовать в качестве фабрики, создающей экземпляры объектов того класса, в котором содержится этот метод. Если вы такой же ленивый программист, как и я, то вас должны раздражать повторы кода наподобие тех, что приведены ниже. |
Когда-то однажды купив доменное имя, мы вполне можем забыть об этом. Даже если у вас всего один-два сайта, то и в этом случае можно случайно проворонить время, когда нужно продлевать свои домены. Что уж говорить о ситуациях, когда у вас их хотя бы десяток-другой… |
После того, как вы определились с тематикой вашего сайта, настает ответственный момент - нужно выбрать и зарегистрировать доменное имя, т.е. адрес, под которым ваш сайт будет доступен в сети для всех желающих. К сожалению, далеко не всегда удается «забронировать» себе именно тот домен, который вы хотите. |