Juste
v2.0.2 stable
Juste是我的个人PHP MVC框架Project Bravo的核心,它基本上确保了对模型,控制器,基本模板引擎的理解。它还可以管理路由,中间件,数据库,尤其是我的超级自制迷你ORM,而不会忘记轻松发送电子邮件。
目前正在准备Bravo的文档,并将很快提供。请继续关注更新!
要查看使用Bravo的示例,您可以参考Bravo项目。它是一个示范项目,很快就会有官方文件。
要安装Juste,您可以按照以下步骤操作:
通过运行以下命令,需要使用Composer的软件包:
composer require blakvghost/juste安装软件包后,您可以开始将Juste集成到PHP项目中。
请注意,Juste需要以下包作为依赖项: symfony/dotenv (version 6.2 or higher)和symfony/mailer (version 6.2 or higher) 。当您使用作曲家安装Juse时,这些依赖项将自动安装。
Juste提供了一些可以在应用程序中使用的实用程序功能:
Common立面包括各种实用功能:
posts() :返回一个带有htmlentities()逃脱的全局$ _ post变量内容的数组。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) :在< pre>标签和退出中使用var_dump()显示值和其他参数。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]与我联系。如果您有任何疑问或对Bravo有帮助,请随时与我联系。
该项目已根据MIT许可获得许可。