<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Глобальный массив $_SERVER в PHP

Глобальный массив $_SERVER в PHP

Те, кто более-менее серьёзно изучал PHP знают, что существует один очень полезный глобальный массив в PHP, который называется $_SERVER. И вот хотелось бы в этой статье разобрать самые популярные ключи и их значения в этом массиве, так как их знание просто обязательно даже для начинающего PHP-программиста.

Прежде чем приступить к глобальному массиву $_SERVER в PHP, сразу сделаю небольшую подсказку. Есть замечательная функция, встроенная в PHP, которая называется phpinfo(). Давайте сразу приведу пример её использования:

<?php
  phpinfo();
?>

В результате выполнения этого просто скрипта Вы увидите огромную таблицу с различными настройками интерпритатора PHP, в том числе, ближе к концу будет таблица значений глобального массива $_SERVER. Там будут перечислены все ключи и все соответствующие им значения. Чем это может Вам помочь? А тем, что если Вам потребуется то или иное значение, и Вы забудете, как называется ключ, то с помощью функции phpinfo() Вы можете всегда вспомнить его название. В общем, Вы выполните этот скрипт и сразу меня поймёте.

А теперь давайте перейдём к самым популярным ключам массива $_SERVER:

  • HTTP_USER_AGENT - этот ключ позволяет узнать характеристику клиента. В большинстве случаев, это, безусловно, браузер, однако, не всегда. И опять же, если браузер, то какой, вот в этой переменной об этом можно и узнать.
  • HTTP_REFERER - содержит абсолютный путь к тому файлу (PHP-скрипт, HTML-страница), с которого перешли на данный скрипт. Грубо говоря, откуда пришёл клиент.
  • SERVER_ADDR - IP-адрес сервера.
  • REMOTE_ADDR - IP-адрес клиента.
  • DOCUMENT_ROOT - физический путь к корневой директории сайта. Это опция задаётся через конфигурационный файл сервера Apache.
  • SCRIPT_FILENAME - физический путь к вызванному скрипту.
  • QUERY_STRING - весьма полезное значение, которое позволяет получить строку с запросом, а дальше можно заниматься парсингом этой строки.
  • REQUEST_URI - ещё более полезное значение, которое содержит не только сам запрос, но и вместе с ним относительный путь к вызываемому скрипту от корня. Это очень часто используется для удаления дублирования с index.php, то есть когда у нас такой URL: "http://mysite.ru/index.php" и "http://mysite.ru/" ведут на одну страницу, а URLы разные, следовательно, дублирование, что плохо скажется на поисковой оптимизации. И вот с помощью REQUEST_URI мы можем определить: с index.php или нет был вызван скрипт. И можем сделать редирект с index.php (если он присутствовал в REQUEST_URI) на без index.php. В результате, при передаче такого запроса: "http://mysite.ru/index.php?id=5", у нас будет происходить редирект на URL: "http://mysite.ru/?id=5". То есть мы избавились от дублирования, удалив из URL этот index.php.
  • SCRIPT_NAME - относительный путь к вызываемому скрипту.

Пожалуй, это все элементы глобального массива $_SERVER в PHP, которые используются регулярно. Их надо знать и уметь использовать, когда это необходимо.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (12):

malina95 malina95 13.01.2013 17:54:51

Если ввести в поисковое поле $_SERVER то он не ищет статью про глобальный массив, напишите статью как делать поиск с такими запросами

Ответить

Admin Admin 14.01.2013 15:29:37

Также, как и со всеми, только надо очень аккуратно использовать функцию quotemeta(), которую использовать только для запросов, но саму поисковую строку не модифицировать через неё.

Ответить

masik-new masik-new 13.04.2013 12:48:15

Михаил, не могли бы Вы поподробней описать про избавление от index.php? А еще лучше готовый код выложить?

Ответить

Admin Admin 13.04.2013 12:51:04

Хорошо, напишу статью. Выйдет она примерно 24-го апреля.

Ответить

masik-new masik-new 13.04.2013 12:51:50

Спасибо. Буду ждать.

Ответить

remox remox 06.07.2013 19:03:59

