•  
  •  
  •  
  •  
1 1 1 1 1 1 1 1 1 1 Рейтинг 5.00 (1 Голос)
Интересные возможности языка PHP - 5.0 out of 5 based on 1 vote

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

в разрозненном виде. Автор вполне отдает себе отчет в том, что большинство профессиональных разработчиков все это отлично знает, но новички могут узнать что-то новое.

Содержание статьи имеет мало общего с моей прошлой статьей про использование выражений в PHP. Речь не идет об усложнении кода, скорее наоборот.

Команда BREAK.

Многие почему-то считают, что break может использоваться исключительно в конструкциях switch. Это заблуждение. Кроме switch, она используется в циклах. Кроме того, у команды есть необязательный параметр – число уровней, из которых надо выйти. Например:

while ($exp1) {
    while($exp2) {
        if ($exp3) {
            // полный выход из цикла
            break 2;
        }
        else {
            // выход только из while($exp2)
            break;
        }		
    }
}

Команда CONTINUE

Как и break имеет параметр – число уровней возврата к циклу. 

while ($exp1) {
    while($exp2) {
        if ($exp3) {
            // возврат к while ($exp1)
            continue 2;
        }
        else {
            // возврат к while ($exp2)
            continue;
        }		
    }
}

Кстати, в конструкции switch команда continue дает точно такой же эффект, что и break. Поэтому, если у вас внутри цикла находится оператор switch, и вы внутри него попытаетесь выполнить continue, то у вас произойдет просто break из свича, а не возврат к началу цикла. В этом случае для получение ожидаемого нужно сделать continue 2;

Команда include

А вы знаете, что include скрипта работает точно так же, как вызов функции, а именно может возвращать значения, отдаваемые командой return в процессе выполнения этого скрипта? То есть можно сделать так:

// файл i.php
Return “hello, world!”

// файл index.php
// напечатает “hello, world!”
echo include (“i.php”);

Конечно, это касается остальных подобных команд (include_once, require, require_once).

Цикл for

В for в первом и третьем параметре можно перечислять выражения.

Оператор ${}.

Оператор ${} рассматривается как переменная, имя которой определено как строка, получаемая из выражения в фигурных скобках. Это очень сильно может облегчить жизнь при работе со свойствами и методами классов в ООП. Например:

$myClass = new stdClass();
$myClass->myParam  = new stdClass();
	
function calcThis ($method) {
    return "my".$method;
}

// Вы не можете так сделать, так как у вас это будет рассмотрено как метод класса:	
$myClass->calcThis('Param')->c = 3;

// Но вы можете это сделать так:
$myClass->{calcThis('Param')}->c = 3;

В этом примере нет знака $, потому что при обращении к методу или свойству класса он не требуется. 

Команда DECLARE

Заслуженно можно сказать, что это самая редкоиспользуемая базовая конструкция в PHP. Она нужна для установки директив интерпретатору при выполнении кода. На данный момент существует только одна директива – ticks. 

Declare (ticks=n) – говорит интерпретатору (создает событие), что ему нужно что-то обработать через каждые n тиков. Тик – это выполнение одного базового действия php. Кроме этого, с помощью специальной функции register_tick_function() установить функцию, которая будет выполнена при возникновении события, иначе конструкция бессмысленна.

На практике declare можно использовать для профайлинга скриптов. Т.е. благодаря тикам можно замерять время, потраченное на выполнение каждой вашей операции (или их группы) в скрипте.

Портфолио
Память о Вас и Ваших близких на многие поколения
Подробнее
Прокат металла
Подробнее
Интернет-магазин кожи и меха
Подробнее
100% оригинальная парфюмерия в Москве
Подробнее
Вьетнамский ресторан премиум класса
Подробнее
Внедрение информационных систем
Подробнее
Организация международных конференций
Подробнее
Производство молочной продукции
Подробнее
Спортивный сайт
Подробнее
Интернет-магазин мебели и аксессуаров
Подробнее
Интернет-магазин электротранспорта
Подробнее
Сайт института актуальной экономики
Подробнее
Наши клиенты
Парк развлечений Boom Zoom
Алгор
Норбит
Molga Consulting
Metrotile
Нетология
Monqi
Премиум Пак
Aasha Herbals
Аджва
Салон красоты Сударушка
Пава
ТЦ "Панфиловский"
Фитнес Лаборатория
Система Главбух
Vanguard
GoAsia
ТЦ «Солнечный ветер»
Teledoc
Tchernov Cable
Отзывы
Благодарю компанию web-now.pro за помощь в разработке и запуске проекта POLITSECRETS.RU. Перед нами стояла задача – внедрить проект в сжатые сроки и по оптимальной цене. Порадовало то, что мне подроб...
Вера БлашенковаСекреты успешных выборов, Москва... апр.2016
Мне очень понравился подход с которым нас встретили "Ваша задача заниматься бизнесом, наша - сделать Вам представительство в сети". После этого ребята разработали полное тз на проект, мы внесли пожела...
МаксимIT-TASK, Москва... янв.2016
Работа проделана хорошо! Дизайнер и менеджер на отлично. Надеюсь на сотрудничество в дальнейшем. Есть шероховатости в деталях по задачам, но приятно сказывается оперативность и желание исправить, внес...
БруноСоциальная сеть След Жизни, Москва... янв.2016
Работой остались очень довольны. К работе подходят ответственно, аккуратно, открыто. Проект был сдан чуть раньше срока, по ходу работы возникали изменения, все они принимались безоговорочно, работа вы...
ЕвгенийМагазин текстиля, Москва... дек.2015
Сотрудничаем с 2007 года и сделали не один проект. Самое главное - команда умеет отстаивать своё мнение и постоянно развивается.
МарияМеждународные конференции, Москва... дек.2015
Спасибо всему коллективу компании! Разработали красивый и что самое главной рабочий интернет магазин! Реклама настроена и запущена, продажи идут, бизнес развивается! Нам постоянно подсказывают о новых...
ВадимИнтернет магазин Aromatic.pro, Москва... сен.2015
Большое спасибо команде за оперативность, качественные работы, отличный креатив и привлекательные цены!
Виктория, ОАО "Фармстандарт... июль.2015
Здравствуйте уважаемые партнеры! С наступающим Новым Годом! Желаю Вам дальнейшего процветания и успехов в Вашей благородной работе! С вами приятно сотрудничать! Очень благодарен Вам за своевременное о...
Сергей ЮрченкоКинотруд, Москва... дек.2014
Благодарим команду Brand Now и лично Дениса Логинова за оригинальное видение,разнообразие идей, четкость взаимодействия и безукоризненное соблюдение сроков выполнения проекта! Планируем продолжить сот...
ТатьянаBizness Linkerz... июль.2014
Компания КУН выражает благодарность за сотрудничество: непростая задача была выполнена в требуемые сроки и полностью удовлетворила заявленному ТЗ. Приятно удивила готовность Генерального директора нач...
Мария, Компания КУНhttp://www.kuhn.com/... апр.2014
Все отзывы
Добавить отзыв