Juste هو جوهر Project Bravo ، إطار عمل PHP MVC الشخصي الخاص بي ، وهو يضمن بشكل أساسي فهم النماذج ووحدة التحكم ومحرك القالب الأساسي. كما أنه يدير التوجيه ، والآبار الوسيطة ، وقاعدة البيانات ، وخاصةً بلدي Mini Orm اللطيفة محلية الصنع دون أن تنسى إرسال رسائل البريد الإلكتروني السهلة.
يتم إعداد وثائق 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 باستخدام الملحن.
يوفر 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 () (typo في الكود ، تم تصحيحه على أنه إعادة توجيه).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> ويخرج.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]. لا تتردد في الاتصال بي إذا كان لديك أي أسئلة أو تحتاج إلى مساعدة مع برافو.
هذا المشروع مرخص بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.