rizal/mvc

该包最新版本(v1.0.0)没有可用的许可证信息。

使用PHP学习MVC

v1.0.0 2023-01-31 05:21 UTC

This package is auto-updated.

Last update: 2024-09-29 06:03:28 UTC


README

关于本项目是一个基于MVC架构和composer管理的项目启动器

入门

快速介绍

#通过克隆github

git clone https://github.com/RizalFIrdaus/Rizal-Framework

#通过Composer

composer create-project rizal/mvc

连接数据库

修改 /Helper/Database 中的数据库配置文件。

 $host = "localhost";
 $port = 3306;
 $dbname = "your dbname";
 $username = "your username";
 $password = "your password";

控制器

在 App\Controller(NameController.php) 中,User 是从 App\Mode\User.php 的模型,你可以修改或添加一些模型。Controller::view 是一个静态函数,用于传递你的视图和模型

  public function index(){
        $models = User::run();
        Controller::view("index",$models);

  }

如果控制器中没有数据模型,你可以传递数组 null

  public function phpinfo(){
        Controller::view("phpinfo",[]);
    }

模型

这段代码是eloquent数据,在 $sql 变量中你可以修改 SQL 语法,如 INSERT、UPDATE 或 DELETE,然后你可以通过行传递你的数据到数据库中,例如 "name" => $row["name"]

   public static function run():array{

        $con = Database::getConnection();
        $sql = "SELECT * FROM user";
        $statement = $con->prepare($sql);
        $statement->execute();
        foreach ($statement as $row){
             self::$field[] = [
                "name" => $row["name"],
                "age" =>$row["age"]
            ];
        }
        return self::$field;
    }

视图

这种方式从控制器中获取你的数据

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Home Page</title>
</head>
<body>
    <?php foreach($models as $row) : ?>
        <h1>Nama : <?= $row["name"]  ?></h1>
        <h1>Umur : <?= $row["age"]  ?></h1>
    <?php endforeach ?>
</body>
</html>

路由

路由连接,在 app\Router\Web.php 中

 public function run(){
        Route::add("GET", "/", HomeController::class, "index");
        Route::add("GET", "/phpinfo", HomeController::class, "phpinfo");
        Route::add("GET", "/test/([0-9a-zA-Z]*)", HomeController::class, "test");
    }

如何运行

cd public
php -S localhost:8080

Muhammad Rizal Firdaus