PHP和MVC (1)作用 MVC,在我印象中最典型的、自己用的多的当属THinkPHP。
MVC包括控制器(Controller),模型(Model),视图(View)。
控制器的作用是调用模型和 视图,将模型产生的数据传递给视图,并让视图去显示
模型的作用是获取数据并处理返回数据
视图的作用是将取得的数据进行美化,并向用户终端输出
(2)执行过程
浏览者 -> 调用控制器,发出指令
控制器 -> 按指令选择合适的模型
模型 -> 按指令取数据
控制器 -> 按指令选视图
(以上包括控制器的业务逻辑:如何选取模型、数据的二次处理,逻辑判断等待)
- 视图 -> 把取到的数据展示出来
<?php class Controller{
/*控制器的处理方法*/
function show(){
$testModel = new Model();/*按指令选择一个数据模型*/
$data = $Model -> get();/*模型按照指令取数据*/
/*按指令选择视图 实例化一个view的对象*/
$View = new View();
/*把取到的数据通过视图按用户的样子显示出来*/
$View -> display($data);
}
}
?>
npm命令详解
创建一个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
安装包的同时,将信息写入到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的样式去安装依赖,已有的依赖不会覆盖。
Yarn
查看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 <package…>
依赖更新
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