blakvghost / bravo
Bravo 是一个个人项目,一个 PHP 的微型 MVC 框架,我在借鉴 Laravel、Symfony 和 Node.js 方面的优点的同时开发了这个框架。我喜欢简洁,因此决定制作一个简单的产品。目前,我管理着路由、中间件、CORS、邮件的轻松发送,以及一个微型 ORM。
Requires
- php: ^8.0
- blakvghost/juste: ^2.0
This package is auto-updated.
Last update: 2024-09-20 07:01:10 UTC
README
Bravo 是一个个人项目,一个 PHP 的微型 MVC 框架,我在借鉴 Laravel、Symfony 和 Node.js 方面的优点的同时开发了这个框架。我喜欢简洁,因此决定制作一个简单的产品。目前,我管理着路由、中间件、CORS、邮件的轻松发送,以及一个微型 ORM。
文档
Bravo 的文档正在准备中,并将很快可用。请关注更新!目前,请参考框架核心(Juste)的文档或源代码,链接为 Framework Core (Juste)。
如何使用
要查看 Bravo 的使用示例,您可以参考 Bravo-mailer 项目。它作为演示项目,并将很快提供官方文档。
需求
- PHP 8.0 或更高版本
- blakvghost/juste 包(版本 2.0 或更高)
安装
要安装 Bravo,您可以通过 composer 或通过 github 来进行
composer
- 使用 composer 创建项目
composer create-project blakvghost/bravo <project-name>
github
- 通过运行以下命令从 GitHub 克隆项目仓库
git clone https://github.com/BlakvGhost/Bravo.git
- 克隆仓库后,导航到项目目录
cd Bravo
- 通过运行以下命令安装项目依赖项
composer install
- 依赖项安装完成后,您就可以开始在您的 PHP 项目中使用 Bravo 了。
通过克隆项目仓库,您将在项目目录中获得完整的 Bravo 框架及其所有依赖项。这允许您根据需求自定义和扩展 Bravo。
请注意,您需要在系统上安装 Git 和 Composer 才能使用此安装方法。
如果在安装过程中遇到任何问题,请确保检查项目的文档或联系项目的作者以获得支持
启动服务器
目前请按照以下步骤使用 php 服务器
-
请确保您有 php >= 8.0,并且对于 Windows 用户,php 已在会话环境变量中
-
在项目目录中打开您的终端或命令提示符
cd <project-name>
- 在公共文件夹上启动 php 服务器
php -s -S localhost:8000 -t ./public
- 打开您的浏览器并转到
localhost:8000或更改端口号
使用示例
路由
<?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';
API 路由
<?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' => 'dev@kabirou-alassane.com', 'subject' => 'Message d\'un potentiel client', ]; $data = [ 'name' => $this->input('name', "Anonymous"), 'email' => $this->input('email', "anonymous@anonymous.com"), 'subject' => $this->input('subject', "Anonyme"), 'message' => $this->input('message', "Anonyme"), ]; $mail->view('mails/contact', $data)->sendEmail($object); return $this->back(); } }
作者
支持
如果您需要支持,可以通过电子邮件 dev@kabirou-alassane.com 联系我。如果您有任何问题或需要关于 Bravo 的帮助,请随时联系我。
许可证
本项目采用 MIT 许可证。