<MyRusakov.ru />

Создание игр на Unreal Engine 4

Создание игр на Unreal Engine 4

Данный курс научит Вас созданию игр на Unreal Engine 4. Курс состоит из 12 модулей, в которых Вы с нуля освоите этот движок и сможете создавать самые разные игры.

В курсе Вы получите всю необходимую теоретическую часть, а также увидите массу практических примеров. Дополнительно, почти к каждому уроку идут упражнения для закрепления материала.

Помимо самого курса Вас ждёт ещё 5 бесплатных ценных Бонусов: «Динамическая смена дня и ночи», «Создание динамической погоды», «Создание искусственного интеллекта для NPC», «Создание игры под мобильные устройства» и «Создание прототипа RPG с открытым миром».

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

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

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

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

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

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

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

Зачем Вы изучаете программирование/создание сайтов?

Как добавить новость на сайт c помощью PHP. Часть 3

Как добавить новость на сайт c помощью PHP. Часть 3

Доброго времени суток! В прошлой статье мы рассмотрели основную программную часть нашего проекта. А в этой статье мы соберем все части проекта вместе, чтобы создать систему добавления новостей на сайт на PHP.

Итак, код:

файл index.php - индексный файл сайта


<?php


require_once 'core.php';
require_once 'models/news_model.php';
$connectionConfig = require_once 'config.php';


/**
 * Показывает страницу со всеми новостями
 * 
 * @throws Exception
 */
function news_show_all_action(array $connectionConfig = [])
{
    // подключаемся к базе данных
    $connection = getDBConnection($connectionConfig);
    // получаем все новости
    $news = news_getAll($connection);

    // возвращаем отрисованый шаблон
    return render('index', ['news' => $news]);
}


print news_show_all_action($connectionConfig);



файл news.php - отвечает за добавление новости в базу


<?php


require_once 'models/news_model.php';

/**
 * Валидация данных введенных пользователем для новости
 * 
 * @param array $data
 * @return array
 */
function news_validate(array $data): array
{
    $foundErrors = [];
    $foundErrors['errors'] = [];
    $foundErrors['hasErrors'] = false;

    if(!$data['title'] && !$data['content']) {
        $foundErrors['errors'][] = 'В запросе должны присутствовать и заголовок и содержимое новости';
    }

    $title = $data['title'];
    $content = $data['content'];

    if(mb_strlen($title) < 10 && mb_strlen($content) < 10) {
        $foundErrors['errors'][] = 'Длина заголовка и/или содержимого не должна быть менее 10 символов';
    }

    $title = trim($title);
    $content = trim($content);

    if(count($foundErrors['errors']) > 0) {
        $foundErrors['hasErrors'] = true;
    }

    $data =  array_merge($foundErrors, ['title' => $title, 'content' => $content]);

    return $foundErrors['hasErrors'] ? $foundErrors : $data;
}


/**
 * Показывает форму добавления новости
 * 
 * @param array $connectionConfig
 * @param array $requestData
 * @return false|string
 */
function news_show_form(array $connectionConfig, array $requestData)
{
    $data = ['message' => ''];

    // если нажата кнопка добавить новость
    if (isset($requestData['news_add'])) {

        // проверяем данные на корректность
        $data = news_validate($requestData);

        // если есть ошибки - отображаем их на странице
        if($data['hasErrors']) {
            return render('form', ['message' => 'Провал', 'errors' => $data['errors']]);
        }

        // добавляем новость в базу
        $result = news_add_action($connectionConfig, $data['title'], $data['content']);

        if ($result == NEWS_MODEL_OK) {
            $data = ['message' => 'Новость успешно добавлена!'];
        } else {
            $data = ['message' => 'Новость добавить не удалось!'];
        }
    }

    return render('form', $data);
}

// если скрипт запущен не в консоли - показываем форму
if(php_sapi_name() != 'cli') {
    print news_show_form($connectionConfig, $_POST);
}



Файл post.php - отображает одну новость по ее идентификатору


<?php

    require_once __DIR__ . '/core.php';
    require_once __DIR__ . '/models/news_model.php';
    $connectionConfig = require_once __DIR__ . '/config.php';


    $id = intval($_GET['id']);
    $connection = getDBConnection($connectionConfig);
    $post = news_getById($connection, $id);

    //print_r($post);
    print render('post', ['post' => $post]);

Таким образом, в данном цикле из 3-ех статей мы создали простое, но в тоже время полноценное приложение на PHP для добавления новостей на сайт.

Кстати, скоро у меня выходит новый видеокурс "PHP и MySQL с Нуля до Гуру 3.0", в бонусной части которого создается полноценный проект книжной библиотеки на PHP.

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

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