Uploaded by Артур Керн

IEEE 802.11

advertisement
23.03
IEEE 802.11
EEE 802.11 — набор стандартов связи для коммуникации в беспроводной локальной
сетевой зоне частотных диапазонов 0,9; 2,4; 3,6; 5 и 60 ГГц.
Пользователям более известен по названию Wi-Fi, фактически являющемуся брендом,
предложенным и продвигаемым организацией Wi-Fi Alliance. Получил широкое распространение
благодаря развитию мобильных электронно-вычислительных устройств: КПК и ноутбуков.
Стандарт IEEE 802.11d определяет параметры физических каналов и сетевого
оборудования. Он описывает правила, касающиеся разрешенной мощности излучения
передатчиков в диапазонах частот, допустимых законами. Этот стандарт очень важен, поскольку
для работы сетевого оборудования используются радиоволны. Если они не будут соответствовать
указанным параметрам, то могут помешать другим устройствам, работающим в этом или
близлежащем диапазоне частот.
Поскольку по сети могут передаваться данные разных форматов и важности, существует
потребность в механизме, который бы определял их важность и присваивал необходимый
приоритет. За это отвечает стандарт IEEE 802.11e, специально разработанный с целью передачи
потоковых видео- или аудиоданных с гарантированными качеством и доставкой.
Стандарт IEEE 802.11f разработан с целью обеспечения аутентификации сетевого
оборудования (рабочей станции) при перемещении компьютера пользователя от одной точки
доступа к другой, то есть между сегментами сети. При этом вступает в действие протокол обмена
служебной информацией IAPP (Inter-Access Point Protocol), который необходим для передачи
данных между точками доступа. При этом достигается эффективная организация работы
распределенных беспроводных сетей.
Инфракрасный канал — канал передачи данных, не требующий для своего
функционирования проводных соединений. В компьютерной технике обычно используется
для связи компьютеров с периферийными устройствами (интерфейс IrDA). Инфракрасная
технология использует для передачи данных импульсы света, а не радиоволны. В принципе
эта технология позволяет обеспечить более высокую скорость передачи, чем другие типы
беспроводных локальных сетей. Сейчас в продаже уже имеются продукты для сетей Token
Ring со скоростью передачи 16 Мбит/с (например, InFraLAN фирмы InfraLAN Technologies)
и идет работа по созданию систем с интерфейсом, подобным FDDI, работающих на
скорости 100 Мбит/с.
Среди преимуществ инфракрасной технологии можно назвать следующие:
1. инфракрасная технология не требует лицензии на спектр частот;
2. инфракрасные ЛС нечувствительны ко многим видам электромагнитных помех,
имеющихся в закрытых помещениях;
3. инфракрасные лучи не могут проникать через стены, полы и потолки (если они не
стеклянные), что делает эту технологию надежно защищенной от перехвата информации.
Последнее свойство является одновременно и главным недостатком инфракрасных
ЛС, так как требует прямой видимости между приемником и передатчиком, что сильно
ограничивает область их применения. Кроме того, инфракрасные сигналы чувствительны к
плохой погоде (дождь и туман их рассеивают), поэтому данную технологию не
рекомендуется использовать для соединения сетей, находящихся в разных зданиях.
В отличие от пультов дистанционного управления телевизором инфракрасные
передатчики локальных сетей могут излучать сигнал во всех направлениях. Однако в этом
случае они потребляют значительно больше энергии, чем при однонаправленной связи, что
служит препятствием для их применения в переносных компьютерах, питающихся от
батарей.
Согласно мнению экспертов, доля сетей на инфракрасном излучении в ближайшие
пять лет возрастет с 5 до 22 процентов. Причины этого заключаются в простоте установки,
высокой пропускной способности, дешевизне сетевого оборудования и высокой степени
защиты данных. Инфракрасные сетевые комплексы незаменимы в тех случаях, когда надо
организовать локальную сеть в большом офисе, разделенном перегородками выше
человеческого роста (чтобы избежать случайных пересечении линии сообщения).
25.03
Bluetooth
Bluetooth производственная спецификация беспроводных . Bluetooth обеспечивает обмен
информацией между такими устройствами, как персональные компьютеры (настольные,
карманные, ноутбуки), мобильные телефоны, интернет-планшеты, принтеры, цифровые
фотоаппараты, мышки, клавиатуры, джойстики, наушники, гарнитуры и акустических систем на
надёжной, бесплатной, повсеместно доступной радиочастоте для ближней связи. Bluetooth
позволяет этим устройствам сообщаться, когда они находятся в радиусе до 10 м друг от друга
(дальность сильно зависит от преград и помех), даже в разных помещениях.
Принцип действия основан на использовании радиоволн. Радиосвязь Bluetooth
осуществляется в ISM-диапазоне, который используется в различных бытовых приборах
и беспроводных сетях. В Bluetooth применяется метод расширения спектра со скачкообразной
перестройкой частоты. Метод FHSS прост в реализации, обеспечивает устойчивость к
широкополосным помехам, а оборудование недорогое.
Согласно алгоритму FHSS, в Bluetooth несущая частота сигнала скачкообразно меняется
1600 раз в секунду. Последовательность переключения между частотами для каждого соединения
является псевдослучайной и известна только передатчику и приёмнику, которые каждые
625 мкс (один временной слот) синхронно перестраиваются с одной несущей частоты на другую.
Таким образом, если рядом работают несколько пар приёмник-передатчик, то они не мешают друг
другу. Этот алгоритм является также составной частью системы защиты конфиденциальности
передаваемой информации: переход происходит по псевдослучайному алгоритму и определяется
отдельно для каждого соединения. При передаче цифровых данных и аудиосигнала (64 кбит/с в
обоих направлениях) используются различные схемы кодирования: аудиосигнал не повторяется
(как правило), а цифровые данные в случае утери пакета информации будут переданы повторно.
Протокол Bluetooth поддерживает не только соединение «point-to-point», но и соединение
«point-to-multipoint».
Инициализацией bluetooth-соединения принято называть процесс установки связи. Её
можно разделить на три этапа:
 генерация ключа Kinit,
 генерация ключа связи (он носит название link key и обозначается, как Kab),
 аутентификация.
