blakvghost/bravo

Bravo 是一个个人项目,一个 PHP 的微型 MVC 框架,我在借鉴 Laravel、Symfony 和 Node.js 方面的优点的同时开发了这个框架。我喜欢简洁,因此决定制作一个简单的产品。目前,我管理着路由、中间件、CORS、邮件的轻松发送,以及一个微型 ORM。

安装: 6

依赖: 0

建议者: 0

安全: 0

星星: 4

关注者: 1

分支: 2

开放问题: 0

类型:项目

1.1.3 2023-08-19 03:15 UTC

This package is auto-updated.

Last update: 2024-09-20 07:01:10 UTC


README

Bravo 是一个个人项目,一个 PHP 的微型 MVC 框架,我在借鉴 Laravel、Symfony 和 Node.js 方面的优点的同时开发了这个框架。我喜欢简洁,因此决定制作一个简单的产品。目前,我管理着路由、中间件、CORS、邮件的轻松发送,以及一个微型 ORM。

Packagist Version (custom server) Packagist Version (custom server) Packagist Version (custom server)

文档

Bravo 的文档正在准备中,并将很快可用。请关注更新!目前,请参考框架核心(Juste)的文档或源代码,链接为 Framework Core (Juste)

如何使用

要查看 Bravo 的使用示例,您可以参考 Bravo-mailer 项目。它作为演示项目,并将很快提供官方文档。

需求

安装

要安装 Bravo,您可以通过 composer 或通过 github 来进行

composer

  1. 使用 composer 创建项目
composer create-project blakvghost/bravo <project-name>

github

  1. 通过运行以下命令从 GitHub 克隆项目仓库
git clone https://github.com/BlakvGhost/Bravo.git
  1. 克隆仓库后,导航到项目目录
cd Bravo
  1. 通过运行以下命令安装项目依赖项
composer install
  1. 依赖项安装完成后,您就可以开始在您的 PHP 项目中使用 Bravo 了。

通过克隆项目仓库,您将在项目目录中获得完整的 Bravo 框架及其所有依赖项。这允许您根据需求自定义和扩展 Bravo。

请注意,您需要在系统上安装 Git 和 Composer 才能使用此安装方法。

如果在安装过程中遇到任何问题,请确保检查项目的文档或联系项目的作者以获得支持

启动服务器

目前请按照以下步骤使用 php 服务器

  1. 请确保您有 php >= 8.0,并且对于 Windows 用户,php 已在会话环境变量中

  2. 在项目目录中打开您的终端或命令提示符

cd <project-name>
  1. 在公共文件夹上启动 php 服务器
php -s -S localhost:8000 -t ./public
  1. 打开您的浏览器并转到 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 许可证。