迷你小框架搭建步骤,笔记
一、 使用coposer安装,模型插件(medoo),视图插件(plates);
1、 安装模型插件命令:composer require catfan/medoo
2、 安装视图插件命令:composer require league/plates
二、 新建core目录,并新建2个基础类,基础模型类(Model)、基础视图类(View);
1、 基础模型类:
<?php
namespace core;
use Medoo\Medoo;
// 基础模型类
class Model extends Medoo
{
public function __construct()
{
parent::__construct([
'database_type' => 'mysql',
'database_name' => 'phpedu',
'server' => 'localhost',
'username' => 'root',
'password' => 'zdm12345678',
]);
}
}
2、 基础视图类
<?php
namespace core;
use League\Plates\Engine;
// 基础视图类
class View extends Engine
{
public $templates;
public function __construct($path)
{
$this->templates = parent::__construct($path);
}
}
三、 新建app目录,并按MVC框架新建子文件夹,控制器(controllers)、模型(models)、视图(views);
1、 controllers文件夹中,新建StaffsController员工控制器类;
2、 models文件夹中,新建StaffsModel员工模型,并继承基本模型类Model;
3、 views文件夹中,新建staffs目录,并新建list.html文件,用于展示员工信息;
四、 在composer.json文件中,做刚才新建类的自动载入映射;
注:代码完成后,需要在控制终端使用composer dump命令,让映射生效;
"autoload": {
"psr-4": {
"models\\": "app/models",
"views\\": "app/views",
"controllers\\": "app/controllers",
"core\\": "core"
}
五、 新建index.html入口文件,进行自建框架的测试
<?php
// 入口文件
use models\StaffsModel;
use controllers\StaffsController;
use core\View;
// 引入composer的自动加载类
require __DIR__ . '/vendor/autoload.php';
// 测试模型
$model = new StaffsModel();
// 测试视图
$view = new View('app/views');
// 测试控制器
$controller = new StaffsController($model,$view);
// StaffsController控制器的,index()方法测试
//echo $controller->index();
// 调用StaffsController类的select()方法,输出数据至视图
print_r($controller->select());