<MyRusakov.ru />

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

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

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

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

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

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

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

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

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

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

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

Советы по использованию условий в PHP.

Советы по использованию условий в PHP.

Всем привет! В этой статье мы рассмотрим некоторые советы по использованию if-else условий в PHP.

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

Первый пример

Давайте сразу перейдем к первому примеру.

class User {
  public function fullname() {
   if($this->first_name && $this->last_name) {
    return $this->first_name.' '.$this->last_name;
   }

   return null;
  }
}

Здесь у нас есть класс User, где мы написали метод, который проверяет, существуют ли имя и фамилия, и, если да, то возвращает их. Если же условие не выполняется, то возвращается null.

Давайте перепишем этот код следующим образом:

class User {
  public function fullname() {
   if(!$this->first_name || !$this->last_name) {
    return null;
   }

   // 2-е условие
   // 3-е условие
   // 4-е условие

   return $this->first_name.' '.$this->last_name;
  }
}

Теперь мы проверяем имя и фамилию на отсутствие значений и возвращаем null, если условие выполняется. Если же условия не выполняются, возвращаем наше значение имени и фамилии.

Почему этот подход лучше? Представьте, что у нас не одна проверка, а несколько. В первом случае, если проверка проходит, мы должны будем проверить вернувшееся значение на другое условие, потом на третьте и так далее. У нас будет большая вложенность, что явно ухудшит читаемость кода.

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

Второй пример

Давайте перейдем к более сложному примеру: рассмотрим конструкцию if-else.

if() {
  if() {
   if() {

   }
  }
} else {

}

Думаю, вы встречали такую конструкцию. Это самое обычное решение, которое использует большинство разработчиков, однако такой код достаточно трудно читать и исправлять. Чтобы вы поняли, почему, а также наглядно увидели, как можно написать лучше, давайте рассмотрим пример, где нам нужно загрузить файлы на сервер.

if(isset($_POST['file'])) {
  if(in_array($file_extension, $allowed_file_extensions)) {
   // загружаем файл
  } else {
   return; // ошибка
  }
} else {
  return; // ошибка
}

Здесь мы проверяем файл на существование, затем проверяем, существует ли расширение файла в массиве допустимых значений, и загружаем его. Если какая-либо проверка не прошла, то возвращаем ошибку.

Это всего лишь простой пример, в реальном проекте этих проверок будет очень много, соответственно, вы можете представить, что будет твориться в коде. Редактировать код, где куча вложенностей и ответвлений очень даже трудно. Как же его можно улучшить? Давайте посмотрим:

if(!isset($_POST['file'])) {
  return; // ошибка
}

if(!in_array($file_extension, $allowed_file_extensions)) {
  return; // ошибка
}

// загружаем файл

Здесь мы снова идем от обратного: мы проверяем файл на отсутствие и возвращаем ошибку, если условие выполняется. Потом также поступаем с расширением. Точно так же мы писали бы все другие необходимые нам проверки, а уже потом, если все прошло успешно, то загружаем файл. Такой код выглядит намного лучше и понятнее.

Заключение

Итак, сегодня мы рассмотрели два примера и пришли к выводу, что лучше всего возвращать ожидаемый результат в конце, а все необходимые проверки делать перед этим. Таким образом мы не будем загромождать код, а это благоприятно скажется на его поддержке и понимании.

А на этом у меня все. Спасибо за внимание!

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

f0rman f0rman 28.08.2016 13:59:37

Как всегда очень информативно и очень педагогично поданный материал. Спасибо.

Ответить

php_programmer php_programmer 29.08.2016 23:47:20

Спасибо Вам за хороший отзыв!

Ответить

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