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