Файл исходной компоновки |
В листинге ниже приведен код исходной компоновки из файла default.php. Этот простой пример компоновки еще раз наглядно демонстрирует возможности сочетания кода РНР и HTML в одном файле. */
После оператора defined () компоновка начинается с условного оператора if. Обратите внимание на применение альтернативного синтаксиса языка РНР в условном операторе if. Именно такой синтаксис рекомендуется всегда использовать в файлах компоновки, где сочетаются элементы разметки РНР и HTML. В условном операторе if проверяется, не является ли пустым массив $names. Это делается для того, чтобы исключить возможность отображения пустого элемента ul. А откуда берется переменная $names? Напомним, что файл текущей компоновки выполняется с помощью команды require из файла moduserslatest .php. Как пояснялось ранее, сценарий из этого файла включается, а не вызывается как метод из класса, и поэтому все переменные, оказавшиеся в области действия при включении файла этого сценария, по-прежнему остаются в области действия при его выполнении. Это все равно, что вставить файл текущей компоновки в другой файл (в данном случае mod_users_latest.php) там, где он был включен. Следовательно, переменная $names берется из следующей строки кода в файле mod_users_latest.php: $names = moduserslatestHelper:igetUsers($params); В следующей строке кода из файла исходной компоновки создается элемент ul разметки HTML. В него вставляется переменная $moduleclass_sf х в качестве атрибута класса данного элемента. В рассматриваемой здесь строке кода демонстрируется очень важное положение относительно употребления пробелов в исходных файлах РНР. Как правило, пробелы в исходных файлах РНР особого значения не имеют. Так, приведенные ниже выражения совершенно равнозначны. $х = $у + $z; Команда echo используется для вставки переменной в атрибут элемента разметки ul. В этом случае пробелы имеют такое же значение, как и при наборе буквального текста. Между словом latestusers и значением, возвращаемым командой echo, пробелы отсутствуют, и поэтому данное значение присоединяется к слову latestusers без пробелов. Так, если бы переменная $moduleclass_sf х имела значение "my_suf f ix", то выполнение команды echo дало бы следующий результат. А если бы потребовался суффикс класса данного модуля для создания еще одного класса CSS, что зачастую и делается, нам пришлось бы ввести этот суффикс в форму с начальным пробелом. Благодаря этому начальный пробел отделяет имя стандартного класса от его суффикса. Так, если бы ввести Далее следует фрагмент кода с циклом foreach по переменной $names. Цикл foreach очень удобен для поочередного обращения ко всем элементам массива. Кодовый блок в теле этого цикла выполняется по одному разу для каждого элемента массива. В этом кодовом блоке переменная $name содержит текущий элемент массива. Если же массив пуст, весь этот кодовый блок пропускается. В теле цикла foreach создается элемент разметки li, в который вставляется имя пользователя без элемента привязки. И завершается код исходной компоновки закрытием элементов разметки HTML в том же порядке, в каком они открывались. Сначала закрывается элемент разметки li, затем элемент разметки с вложенным циклом f oreach, далее элемент разметки ul и наконец элемент разметки с вложенным условным оператором if. Обратите внимание, насколько отступы облегчают чтение кода. Они наглядно показывают не только порядок вложения одних кодовых блоков или элементов разметки в другие, но и всю структуру кода HTML, что особенно важно при сочетании элементов разметки РНР и HTML.
Понравился материал? Пригодилась информация? Плюсани в социалки!
Теги:
|
Похожие новости | |
|