Первые два пункта входят в так называемую процедуру паринга.
Паринг (pairing), или сопряжение, — процесс связи двух (или более) устройств с целью
создания общего секретного значения Kinit, которое они будут в дальнейшем использовать при
общении. В некоторых переводах официальных документов по bluetooth можно также встретить
термин «подгонка пары». Перед началом процедуры сопряжения на обеих сторонах необходимо
ввести PIN-код.
Kinit формируется по алгоритму E22, который оперирует следующими величинами:
 BD_ADDR — уникальный MAC-адрес BT-устройства длиной 48 бит;
 PIN-код и его длина;
 IN_RAND — случайная 128-битная величина.
Для создания ключа связи Kab устройства обмениваются 128-битными
словами LK_RAND(A) и LK_RAND(B), генерируемыми случайным образом. Далее следует
побитовый XOR с ключом инициализации Kinit. И снова обмен полученным значением. Затем
следует вычисление ключа по алгоритму E21.
Для этого необходимы величины:
 BD_ADDR
 128-битный LK_RAND (каждое устройство хранит своё и полученное от другого
устройства значения)
На данном этапе pairing заканчивается и начинается последний этап инициализации
bluetooth — Mutual authentication, или взаимная аутентификация. Основана она на схеме «запросответ». Одно из устройств становится верификатором, генерирует случайную
величину AU_RAND(A) и посылает его соседнему устройству (в открытом виде), называемому
предъявителем. Как только предъявитель получает это «слово», начинается вычисление
величины SRES по алгоритму E1, и она отправляется верификатору. Соседнее устройство
производит аналогичные вычисления и проверяет ответ предъявителя. Если SRES совпали, то
устройства меняются ролямии процесс повторяется заново.
E1-алгоритм оперирует такими величинами:
 Случайно созданное AU_RAND


