willry/microframework-mvc

一个简单、快速且极度可定制的MVC微框架

1.0.0 2022-01-22 18:04 UTC

This package is auto-updated.

Last update: 2024-09-23 00:12:46 UTC


README

一个简单、快速且极度可定制的MVC微框架

功能

  • 简单安装和配置
  • 完整的MVC抽象
  • 一个查询构建器,抽象了PDO的使用
  • 一个模板引擎,用于创建模板和主题
  • 路由控制
  • 使用 .env 的环境变量
  • 框架核心可以轻松定制,如辅助函数和辅助类

安装

可以通过composer安装

composer create-project willry/microframework-mvc . --ignore-platform-reqs

# --ignore-platform-reqs: ignora versão do php e força instalação
#   se sua versão do PHP não for compativel, execute o ambiente docker

或手动安装

  • 克隆或下载仓库
  • 配置您的 .env 文件,包括数据库凭证
  • 通过composer安装依赖(composer install)
  • 访问项目URL,在根路由 / 或 /users

数据转储

项目包含一个简单的用户列表,要上传数据转储,请使用项目根目录下的 example.sql 脚本。

文档

文档尚未完成,但是,在 controller/app\Controllers/UserController.php 中有控制器层、模型、会话和查询构建器的使用示例。

Docker

框架已包含易于使用的Docker环境,只需安装Docker和docker-compose,然后在项目根目录中运行命令即可。

 sudo chmod 777 -R ./docker
 docker-compose up -d

架构

    • helpers/helpers.php
  • 中的路由文件

    • routes/web.php
  • 控制器

    • app/Controllers
  • 模型

    • app/Models
  • 框架核心

    • core/
  • 抽象

    • services/
  • CRONS

    • crons/
  • 不使用查询构建器的查询,可以使用返回PDO的 Connect 类执行

# com query builder
$users = DB::table("users")->limit(10)->get();

#sem query builder
$stmt = Connect::getInstance()->prepare("select * from users LIMIT 10");
$stmt->execute();

if (!$stmt->rowCount()) {
    return null;
}

$users = $stmt->fetchAll(\PDO::FETCH_CLASS);

路由

路由允许使用HTTP动词:GET、POST、PUT 和 DELETE。

控制器接收来自路由参数的数据以及来自POST的请求数据,通过注入到控制器方法中的一个变量接收

<?php
    //POST /usuario/{id} || /usuario/10
    public function editar(array $data)
    {
        //dados 
        var_dump($data); // ["id" => 10, "first_name" => "pessoa"]
    }

文件上传

文件上传使用

https://packagist.org.cn/packages/willry/uploader

致谢

许可证

MIT许可证。有关更多信息,请参阅许可证文件