rizal / mvc
该包最新版本(v1.0.0)没有可用的许可证信息。
使用PHP学习MVC
v1.0.0
2023-01-31 05:21 UTC
Requires (Dev)
- phpunit/phpunit: 9.5.28
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