$query2 = "SELECT ".TB_PREFIX."wdata.id AS map_id, ".TB_PREFIX."wdata.fieldtype AS map_fieldtype, ".TB_PREFIX."wdata.oasistype AS map_oasis, ".TB_PREFIX."wdata.x AS map_x, ".TB_PREFIX."wdata.y AS map_y, ".TB_PREFIX."wdata.occupied AS map_occupied, ".TB_PREFIX."wdata.image AS map_image, ".TB_PREFIX."odata.conqured AS oasis_conqured, info_user_oasis.username AS oasis_user, info_user_oasis.tribe AS oasis_tribe, info_alliance_oasis.tag AS oasis_alli_name, ".TB_PREFIX."vdata.wref AS ville_id, ".TB_PREFIX."vdata.owner AS ville_user, ".TB_PREFIX."vdata.name AS ville_name, ".TB_PREFIX."vdata.capital AS ville_capital, ".TB_PREFIX."vdata.pop AS ville_pop, ".TB_PREFIX."users.id AS user_id, ".TB_PREFIX."users.username AS user_username, ".TB_PREFIX."users.tribe AS user_tribe, ".TB_PREFIX."users.alliance AS user_alliance, ".TB_PREFIX."alidata.id AS aliance_id, ".TB_PREFIX."alidata.tag AS aliance_name FROM ((((((".TB_PREFIX."wdata LEFT JOIN ".TB_PREFIX."vdata ON ".TB_PREFIX."vdata.wref = ".TB_PREFIX."wdata.id ) LEFT JOIN ".TB_PREFIX."odata ON ".TB_PREFIX."odata.wref = ".TB_PREFIX."wdata.id ) LEFT JOIN ".TB_PREFIX."users AS info_user_oasis ON info_user_oasis.id = ".TB_PREFIX."odata.owner ) LEFT JOIN ".TB_PREFIX."alidata AS info_alliance_oasis ON info_alliance_oasis.id = info_user_oasis.alliance ) LEFT JOIN ".TB_PREFIX."users ON ".TB_PREFIX."users.id = ".TB_PREFIX."vdata.owner ) LEFT JOIN ".TB_PREFIX."alidata ON ".TB_PREFIX."alidata.id = ".TB_PREFIX."users.alliance ) where ".TB_PREFIX."wdata.id IN ($maparray) ORDER BY FIND_IN_SET(".TB_PREFIX."wdata.id,'$maparray2')"; нашел вот такой запрос и голова закружилась)) подскажите пожалуйста, что сдесь к чему - имею ввиду join - где о нем хорошо, понятно написано? и почему там написано AS сначала? (с основами SQL знаком, несложнblе запросbl составлять умею) спасибо!

Ответить

Admin Admin 07.07.2013 08:58:22

http://myrusakov.ru/sql-join.html А as - это объявление переменной: слева её значение, а справа её имя.

Ответить

Adrenalin Adrenalin 14.09.2013 00:40:33

как с помощью php подгрузить контент ЧЕРЕЗ НЕКОТОРОЕ ВРЕМЯ? Мне нужно спрятать баннер от поисковиков!

Ответить

Admin Admin 14.09.2013 18:10:18

Задержку можно сделать только на javascript. Либо делать автообновления, а время смотреть по сессии или кукам.

Ответить

emulexx emulexx 06.11.2013 13:22:51

Здравствуйте, Михаил! Подскажите пожалуйста как узнать текущий адрес страницы. Читал что можно через REQUEST_URI, только ничего не получается. Пишу админку к сайту, и мне нужно в зависимости от адреса страницы выводить блок с формой добавления материала (он разный для каждого раздела). Форма у меня выводится, если хотя бы один материал добавлен в раздел (непосредственно через phpMyAdmin). Если материала нет, то не выводится, а надо бы. Спасибо заранее!

Ответить

Admin Admin 06.11.2013 13:56:37

В $_SERVER["REQUEST_URI"] действительно содержатся адрес страницы на сайте, причём вместе с GET-запросом к этой странице, если он есть.

Ответить

Yunior Yunior 29.08.2014 11:58:18

Здравствуйте Михаил, хотел бы узнать по подробнее на счет ключа массива $_SERVER['QUERY_STRING'];. Не могли бы вы поподробнее расписать как ею пользоваться

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.