博主信息
博文 119
粉丝 3
评论 1
访问量 121298
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
Composer命令和MVC框架实战
赵大叔
原创
925人浏览过

Composer常用命令

composer.json文件:描述了当前项目所依赖的包/组件/类库和版本。

1、交互式创建composer.json文件命令: composer init

  • 创建composer.json的步骤:
  • 在当前项目所在目录下执行:composer init命令。
STT 英文 解释 实例
1 Package name 包或组件的名称 php/dashu :string/string
2 Descriptio 包或组件的描述 php vn veb
3 Author 作者 + <邮箱> dashu 1815810057@qq.com
4 Minimum Stability 其它附加信息 可以为空
5 Package Type 包或组件的类型 library…
6 License 协议 MIT :免费
7 Minimum Stability 其它附加信息 可以为空
  • Would you like to define your dependencies (require) interactively [yes]?
  • 是否安装一些依赖?no

  • Would you like to define your dev dependencies (require-dev) interactively [yes]?

  • 是否要开发者依赖?no

  • 弹出上述我们填写或选择的信息

  • Do you confirm generation [yes]?

  • 确认信息。yes

2、composer install

  • 如果存在composer.lock,就安装这里面要求的包的版本
  • 否则就安装composer.json中的包,并创建composer.lock,将安装好的包的版本等信息写入到composer.lock

3、composer update

  • 主要是检查composer.json是否有更新
  • 如果有,就安装这个包,并将这个包的相关信息写入到composer.lock

4、composer require

  • 如果不存在composer.json,composer.locl,vendor的时候, 会全自动创建

5、create-project 创建项目

  • composer create-project laravel/laravel blogs

6、composer dump-autoload

  • composer.json中的”autoload”中的空间映射生效
  • 命令简写: composer dump

7、其它命令

STT 命令 描述
1 composer -V 查看 composer 版本
2 composer selfupdate 更新 composer 版本
3 composer show 查看 composer.json 包依赖配置文件中的某一个配置的信息
4 composer show + 包名称 查看项目的详细的信息
5 composer create-project + ‘项目名’ 创建项目

简易MVC框架源码

model代码使用composer组件medoo ——> viewl代码使用composer组件plates——>控制器代码自己写

框架目录截图

model关键代码

  1. // 使用medoo组件之前先给它套一个公共父类,然后用StaffsModel继承公共父类
  2. <?php
  3. namespace core;
  4. // 公共模型
  5. use Medoo\Medoo;
  6. class Model extends Medoo
  7. {
  8. //构造方法
  9. public function __construct()
  10. {
  11. $options = [
  12. 'database_type' => 'mysql',
  13. 'database_name' => 'phpedu',
  14. 'server' => 'localhost',
  15. 'username' => 'root',
  16. 'password' => 'root',
  17. ];
  18. parent::__construct($options);
  19. }
  20. public function init()
  21. {
  22. }
  23. }
  24. <?php
  25. namespace models;
  26. use core\Model;
  27. class StaffsModel extends Model
  28. {
  29. public function index()
  30. {
  31. return 'YES';
  32. }
  33. public function __construct()
  34. {
  35. parent::__construct();
  36. }
  37. }

view关键代码

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

控制器关键代码

  1. <?php
  2. // 命名空间
  3. namespace controllers;
  4. class StaffsController
  5. {
  6. public $model;
  7. public $view;
  8. public function __construct($model, $view)
  9. {
  10. $this->model = $model;
  11. $this->view = $view;
  12. }
  13. public function index()
  14. {
  15. return 'Hello php dashu';
  16. }
  17. public function display()
  18. {
  19. include 'app/views/staffs/list.php';
  20. }
  21. // 查询
  22. public function select()
  23. {
  24. $staffs = $this->model->select('staffs',['id', 'msnv', 'name', 'donvi', 'congviec', 'luongthuc'],
  25. ['id[>=]'=>1, 'LIMIT'=>10]);
  26. return $this->view->render('staffs/list', ['staffs' => $staffs]);
  27. }
  28. // 此处提醒没有select和render方法,调用的时候传参数后就没问题了
  29. }

入口文件关键代码

  1. <?php
  2. require 'vendor/autoload.php';
  3. use controllers\StaffsController;
  4. use models\StaffsModel;
  5. use core\View;
  6. // 模型处理
  7. $model = new StaffsModel();
  8. // 视图
  9. $view = new View('app/views');
  10. // 查询
  11. $controller = new StaffsController($model, $view);
  12. echo $controller->select();

运行效果图

总结

  • 总而言之,MVC框架也就是类与对象的知识,理清楚各个类之间的关系,每个方法与类的对应关系之后,理解起来就不是那么难了。
批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:工资挺好, 一千多万, 是一年, 还是一辈子
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学