GithubHelp home page GithubHelp logo

dimns / mflphp-project Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.06 MB

[DEPRECATED] Шаблон проекта использующий микро-фреймворк MFLPHP https://github.com/DimNS/MFLPHP

License: MIT License

PHP 60.79% CSS 1.49% JavaScript 37.57% Batchfile 0.16%

mflphp-project's Introduction

Project is deprecated.

Шаблон проекта использующий микро-фреймворк MFLPHP

1. Установка и использование

1.1. Создание нового проекта

  • Устанавливаем копию скелета: composer create-project dimns/mflphp-project /my/project/path.
  • Переходим в каталог созданного проекта.
  • Запускаем npm install.
  • Запускаем gulp build для сборки файлов. Или можно пользоваться скриптом: gulp-build.cmd.
  • Запускаем gulp для автоматической пересборки при изменениях во время разработки. Или можно пользоваться скриптом: gulp-watch.cmd.

1.2. Сборка проекта

  • Переходим в каталог созданного проекта.
  • Запускаем gulp build. Или можно пользоваться скриптом: gulp-build.cmd.

2. PHP

2.1. Middleware

Для проверки "пользователь в системе", "валидный токен" или "есть необходимые права доступа" достаточно выполнить хелпера-посредника:

$middleware = \MFLPHP\Helpers\Middleware::start($request, $response, $service, $di, [
    'auth',         // Пользователь залогинен в системе
    'token',        // Проверка валидности защитного csrf-токена
    'access-admin', // Проверка прав доступа
]);
if ($middleware) {
    // Этот код выполняется если все проверки выполнены
}

2.2. Отладка SQL-запросов

Если в настройках включен режим DEBUG, тогда включается логирование всех SQL-запросов, которые можно получить как массив:

dump(\ORM::get_query_log());

2.3. Примеры хелперов

Отправка письма

$send_result = $di->mail->send('АДРЕС_ДЛЯ_ОТПРАВКИ', 'ТЕМА_ПИСЬМА', 'АДРЕС_ШАБЛОНА', [
    // Данные для подстановки в шаблон
]);
if ($send_result) {
    // Письмо успешно отправлено
} else {
    // Произошла ошибка
    // Подробнее можно посмотреть в логе по адресу /errors.log
}
  • АДРЕС_ШАБЛОНА - строка константы шаблона, размещается в файле /app/Configs/EmailTemplates.php в виде соответствующих констант.
  • Данные для подстановки в шаблон - массив ключ-значение, где ключи это специальные строки (например: [[SITE_NAME]]), а значения - обычные строки для подстановки вместо ключа в шаблоне.

3. JS

3.1. ajax (POST)

ajax.waiter('show');

$.ajax({
    url: '/controller/method',
    data: {
        // Параметры
    },
    success: function(result, textStatus, jqXHR) {
        // Обработка результата
    },
    complete: function() {
        ajax.waiter('hide');
    },
    error: function(jqXHR, textStatus, errorThrown) {
        ajax.error(textStatus, errorThrown);
    }
});

3.2. jsonp (GET)

ajax.jsonp('/controller/method', {
    // Параметры
}, function(result) {
    ajax.waiter('hide');

    // Обработка результата
});

Возвращение результата на стороне php:

$result = [/* Ваш массив с данными результата */];
$response->json($result, $request->param('callback', 'callback'));

mflphp-project's People

Contributors

dimns avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.