link key Kab
Свой собственный BD_ADDR
26.03
Интерфейс пользователей
Интерфе́йс по́льзователя, он же по́льзовательский интерфейс — интерфейс,
обеспечивающий передачу информации между пользователем-человеком и программноаппаратными компонентами компьютерной системы (ISO/IEC/IEEE 24765-2010).
Под совокупностью средств и методов интерфейса пользователя подразумеваются:
Средства:
 вывода информации из устройства к пользователю — весь доступный
диапазон воздействий на организм человека (зрительных, слуховых, тактильных,
обонятельных и т. д.) — экраны(дисплеи, проекторы) и лампочки, динамики, зуммеры и
сирены, вибромоторы и т. д. и т. п.
 ввода информации/команд пользователем в устройство — множество
всевозможных устройств для контроля состояния человека — кнопки,
переключатели, потенциометры, датчики положения и движения, сервоприводы, жесты
лицом и руками, даже съём мозговой активности пользователя.
По наличию тех или иных средств ввода, интерфейсы разделяются на типы — жестовый,
голосовой, брэйн, и т. д., возможны смешанные варианты. Средства эти должны быть
необходимыми и достаточными, быть удобными и практичными, расположенными и
скомпонованными разумно и понятно, соответствовать физиологии человека, не должны
приводить к негативным последствиям для организма пользователя (всё это входит в
понятие эргономики).
Методы:
 набор правил, заложенных разработчиком устройства, согласно которым
совокупность действий пользователя должна привести к необходимой реакции устройства и
выполнения требуемой задачи — т. н. логический интерфейс
Правила эти должны быть достаточно ясны для понимания, естественны и легки для
запоминания (всё это входит в понятие юзабилити)
Увеличение в устройстве (при равной функциональности) средств ввода-вывода даёт
упрощение построения методов управления и упрощение правил пользования, но зато приводит к
сложности восприятия информации пользователем — интерфейс становится перегруженным. И
наоборот — уменьшение средств отображения и контроля приводит к усложнению правил
управления — каждый элемент несёт на себе слишком много функций. Потому проектировщики
интерфейсов стараются принять компромиссное решение между этими двумя крайностями в
каждом отдельном случае.
Одним из основных направлений исследований в области обеспечения безопасности
пользовательских интерфейсов, и, в частности, визуальных интерфейсов пользователя, является
разработка моделей информационной безопасности при условии комплексного учета
информационных, функциональных, психофизиологических и экологических аспектов
безопасности. Это связано, прежде всего, с включением информационного фактора в состав
факторов среды систем человек-компьютер и информационным характером почти всех
происходящих в области распространения ИП процессов. Наименее разработанным областям
проблематики защиты информации в системе человек-компьютер (СЧК) соответствуют такие
угрозы, как:
 искажение воспринимаемой пользователем информации за счет её зашумления
источниками среды на рабочем месте пользователя;
 потеря или искажение воспринимаемой пользователем информации из-за
физической, семантической или синтаксической несогласованности её представления
пользователю;
 искажение представлений пользователя о реальном состоянии объекта управления
