[h1]PHP和MVC[/h1]
[h2](1)作用[/h2]
MVC,在我印象中最典型的、自己用的多的当属THinkPHP。
MVC包括控制器(Controller),模型(Model),视图(View)。
控制器的作用是调用模型和 视图,将模型产生的数据传递给视图,并让视图去显示
模型的作用是获取数据并处理返回数据
视图的作用是将取得的数据进行美化,并向用户终端输出
[h2](2)执行过程[/h2]
1. 浏览者 -> 调用控制器,发出指令
2. 控制器 -> 按指令选择合适的模型
3. 模型 -> 按指令取数据
4. 控制器 -> 按指令选视图
(以上包括控制器的业务逻辑:如何选取模型、数据的二次处理,逻辑判断等待)
5. 视图 -> 把取到的数据展示出来
<?php
class Controller{
/*控制器的处理方法*/
function show(){
$testModel = new Model();/*按指令选择一个数据模型*/
$data = $Model -> get();/*模型按照指令取数据*/
/*按指令选择视图 实例化一个view的对象*/
$View = new View();
/*把取到的数据通过视图按用户的样子显示出来*/
$View -> display($data);
}
}
?>
[h1]npm命令详解[/h1]
官方说明:https://docs.npmjs.com/cli/v8/commands/npm-init/
[h2]# 创建一个package.json文件[/h2]
npm init(别名 npm create)
[h2]# 查看当前包的安装路径[/h2]
npm root
[h2]# 安装包[/h2]
npm install ModuleName / npm i
[h2]# 安装指定版本[/h2]
npm install 包名@版本号
-f 或 --force:将强制 npm 获取远程资源,即使磁盘上存在本地副本也是如此。
–legacy-peer-deps:在安装时忽略所有 peerDependencies,采用 npm 版本 4 到版本 6 的样式。
[h2]# 全局安装[/h2]
npm install ModuleName -g
[h2]# 安装包的同时,将信息写入到package.json中的 dependencies 配置中[/h2]
npm install ModuleName --save
[success title=”版本号”]^: b允许在不修改 [major, minor, patch] 中最左非零数字的更改(匹配大于 X、Y、Z 的更新 Y、Z 的版本号)
~: 匹配大于 X.Y.Z 的更新 Z 的版本号[/success]
[h2]# 安装包的同时,将信息写入到package.json中的 devDependencies 配置中[/h2]
npm install ModuleName --save-dev
[h2]# 配置安装模式[/h2]
npm set global=true # 全局模式
npm set global=false # 本地模式
[h2]# 查看当前安装模式,将会得到一个布尔值[/h2]
npm get global
[h2]# 查看npm的版本[/h2]
npm -v
[h2]# 查看所有全局安装的包[/h2]
npm ls -g
[h2]# 查看本地项目中安装的包[/h2]
npm ls
[h2]# 查看包的 package.json文件[/h2]
npm view ModuleName
[h2]# 查看包的依赖关系[/h2]
npm view ModuleName dependencies
[h2]# 查看包的源文件地址[/h2]
npm view ModuleName repository.url
[h2]# 查看包所依赖的node版本[/h2]
npm view ModuleName engines
[h2]# 查看npm所使用的文件夹[/h2]
npm help folders
[h2]# 更改包内容后进行重建[/h2]
npm rebuild ModuleName
[h2]# 检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新[/h2]
npm outdated
[h2]# 更新当前目录下node_modules子目录里的包[/h2]
npm update ModuleName
[h2]# 全局更新[/h2]
npm update ModuleName
[h2]# 卸载包[/h2]
npm uninstall ModuleName
[h2]# 访问npm的json文件,此命令将会打开一个网页[/h2]
npm help json
[h2]# 发布一个包的时候,需要检验某个包名是否存在[/h2]
npm search ModuleName
[h2]# 清空npm缓存[/h2]
npm cache clear
[h2]# 撤销自己发布过的某个版本代码[/h2]
npm unpublish
[h2]# 使用淘宝镜像[/h2]
npm install -g cnpm --registry=https://registry.npm.taobao.org
[h1]记录一次npm报错[/h1]
Fix 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可解决这种情况。
- –force 会无视冲突,并强制获取远端npm库资源,当有资源冲突时覆盖掉原先的版本。
- –legacy-peer-deps:安装时忽略所有peerDependencies,忽视依赖冲突,采用npm版本4到版本6的样式去安装依赖,已有的依赖不会覆盖。
[success title=”提示”]同一个项目中的不同的开发人员可同时使用NPM和YARN[/success]
[h1]Yarn[/h1]
相关文档:https://yarn.bootcss.com/docs
[h2]# 查看Yarn版本[/h2]
yarn --version | -v
[h2]# 初始化包[/h2]
yarn init #创建package.json
[h2]# 配置淘宝镜像[/h2]
yarn config set registry https://registry.npm.taobao.org
[h2]# 安装依赖[/h2]
yarn install #默认安装到./node_modules
yarn install --audit #安装时自动检测
arn install
--vernbor #显示完整安装日志
[h2]# 添加依赖[/h2]
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 #项目|全局
[h2]# 移除依赖[/h2]
yarn remove <package...>
[h2]# 依赖更新[/h2]
yarn upgrade
yarn upgrade left-pad
yarn upgrade left-pad@^1.0.0
yarn upgrade left-pad grunt
yarn upgrade @angular
[h2]# 检查软件包的安全问题[/h2]
yarn audit
[h2]# 缓存清理[/h2]
yarn cache clean
[h2]# 全局操作[/h2]
yarn global add/list/upgrade...
[h2]# 列出已安装的软件包[/h2]
yarn list
[h2]# 运行脚本[/h2]
yum run script
[h2]# 老旧版本检查[/h2]
yarn oudated
暂无评论内容