MVC,在我印象中最典型的、自己用的多的当属THinkPHP。
MVC包括控制器(Controller),模型(Model),视图(View)。
控制器的作用是调用模型和 视图,将模型产生的数据传递给视图,并让视图去显示
模型的作用是获取数据并处理返回数据
视图的作用是将取得的数据进行美化,并向用户终端输出
1. 浏览者 -> 调用控制器,发出指令
2. 控制器 -> 按指令选择合适的模型
3. 模型 -> 按指令取数据
4. 控制器 -> 按指令选视图
(以上包括控制器的业务逻辑:如何选取模型、数据的二次处理,逻辑判断等待)
5. 视图 -> 把取到的数据展示出来
<?php
class Controller{
/*控制器的处理方法*/
function show(){
$testModel = new Model();/*按指令选择一个数据模型*/
$data = $Model -> get();/*模型按照指令取数据*/
/*按指令选择视图 实例化一个view的对象*/
$View = new View();
/*把取到的数据通过视图按用户的样子显示出来*/
$View -> display($data);
}
}
?>官方说明:https://docs.npmjs.com/cli/v8/commands/npm-init/
npm init(别名 npm create)npm rootnpm install ModuleName / npm inpm install 包名@版本号
-f 或 --force:将强制 npm 获取远程资源,即使磁盘上存在本地副本也是如此。
–legacy-peer-deps:在安装时忽略所有 peerDependencies,采用 npm 版本 4 到版本 6 的样式。npm install ModuleName -gnpm install ModuleName --save版本号
^: b允许在不修改 [major, minor, patch] 中最左非零数字的更改(匹配大于 X、Y、Z 的更新 Y、Z 的版本号)
~: 匹配大于 X.Y.Z 的更新 Z 的版本号
npm install ModuleName --save-devnpm set global=true # 全局模式
npm set global=false # 本地模式npm get globalnpm -vnpm ls -gnpm lsnpm view ModuleNamenpm view ModuleName dependenciesnpm view ModuleName repository.urlnpm view ModuleName enginesnpm help foldersnpm rebuild ModuleNamenpm outdatednpm update ModuleNamenpm update ModuleNamenpm uninstall ModuleNamenpm help jsonnpm search ModuleNamenpm cache clearnpm unpublishnpm install -g cnpm --registry=https://registry.npm.taobao.orgFix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.在新版本的npm中,默认情况下,npm install遇到冲突的peerDependencies时将失败。
使用--force或--legacy-peer-deps可解决这种情况。
提示
同一个项目中的不同的开发人员可同时使用NPM和YARN
相关文档:https://yarn.bootcss.com/docs
yarn --version | -vyarn init #创建package.jsonyarn config set registry https://registry.npm.taobao.orgyarn install #默认安装到./node_modules
yarn install --audit #安装时自动检测
arn install --vernbor #显示完整安装日志yarn add package-name #安装包的“最新”版本。
yarn add package-name@1.2.3 #从注册表安装特定版本的包,使用--exact或-E安装软件包作为精确版本。
yarn add package-name@tag #安装特定的 “标签”(例如beta、next或latest)。
yarn -D | yarn global package #项目|全局yarn remove <package...>yarn upgrade
yarn upgrade left-pad
yarn upgrade left-pad@^1.0.0
yarn upgrade left-pad grunt
yarn upgrade @angularyarn audit yarn cache clearyarn global add/list/upgrade...yarn listyum run scriptyarn oudated