за счет скрытых информационных воздействий и неадекватное принятие им решений в
процессе решения задач в рамках СЧК.
27.03
SILK интерфейс
SILK-интерфейс расшифровывается как Speech (речь) Image (образ) Language (язык)
Knowledge (знание).
При использовании SILK-интерфейса на экране по речевой команде происходит
перемещение от одних поисковых образов к другим по смысловым семантическим связям.
Современные операционные системы поддерживают командный, WIMP- и SILKинтерфейсы.
В последнее время внимание привлекают новые виды интерфейса, такие как
биометрический (мимический) и семантический (общественный). В связи с этим поставлена
проблема создания общественного интерфейса (social interface). Общественный интерфейс
будет включать в себя лучшие решения WIMP- и SILK-интерфейсов.
Предполагается, что при использовании общественного интерфейса не нужно будет
разбираться в меню. Экранные образы однозначно укажут дальнейший путь. Перемещение от
одних поисковых образов к другим будет проходить по смысловым семантическим связям.
Пользовательский интерфейс означает среду и метод общения человека с компьютером
(совокупность приёмов взаимодействия с компьютером). Интерфейс часто отождествляется с
диалогом, который подобен диалогу или взаимодействию между двумя людьми. Он включает
правила представления информации на экране и правила интерактивной технологии, например,
правила реагирования человека-оператора на то, что представлено на экране.
Диалог (человеко-машинный диалог) представляет последовательность запросов
пользователя, ответов на них компьютера и наоборот (запрос пользователя, ответ и запрос
компьютера, окончательное действие компьютера и др.). Он осуществляется путём
взаимодействия пользователя с компьютером в процессе выполнения каких-либо действий.
Пользователь использует конкретные действия (команды, процедуры), которые
являются частью диалога. Эти диалоговые действия не всегда требуют от компьютера
обработки информации. Они могут быть необходимы для организации перехода от одной
панели к другой или от одного приложения к другому, если работает более чем одно
приложение.
Диалоговые действия контролируют, что происходит с информацией, которую
пользователи распечатывают на конкретном устройстве; следует ли её сохранить или
запомнить, при переходе пользователя к другой панели приложения или другим процедурам.
Когда пользователи возвращаются к диалогу, приложение аннулирует или сохраняет любые
изменения информации на панели. Если действия пользователя могут привести к потере
определённой информации, программа рекомендует пользователю подтвердить, что:
а) информацию не нужно сохранять;
б) необходимо сохранение информации, или следует аннулировать последний запрос и
вернуться назад.
При работе с компьютером у пользователя формируется система ожидания одинаковых
реакций на одинаковые действия, что постоянно подкрепляет пользовательскую модель
интерфейса.
Диалог в большей степени осуществляется с помощью форм меню. Одним из важных
элементов взаимодействия пользователей с компьютером являются “окна”. Любое окно делится
на три части. Первая располагается вверху и содержит несколько строк (заголовка, меню,
панель инструментов). С её помощью производится доступ к другим объектам и выполняются
основные команды. Вторая часть самая большая. Её называют рабочей поверхностью или
областью. В ней отображаются объекты, которые вызываются из меню или строки состояния, а
также основная часть вызванной пользователем программы. Третья часть обычно располагается
внизу и может даже отсутствовать. Она называется строкой состояния.
Пользовательский интерфейс включает также программы обучения, справочный
материал, возможность подстройки внешнего вида программ и содержания меню под
надобности пользователей (индивидуальные настройки) и другие сервисы. Сюда же входят
дизайн, пошаговые подсказки и визуальные реплики (использование “Помощника”).
Однажды грамотно разработанный интерфейс пользователя позволяет экономить время
пользователей и разработчиков. Для пользователя уменьшается время изучения и
использования системы, сокращается число ошибок, появляется чувство комфортности и
уверенности. Разработчик может выделять общие блоки интерфейса, стандартизировать
отдельные элементы и правила взаимодействия с ними, сокращать время проектирования
системы.
Эти блоки позволяют программистам создавать и изменять приложения более просто и
быстро. Например, из-за того, что одна и также панель может быть использована во многих
системах, разработчики приложений могут использовать одни и те же панели в различных
проектах.
Главная задача проектирования интерфейса пользователя заключается не в том, чтобы
рационально “вписать” человека в контур управления, а в том, чтобы, исходя из задач
управления объектом, разработать систему взаимодействия двух равноправных партнеров:
человека и аппаратно-программного комплекса, рационально управляющих объектом
управления.
29.03
Средства разработки интерфейса
Интерфейс имеет важное значение для любой программной системы и является
неотъемлемой ее составляющей, ориентированной, прежде всего, на конечного пользователя.
Именно через интерфейс пользователь судит о прикладной программе в целом; более того, часто
решение об использовании прикладной программы пользователь принимает по тому, насколько
ему удобен и понятен пользовательский интерфейс. Вместе с тем, трудоемкость проектирования и
разработки интерфейса достаточно велика. По оценкам специалистов в среднем она составляет
более половины времени реализации проекта. Актуальным является снижение затрат на
разработку и сопровождение программных систем или разработка эффективного программного
инструментария, где под эффективностью понимается простота разработки, легкость
сопровождения и удобство работы с программой.
Одним из путей снижения затрат на разработку и сопровождение программных систем является
наличие в инструментарии средств четвертого поколения, позволяющих на высоком уровне
описать (специфицировать) создаваемое программное средство и далее по спецификации
автоматически сгенерировать исполнимый код. Рынок программных средств предлагает широкий
выбор инструментария для его разработки. Однако имеющиеся инструментальные средства
поддерживают разработку только некоторых составляющих пользовательского интерфейса
средствами четвертого поколения, остальные его составляющие программируются разработчиком,
что значительно увеличивает затраты, сложность разработки и сопровождения.
Исследования, связанные с разработкой пользовательского интерфейса, начались с
появления специальных операторов ввода-вывода в языках программирования и в настоящее
время привели к появлению специализированных инструментальных средств для разработки
интерфейса.
Специализированные средства для разработки интерфейса позволяют упростить
разработку пользовательского интерфейса, предлагая разработчику специфицировать компоненты
пользовательского интерфейса с использованием языков спецификаций.
Можно выделить несколько основных способов спецификации интерфейса.
1. Языковой, когда применяются специальные языки для задания синтаксиса интерфейса
(декларативные, объектно-ориентированные, языки событий и др.).
2. Графическая спецификация связана с определением интерфейса, как правило,
средствами визуального программирования, программированием демонстраций и по примерам.
Подобный способ поддерживает ограниченный класс интерфейсов.
3. Спецификация интерфейса, основанная на объектно-ориентированном подходе, связана
с принципом, называемым непосредственное манипулирование. Основное его свойство –
взаимодействие пользователя с индивидуальными объектами, а не со всей системой как единым
целым. Типичными компонентами, используемыми для манипуляций с объектами и
управляющими функциями, являются обработчики, меню, зоны диалога, кнопки различного вида
4. Спецификация интерфейса по спецификации прикладной задачи. Здесь интерфейс
создается автоматически по спецификации семантики прикладной задачи. Однако сложность
описания интерфейса затрудняет возможности скорого появления систем, реализующих данный
подход.
Основной концепцией СУПИ является отделение разработки пользовательского
интерфейса от остального приложения. В настоящее время идея раздельного проектирования
интерфейса и приложения либо закреплена в определении СУПИ, либо является основным его
свойством.
В состав СУПИ определен как набор инструментов этапа разработки и периода
исполнения. Инструменты этапа разработки оперируют с моделями интерфейса для построения их
проектов. Они могут разделяться на две группы: интерактивные инструменты, например
редакторы моделей, и автоматические инструменты, например генератор форм. Инструменты
периода исполнения используют модель интерфейса для поддержки деятельности пользователя,
например, для сбора и анализа используемых данных.
Функциями СУПИ является содействие и облегчение разработки и сопровождения
пользовательского интерфейса, а также управление взаимодействием между пользователем и
прикладной программой.
Поведение интерфейса и прикладной программы определяется характером взаимодействия
с пользователем. Можно выделить три различных типа взаимодействия: инициатива диалога
принадлежит пользователю, прикладной программе либо является смешанной.
Инициатива управления пользователем. Данный тип управления означает, что интерфейс
предоставляет инициативу пользователю (прикладная программа так устроена) либо пользователь
сам берет инициативу на себя, а интерфейс поддерживает такую возможность (прикладная
программа так устроена).
Инициатива управления прикладной программой. Данный тип управления означает, что
если прикладной программе необходима некоторая информация, то она запрашивает ее у
пользователя, пользователь включается в процесс решения, когда необходимо ввести данные,
требуемые системе.
Смешанная инициатива управления. Данный тип взаимодействия объединяет два
предыдущих подхода, при котором пользователь определяет входные данные, но если прикладной
программе для решения необходимы дополнительные данные, то она запрашивает их у
пользователя.
30.03
ПО для разработки пользовательского интерфейса:
Sketch, Adobe XD, Figma
Интерактивное прототипирование:
Principle
Работа с типографией:
Google fonts, fontjoy, typetester, colligraphy
Работа с иконками и знаками:
Jconst, free icon marker,the moren project
Организация рабочего процесса:
Trello, Zeplin, Presentator
01.04
Механизм работы веб-сервера
1. Web-навигатор или другой Web-клиент посылает Web-серверу запрос на
получение от него какого-либо информационного ресурса. Запрос передается в формате
HTTP, а адрес ресурса указывается в формате URL.
2. После получения запроса Web-сервер определяет наличие запрашиваемого
ресурса среди локальных ресурсов, т. е. среди ресурсов, которыми данный сервер управляет.
3. Если запрашиваемый ресурс имеется в наличии, то Web-сервер проверяет права
доступа к этому ресурсу и, если права не нарушены, то возвращает содержимое ресурса
Web-клиенту.
4. Если запрос Web-клиента нарушает права доступа к ресурсу, то Web-сервер
отклоняет запрос и возвращает соответствующее предупреждение клиенту.
5. В случае, если запрашиваемый ресурс не относится к локальным ресурсам Webсервера, сервер определяет наличие в его файлах настройки информации о перемещении
ресурса в сети. Если ресурс был размещен на сервере, но в данный момент перемещен в
другое место, то сервер сообщает об этом клиенту.
Схема перенаправления запроса
6. Если Web-сервер поддерживает виртуальное дерево другого Web-сервера, то
запрос будет перенаправлен на нужный ресурс по аналогии с предыдущим шагом.
7. Если Web-сервер используется в качестве сервера-посредника (proxy-сервера), то
он выступает, с одной стороны, в качестве Web-сервера для клиента, пославшего запрос, а с
другой стороны — в качестве Web-клиента, который посылает запрос к другому Webсерверу.
8. После возвращения информации клиенту сервер разрывает соединение с ним.
Использование Web-сервера в качестве сервера-посредника
Web-сервер может использоваться для решения широкого круга задач. Наиболее
типичными для современных серверов являются следующие функции:
- ведение иерархической базы данных документов, обработка запросов и контроль за
доступом к информации со стороны программ-клиентов;
- предварительная обработка данных перед ответом на запрос;
- взаимодействие с внешними программами и другими серверами, например, с
информационно-поисковыми системами.
Большинство современных Web-серверов, таких как Enterprise Server от корпорации
Netscape и Internet Information Server от Microsoft, реализуют криптографический протокол
SSL (Secure Sockets Layer), обеспечивающий поддержание конфиденциальности,
целостности и подлинности передаваемых по сети данных. Этот протокол реализован и в
современных Web-навигаторах — Netscape Navigator и Internet Explorer. Данная особенность
позволяет безопасно использовать Web-технологию в компьютерных сетях.
03.04
Программа Adobe DreamWeaver поддерживает ведущие технологии и позволяет
проектировать и создавать код с помощью ведущих технологий веб-разработки, включая
HTML, XHTML, CSS, XML, JavaScript, Ajax, PHP, ПО Adobe ColdFusion® и ASP и др. Adobe
DreamWeaver поддерживает следующие действия при создании сайта:
Управление сайтом. Подготовка редактора к работе с web-сервером. Работа с
локальной и удаленной версией сайта. Работа с картой сайта.
Реализация структуры сайта. Соглашение об именах файлов. Создание главной
страницы. Создание навигационной панели. Подготовка шаблонов. Подготовка библиотеки
элементов.
Форматирование HTML-страниц. Элементы структурной разметки. Визуальное
форматирование текста. Создание гипертекстовых ссылок. Создание списков. Создание и
форматирование таблиц. Создание и использование стилей CSS. Импорт текста в формат
HTML.
Вставка изображений и других элементов. Использование графических материалов.
Создание карты ссылок на изображении. Вставка изменяющегося изображения. Определение
интерактивных свойств объектов. Вставка Flash-кнопок. Использование подключаемых
модулей.
Adobe Dreamweaver предоставляет веб-дизайнерам такие возможности, как
интерактивный просмотр создаваемых страниц в браузере посредством функции
интерактивного просмотра с сохранением доступа к коду. Изменения в коде немедленно
отображаются на экране.
Dreamweaver позволяет создавать новые правила CSS на панели "Свойства" и
получайть пояснения о месте применения каждого свойства в каскаде стилей.
Связанные файлы и навигатор по кодую. Щелкните любой файл на панели связанных
файлов, чтобы увидеть его источник в представлении "Код" и родительскую страницу в
представлении "Дизайн". Новая функция навигатора по коду показывает исходный код CSS,
относящийся к выделенному фрагменту, и позволяет быстро получить к нему доступ.
Интерактивный просмотр, связанные файлы, навигатор по коду и подсказки при работе
с JavaScript. Используйте в работе расширенные функции Dreamweaver по созданию кода,
применяя популярные каркасы JavaScript, включая jQuery, Prototype и Spry. Просто прикрепите
нужные внешние файлы JavaScript, и Dreamweaver автоматически отобразит подсказки по коду.
Основные обновления: Подсказки по коду для каркасов Ajax и JavaScript—Эффективнее создавайте код JavaScript с помощью улучшенной поддержки основных объектов и простых типов
данных JavaScript.
06.04
Конструкция if-else
Логика действий
And (и)
Or (или)
Not (не)
И: $a and $b TRUE, ЕСЛИ и $а и $b TRUE
или: $a or $b TRUE, ЕСЛИ или $а или $b TRUE
Исключ. или: $a xor $b TRUE, ЕСЛИ $а или $b TRUE, но не оба
Отрицание: !$a TRUE, ЕСЛИ $а не TRUE
И: $a && $b TRUE, ЕСЛИ и $а и $b TRUE
Или: $a || $b TRUE, ЕСЛИ или $а или $b TRUE
Операторы сравнения PHP
$a == $b
Равно
$a === $b
Тождественно равно
$a != $b
Не равно
$a <> $b
Не равно
$a !== $b
Тождественно не равно
$a < $b
Меньше
$a > $b
Больше
$a <= $b
Меньше или равно
$a >= $b
Больше или равно
08.04
Операторы if-else и их синтаксис
if (условие)
{
// если условие истинно
operator1;
operator2;
}
elseif(условие)
{
operator1;
...
}
else
{
// если условие ложно
operator1;
operator2;
}
if($x > $y):
echo $x." больше, чем ".$y;
elseif($x == $y): // при использовании ":" нельзя писать раздельно else if
echo $x." равно ".$y;
else:
echo $x." не > и не = ".$y;
endif;
09.04
WHILE
Цикл с предусловием while работает по следующим принципам:
1.
Вычисляется значение логического выражения.
2.
Если значение истинно, выполняется тело цикла, в противном случае переходим на следующий за циклом оператор.
Синтаксис цикла с предусловием:
while (логическое_выражение)
инструкция;
В данном случае телом цикла является инструкция. Обычно тело цикла состоит из
большого числа операторов. Приведем пример цикла с предусловием while:
<?php
$x=0;
while ($x++<10) echo $x;
// Выводит 12345678910
?>
Обратите внимание на последовательность выполнения операций условия $x++<10.
Сначала проверяется условие, а только потом увеличивается значение переменной. Если мы
поставим операцию инкремента перед переменной (++$x<10), то сначала будет выполнено
увеличение переменной, а только затем - сравнение. В результате мы получим строку 123456789.
Этот же цикл можно было бы записать по-другому:
<?php
$x=0;
while ($x<10)
{
$x++; // Увеличение счетчика
echo $x;
}
// Выводит 12345678910
?>
Если мы увеличим счетчик после выполнения оператора echo, мы получим
строку 0123456789. В любом случае, мы имеем 10 итераций. Итерация - это выполнение
операторов внутри тела цикла.
Подобно конструкции условного оператора if, можно группировать операторы внутри тела
цикла while, используя следующий альтернативный синтаксис:
while (логическое_выражение):
инструкция;
...
endwhile;
Пример использования альтернативного синтаксиса:
<?php
$x = 1;
while ($x <= 10):
echo $x;
$x++;
endwhile;
?>
10.04
For
Цикл со счетчиком используется для выполнения тела цикла определенное число раз. С
помощью цикла for можно (и нужно) создавать конструкции, которые будут выполнять действия
совсем не такие тривиальные, как простая переборка значения счетчика.
Синтаксис цикла for такой:
for (инициализирующие_команды; условие_цикла; команды_после_итерации) {
тело_цикла; }
Цикл for начинает свою работу с выполнения инициализирующих_команд. Данные
команды выполняются только один раз. После этого проверяется условие_цикла, если оно
истинно (true), то выполняется тело_цикла. После того, как будет выполнен последний оператор
тела, выполняются команды_после_итерации. Затем снова проверяется условие_цикла. Если оно
истинно (true), выполняется тело_цикла и команды_после_итерации, и.т.д.
<?php
for ($x=0; $x<10; $x++) echo $x;
?>
Данный сценарий выводит: 0123456789
Есть вариант вывода строки 12345678910:
<?php
for ($x=0; $x++<10;) echo $x;
// Выводит 12345678910
?>
В данном примере мы обеспечили увеличение счетчика при проверке логического
выражения. В таком случае нам не нужны были команды, выполняющиеся после итерации.
Если необходимо указать несколько команд, их можно разделить запятыми, пример:
<?php
for ($x=0, $y=0; $x<10; $x++, $y++) echo $x;
// Выводит 0123456789
?>
Приведем еще один, более практичный пример использования нескольких команд в
цикле for:
<?php
for($i=0,$j=0,$k="Точки"; $i<10; $j++,$i+=$j) { $k=$k."."; echo $k; }
// Выводит Точки.Точки..Точки...Точки....
?>
Рассмотренный пример (да и вообще любой цикл for) можно реализовать и через while,
только это будет выглядеть не так изящно и лаконично.
Для цикла for имеется и альтернативный синтаксис:
for(инициализирующие_команды; условие_цикла; команды_после_итерации):
операторы;
endfor;
12.04
EOD
EOD исп. В текстовых документах.
echo<<<’EOD’
Text
Text
EOD;
Массив в PHP - это упорядоченное отображение, которое устанавливает соответствие
между значением и ключом. Этот тип оптимизирован в нескольких направлениях, поэтому вы
можете использовать его как собственно массив, список (вектор), хэш-таблицу (являющуюся
реализацией карты), словарь, коллекцию, стэк, очередь и, возможно, что-то еще. Так как
значением массива может быть другой массив PHP, можно также создавать деревья и
многомерные массивы.
13.04
массивы
<?php
$technik[10] = "Computer";
$technik[20] = "Printer";
$technik[30] = "Mouse";
$technik[40] = "Scaner";
$technik[50] = "Monitor";
echo $technik[10]."<br>";
echo $technik[20]."<br>";
echo $technik[30]."<br>";
?>
Как создать многомерный массив
Создать многомерный массив можно с помощью конструкции array(), что очень похоже на
создание обычного массива. Разница заключается в том, что в многомерном массиве каждый
элемент также является массивом.
Например:
1
$myArray = array(
2
array( <var>value1</var>, <var>value2</var>, <var>value3</var> ),
3
array( <var>value4</var>, <var>value5</var>, <var>value6</var> ),
4
array( <var>value7</var>, <var>value8</var>, <var>value9</var> )
В выше приведённом примере создаётся двумерный массив. Массив верхнего уровня
содержит 3 элемента. Каждый элемент также является массивом, содержащим 3 значения.
Download