博客列表 >第17章 0304-自己动手写个迷你小框架,学习心得、笔记

第17章 0304-自己动手写个迷你小框架,学习心得、笔记

努力工作--周工--Robin
努力工作--周工--Robin原创
2021年04月13日 06:44:07770浏览

迷你小框架搭建步骤,笔记

一、 使用coposer安装,模型插件(medoo),视图插件(plates);

  1. 1 安装模型插件命令:composer require catfan/medoo
  2. 2 安装视图插件命令:composer require league/plates

二、 新建core目录,并新建2个基础类,基础模型类(Model)、基础视图类(View);

1、 基础模型类:

  1. <?php
  2. namespace core;
  3. use Medoo\Medoo;
  4. // 基础模型类
  5. class Model extends Medoo
  6. {
  7. public function __construct()
  8. {
  9. parent::__construct([
  10. 'database_type' => 'mysql',
  11. 'database_name' => 'phpedu',
  12. 'server' => 'localhost',
  13. 'username' => 'root',
  14. 'password' => 'zdm12345678',
  15. ]);
  16. }
  17. }

2、 基础视图类

  1. <?php
  2. namespace core;
  3. use League\Plates\Engine;
  4. // 基础视图类
  5. class View extends Engine
  6. {
  7. public $templates;
  8. public function __construct($path)
  9. {
  10. $this->templates = parent::__construct($path);
  11. }
  12. }

三、 新建app目录,并按MVC框架新建子文件夹,控制器(controllers)、模型(models)、视图(views);

  1. 1 controllers文件夹中,新建StaffsController员工控制器类;
  2. 2 models文件夹中,新建StaffsModel员工模型,并继承基本模型类Model
  3. 3 views文件夹中,新建staffs目录,并新建list.html文件,用于展示员工信息;

四、 在composer.json文件中,做刚才新建类的自动载入映射;

  1. 注:代码完成后,需要在控制终端使用composer dump命令,让映射生效;
  1. "autoload": {
  2. "psr-4": {
  3. "models\\": "app/models",
  4. "views\\": "app/views",
  5. "controllers\\": "app/controllers",
  6. "core\\": "core"
  7. }

五、 新建index.html入口文件,进行自建框架的测试

  1. <?php
  2. // 入口文件
  3. use models\StaffsModel;
  4. use controllers\StaffsController;
  5. use core\View;
  6. // 引入composer的自动加载类
  7. require __DIR__ . '/vendor/autoload.php';
  8. // 测试模型
  9. $model = new StaffsModel();
  10. // 测试视图
  11. $view = new View('app/views');
  12. // 测试控制器
  13. $controller = new StaffsController($model,$view);
  14. // StaffsController控制器的,index()方法测试
  15. //echo $controller->index();
  16. // 调用StaffsController类的select()方法,输出数据至视图
  17. print_r($controller->select());
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议