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許可獲得許可。