Juste является ядром Project Bravo, моей личной структуры PHP MVC, по существу обеспечивает понимание моделей, контроллера, основного шаблонного двигателя. Он также управляет маршрутизацией, средним уровнем, базой данных и особенно моим супер приятным домашним мини -ормом, не забывая о легкой отправке электронных писем.
Документация для Bravo в настоящее время готовится и будет доступна в ближайшее время. Следите за обновлениями!
Чтобы увидеть пример использования Bravo, вы можете обратиться к проекту Bravo. Он служит демонстрационным проектом и скоро будет иметь официальную документацию.
Чтобы установить Juste, вы можете выполнить эти шаги:
Требовать пакета с использованием композитора, выполнив следующую команду:
composer require blakvghost/justeКак только пакет установлен, вы можете начать интегрировать Juste в свой PHP -проект.
Обратите внимание, что Juste требует следующих пакетов в качестве зависимостей: symfony/dotenv (version 6.2 or higher) и symfony/mailer (version 6.2 or higher) . Эти зависимости будут автоматически установлены при установке Juste с помощью Composer.
Juste предоставляет некоторые функции утилиты, которые вы можете использовать в своем приложении:
Common фасад включает в себя различные коммунальные функции:
posts() : возвращает массив со всем содержимым глобальной переменной $ _post, сбежавшей с помощью htmlentities ().server(string $key) : возвращает значение данного ключа из глобального массива $ _server.input(string $key, string $default = '') : возвращает значение заданного ключа из глобальных переменных $ _post или $ _get, с опцией указать значение по умолчанию, если ключ не установлен.file(string $key) : возвращает файл, загруженный с данной ключом из глобальной переменной $ _files или перенаправления обратно на предыдущую страницу с сообщением об ошибке, если файл не был загружен.redirectTo(string $path = '') : перенаправляет пользователя на заданный путь, используя функцию header ().redirecTo(string $path = '') : перенаправляет пользователя на заданный путь, используя функцию header () (опечатка в коде, исправленную как redirectto).sanitize_post(string $key, bool $strict = true) : возвращает дезинфицированное значение заданного ключа из глобальной переменной $ _post, с опцией, чтобы подтвердить, что ключ существует и не является пустым.back() : перенаправляет пользователя обратно на предыдущую страницу.with(string $message, $key = 'error') : устанавливает сообщение в сеансе с данным ключом (дефолт на «ошибку»).json(array $data) : возвращает кодируемую json строку данного массива.user($attr = false) : возвращает текущую аутентифицированную информацию пользователя или пустой массив, если не аутентифицирован.store_media($file, string $newFileName) : хранит файл мультимедиа с данным именем и возвращает файл - путь или перенаправление обратно с сообщением об ошибке, если загрузка файла сбой.setDataOnSession($key, $message) : устанавливает данные на сеансе с данным ключом и сообщением.getDataOnSession($key) : получает данные из сеанса, используя заданный ключ.setErrorMessageOnSession($message) : устанавливает сообщение об ошибке в сеансе.dd($value, ...$args) : отображает значение и дополнительные аргументы с использованием var_dump () в рамках < pre> Tag и выходов.route(string $alias) : возвращает URL -адрес маршрута для данного псевдонима.redirect(string $alias) : перенаправляет пользователя на URL -адрес маршрута для данного псевдонима.Фасад контроллера включает в себя некоторые полезные функции для классов контроллера:
render($view, $title = '', $context = null) : возвращает полный путь просмотра или путь 404 представления с контекстными данными. Он проверяет, существует ли файл, и возвращает соответствующий ответ.html(string $html) : возвращает массив с полным HTML -кодом, полезным для возврата ответов HTML.can(array $user_type = null, string $column = 'roles') : проверяет, является ли пользователь аутентифицирован, и имеет указанные типы пользователей/роли. Перенаправление обратно с сообщением об ошибке, если у пользователя нет необходимой роли.mustAuthenticate(bool $statut = true) : проверяет, является ли пользователь аутентифицирован на основе предоставленного статуса. Перенаправления с сообщением об ошибке, если статус аутентификации не выполнен. <?php
namespace Routes ;
use App Controllers WelcomeController ;
use Juste Facades Routes Route ;
Route:: get ( " / " , [WelcomeController::class, ' welcome ' ])-> name ( ' welcome ' );
Route:: resource ( ' password ' , WelcomeController::class);
Route:: group ( function () {
})-> middlewares ([ ' auth ' ]);
require_once ' api.php ' ; <?php
namespace Routes ;
use App Controllers MailsController ;
use Juste Facades Routes Route ;
Route:: post ( ' api/mails ' , [MailsController::class, ' index ' ])-> name ( ' api ' )-> middlewares ([ ' cors ' ]); <?php
namespace App Middleware ;
use Juste Http Middleware MiddlewareInterface ;
use Juste Facades Controllers Controller as Helpers ;
class Authenticate extends Helpers implements MiddlewareInterface
{
public function handle (): mixed
{
if (! $ this -> user ()) {
return $ this -> redirect ( ' login ' );
}
return 1 ;
}
} <?php
namespace App Models ;
class User extends Model
{
protected $ table = ' users ' ;
protected $ fillable = [ ' nom ' , ' prenom ' , ' email ' , ' password ' ];
} <?php
namespace App Controllers ;
use App Controllers Controller ;
use Juste Facades Mails JusteMailer ;
class MailsController extends Controller
{
public function __construct ()
{
$ this -> mustAuthenticate ( false );
}
public function index ()
{
$ mail = new JusteMailer ();
$ object = [
' to ' => ' [email protected] ' ,
' subject ' => ' Message d ' un potentiel client ' ,
];
$ data = [
' name ' => $ this -> input ( ' name ' , " Anonymous " ),
' email ' => $ this -> input ( ' email ' , " [email protected] " ),
' subject ' => $ this -> input ( ' subject ' , " Anonyme " ),
' message ' => $ this -> input ( ' message ' , " Anonyme " ),
];
$ mail -> view ( ' mails/contact ' , $ data )-> sendEmail ( $ object );
return $ this -> back ();
}
}Для поддержки вы можете обратиться ко мне по электронной почте по адресу [email protected]. Не стесняйтесь обращаться ко мне, если у вас есть какие -либо вопросы или вам нужна помощь с Браво.
Этот проект лицензирован по лицензии MIT.