<MyRusakov.ru />

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

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

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

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

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

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

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

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

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

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

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

Циклы в PHP

Циклы в PHP

Эту статью я пишу для новичков, которые только начинают изучать PHP. Расскажу я в этой статье о всевозможных циклах в PHP, так как данной статьи у меня на сайте не было. Были только циклы в JavaScript, но, несмотря на общую схожесть, это всё-таки не то. В PHP есть 4 вида циклов.

Вот они:

  1. FOR
  2. WHILE
  3. DO-WHILE
  4. FOREACH

Разберём их по порядку и начнём с самого популярного цикла в PHP (да и не только в PHP) - это цикл FOR. Синтаксис у данного цикла следующий:

for(Выражение_1; Выражение_2; Выражение_3) {
  операторы
}

Выражение_1 выполняется сразу же и безоговорочно, Выражение_3 выполняется после каждой итерации цикла. Выражение_2 - это проверка того, нужно ли продолжать цикл. Если результат выражения будет true, то начинается следующая итерация цикла, а если false, то цикл прекращает свою работу.

Следующий тип цикла - это WHILE. Это более простой тип циклов, синтаксис которого следующий:

while(Выражение) {
  операторы
}

Пока Выражение возвращает true, цикл будет работать, а как только появится false, он прекращает свою работу.

Цикл DO-WHILE очень похож на WHILE, но с одним отличием. Условие выхода проверяется после выполнения итерации, а не до. Таким образом, данный цикл будет выполняться всегда хотя бы 1 раз. И вот синтаксис цикла DO-WHILE:

do{
  операторы
}while(Условие);

И, наконец, последний тип циклов - это foreach, который служит только для перебора массивов и объектов. Он необходим, когда ключами у массива являются не числа (которые легко перебрать через тот же FOR), а строки. Синтаксис цикла FOREACH следующий:

foreach($array_or_object as $key => $value) {
  операторы
}

И, наконец, давайте применим все 4 типа циклов в PHP для перебора массивов:

<?php
  $list = array(5, 2, 3, 10, 12, 10);
  $array = array("a" => 1, "x" => 10, "m" => -5);
  for ($i = 0; $i < count($list); $i++) {
    echo $list[$i]."; ";
  }
  echo "<br />";
  $i = 0;
  while ($i < count($list)) {
    echo $list[$i]."; ";
    $i++;
  }
  echo "<br />";
  $i = 0;
  do {
    echo $list[$i]."; ";
    $i++;
  }while($i < count($list));
  echo "<br />";
  foreach ($array as $key => $value) {
    echo "$key = $value; ";
  }
?>

Все эти циклы обязан знать наизусть любой программист, поэтому если вдруг что-то непонятно, перечитайте ещё раз, либо задайте вопрос в комментариях, и я постараюсь ответить.

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

malina95 malina95 09.09.2012 17:53:54

Михаил помоги мне пожалуйста... Я всё таки пытаюсь сделать комментарии и я запутался в самом начале... Как занести всё в массив а потом вывести? Пробую так но не получается while ($row = $result_set->fetch_array()) { echo $row['name']; //Вывод комментариев echo "<br />"; echo $row['text_comment']; //Вывод комментариев } Помоги пожалуйста

Ответить

Admin Admin 11.09.2012 14:02:16

Записывайте всё содержимое сразу в массив в цикле $res[] = $row А потом вывести foreach($res as $value) { print $value; }

Ответить

malina95 malina95 11.09.2012 17:54:24

Всмысле так? while ($row = $result_set->fetch_array()) { $res[] = $row; foreach($res as $value) { print_r $value } }

Ответить

Admin Admin 12.09.2012 10:52:51

Нет, foreach вообще отдельно, это отдельный цикл для вывода релультата. while ($row = $result_set->fetch_assoc()) { $res[] = $row; } foreach($res as $value) { print_r($value); }

Ответить

malina95 malina95 12.09.2012 21:46:48

никак не получается....всё равно выводит Array ( [id] => 1 [page_id] => 1 [name] => ggggg [text_comment] => ggggggg [email] => [sait] => [date] => 0000-00-00 )

Ответить

Admin Admin 13.09.2012 20:20:49

Значит и был этот массив в row. Можно отдельно вторым циклом выводить и его содержимое.

Ответить

malina95 malina95 13.09.2012 20:50:41

Я напряг голову и решил сделать так,и мне так более удобно,но так не действуют стили : $page_id = 1;// Уникальный идентификатор страницы (статьи или поста) $mysqli = new mysqli("localhost", "Admin", "udiram04", "test");// Подключается к базе данных $result_set = mysql_query("SELECT * FROM `comments` WHERE `page_id`='$page_id'"); //Вытаскиваем все комментарии для данной страницы if (mysql_num_rows($result_set) > 0) { $myrow = mysql_fetch_array($result_set); do { printf ("<p><p><b>Комментарий добавил(а):</b> %s <br /> Дата: %s</p> <p>%s</p></p><hr />",$myrow[`name`],$myrow[`date`], $myrow[`text_comment`]); } while ($myrow = mysql_fetch_array($result_set)); } Помогите со стилями и скажите так нормально выводить или нужно по другому...Да и скажите о безопасности этого метода

Ответить

malina95 malina95 13.09.2012 20:51:46

А вы не подскажите как проверить мыло и добавить в таблицу?

Ответить

Admin Admin 14.09.2012 18:04:52

Не пойму как связаны стили с выводом текста комментариев, стили должны стоять отдельно. Как именно проверить? Что это действительно email можно убедиться проверив по регулярному выражению, а реальный или нет - заставить пользователя перейти по ссылке с кодом.

Ответить

malina95 malina95 14.09.2012 18:25:19

Спасибо что напомнили про отправку на мыло... После просмотра вашей рассылки про подиверждение по мылу регистрации - у меня возникла про блема(Не хочет совершенно обновлятся поле с хешем активации)

Ответить

Alexander Alexander 05.04.2013 13:08:21

А можно как-нибудь повторить определенные блоки в странице используя цикл? Нужно к примеру повторить div блок ровно столько раз, сколько записей выводится в цикле while. Я сколько не пытался - не выходит...

Ответить

Admin Admin 05.04.2013 21:08:56

<?php for ($i = 0; $i < 10; $i++) { ?> <div></div> <?php } ?>

Ответить

Alexander Alexander 05.04.2013 22:39:44

Ээ... вы неправильно меня поняли... Нужно повторить содержимое блока... Я тему на форуме создал по этому вопросу: http://myrusakov.ru/forum.html?act=thread&id=1266

Ответить

torpedko torpedko 18.06.2013 23:13:52

Михаил,а как сделать, чтобы на странице выводилось 10 статей, а если их больше 10, то остальные выводить на следуйщей странице, которая создавалась бы автоматически?

Ответить

Admin Admin 19.06.2013 18:18:37

http://myrusakov.ru/php-page-navigation.html

Ответить

torpedko torpedko 19.06.2013 18:57:57

спасибо

Ответить

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