Blogger Information
Blog 40
fans 0
comment 1
visits 24364
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
第17章 0304-自己动手写个迷你小框架,学习心得、笔记
努力工作--周工--Robin
Original
764 people have browsed it

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

一、 使用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());
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments