Juste adalah inti dari Project Bravo, kerangka kerja PHP MVC pribadi saya, pada dasarnya memastikan pemahaman model, pengontrol, mesin template dasar. Ini juga mengelola perutean, tudung, database, dan terutama mini orm buatan sendiri yang sangat bagus tanpa melupakan pengiriman email yang mudah.
Dokumentasi untuk Bravo saat ini sedang dipersiapkan dan akan segera tersedia. Nantikan pembaruan!
Untuk melihat contoh menggunakan Bravo, Anda dapat merujuk pada proyek Bravo. Ini berfungsi sebagai proyek demonstrasi dan akan segera memiliki dokumentasi resmi.
Untuk menginstal Juste, Anda dapat mengikuti langkah -langkah ini:
Membutuhkan paket menggunakan komposer dengan menjalankan perintah berikut:
composer require blakvghost/justeSetelah paket diinstal, Anda dapat mulai mengintegrasikan Juste ke dalam proyek PHP Anda.
Harap dicatat bahwa Juste mensyaratkan paket -paket berikut sebagai dependensi: symfony/dotenv (version 6.2 or higher) dan symfony/mailer (version 6.2 or higher) . Ketergantungan ini akan diinstal secara otomatis saat Anda menginstal Juste menggunakan Composer.
Juste menyediakan beberapa fungsi utilitas yang dapat Anda gunakan di aplikasi Anda:
Fasad Common mencakup berbagai fungsi utilitas:
posts() : Mengembalikan array dengan semua konten variabel $ _post global yang diloloskan dengan htmlentities ().server(string $key) : Mengembalikan nilai tombol yang diberikan dari array $ _server global.input(string $key, string $default = '') : Mengembalikan nilai tombol yang diberikan dari variabel global $ _post atau $ _get, dengan opsi untuk menentukan nilai default jika kunci tidak diatur.file(string $key) : Mengembalikan file yang diunggah dengan tombol yang diberikan dari variabel $ _files global atau mengarahkan kembali ke halaman sebelumnya dengan pesan kesalahan jika tidak ada file yang diunggah.redirectTo(string $path = '') : Mengalihkan pengguna ke jalur yang diberikan menggunakan fungsi header ().redirecTo(string $path = '') : Mengalihkan pengguna ke jalur yang diberikan menggunakan fungsi header () (kesalahan ketik dalam kode, dikoreksi sebagai pengalihan).sanitize_post(string $key, bool $strict = true) : Mengembalikan nilai sanitasi dari kunci yang diberikan dari variabel $ _post global, dengan opsi untuk memvalidasi bahwa kunci ada dan tidak kosong.back() : Mengalihkan pengguna kembali ke halaman sebelumnya.with(string $message, $key = 'error') : Mengatur pesan pada sesi dengan tombol yang diberikan (default ke 'error').json(array $data) : Mengembalikan string yang dikodekan JSON dari array yang diberikan.user($attr = false) : Mengembalikan informasi pengguna yang diautentikasi saat ini atau array kosong jika tidak diautentikasi.store_media($file, string $newFileName) : Menyimpan file media dengan nama yang diberikan dan mengembalikan file - path atau mengarahkan kembali dengan pesan kesalahan jika unggahan file gagal.setDataOnSession($key, $message) : Mengatur data pada sesi dengan kunci dan pesan yang diberikan.getDataOnSession($key) : Mengambil data dari sesi menggunakan kunci yang diberikan.setErrorMessageOnSession($message) : Mengatur pesan kesalahan pada sesi.dd($value, ...$args) : Menampilkan nilai dan argumen tambahan menggunakan var_dump () dalam tag dan keluar dari < pre>.route(string $alias) : Mengembalikan URL rute untuk alias yang diberikan.redirect(string $alias) : Mengalihkan pengguna ke URL rute untuk alias yang diberikan.Fasad pengontrol mencakup beberapa fungsi yang berguna untuk kelas pengontrol:
render($view, $title = '', $context = null) : Mengembalikan jalur tampilan penuh atau jalur tampilan 404 dengan data konteks. Ini memeriksa apakah file tersebut ada dan mengembalikan respons yang tepat.html(string $html) : Mengembalikan array dengan kode html lengkap, berguna untuk mengembalikan respons html.can(array $user_type = null, string $column = 'roles') : Memeriksa apakah pengguna diautentikasi dan memiliki jenis/peran pengguna yang ditentukan. Mengalihkan kembali dengan pesan kesalahan jika pengguna tidak memiliki peran yang diperlukan.mustAuthenticate(bool $statut = true) : Memeriksa apakah pengguna diautentikasi berdasarkan status yang disediakan. Redirects dengan pesan kesalahan jika status otentikasi tidak terpenuhi. <?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 ();
}
}Untuk dukungan, Anda dapat menghubungi saya melalui email di [email protected]. Jangan ragu untuk menghubungi saya jika Anda memiliki pertanyaan atau membutuhkan bantuan dengan Bravo.
Proyek ini dilisensikan di bawah lisensi MIT.