<MyRusakov.ru />

Вёрстка сайта с нуля 2.0

Вёрстка сайта с нуля 2.0

Система "Вёрстка сайта с нуля 2.0" содержит в себе не только сами видеоуроки по адаптивной вёрстке сайтов с примерами, но и вспомогательную систему для более эффективного обучения.

Сам курс обучит Вас абсолютно с нуля HTML5 и CSS3, а также научит верстать сайты с помощью реальных примеров вёрстки. Обучение идёт от простого к сложному. В последнем разделе курса идёт обучение адаптивной вёрстке сайтов: Вы узнаете всю необходимую теорию, а также увидите пример реальной адаптивной вёрстки сайта.

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

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

Подписавшись по 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

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

Ответить

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