**一、数据插入**
```
//insert()
//参数1:一个数组或对象
//参数2:扩展选项
// fsync:默认为false,若为true则mongo在确认数据插入成功之前将会强制把数据写入硬盘
// j:默认为false,若为true则mongo在确认数据插入成功之前将会强制把数据写入日志
// w:默认为1,写操作会被(主)服务器确认,若为0则将不会得到确认,使用复制集时设置为n用于确保主服务器将数据修改成功复制到n个节点后再确认
// wtimeout:默认为10000(毫秒),用于指定服务器等待接收确认的时间
// timeout:指定客户端需要等待服务器响应的超时时间(毫秒)
$mongo = new MongoClient('mongodb://localhost:27017');
$db = $mongo - >mf; //选择数据库
$collection = $db - >friend; //选择文档集合
$doc = [ //定义一个文档,即一个数组
'First Name' = >'Jet', 'Last Name' = >'Wu', 'Age' = >26, 'Phone' = >'110', 'Address' = >['Country' = >'China', 'City' = >'Shen Zhen'], 'E-Mail' = >['123456@qq.com', '666666@sina.com', '8888888@qq.com', '77887788@qq.com']];
$res = $collection - >insert($doc); //向集合中插入一个文档
echo '<pre>';
print_r($res); //$res['ok']=1表示插入成功
```
**二、数据查询**
### **1. 查询单个文档:**
```
//findOne()
//参数1:搜索条件
//参数2:指定返回字段,array('fieldname' => true, 'fieldname2' => true)。_id字段总会返回,除非在第二个参数显式加入'_id'=>false。不设置则返回所有字段
$mongo = new MongoClient('mongodb://localhost:27017');
$db = $mongo - >mf;
$collection = $db - >friend;
$one = $collection - >findOne(['First Name' = >'Jet']);
echo '<pre>';
print_r($one); //返回一个数组,查不到数据则返回NULL
```
### **2. 查询多个文档:**
```
//find()
//参数1:搜索条件
//参数2:指定返回字段,array('fieldname' => true, 'fieldname2' => true)。_id字段总会返回,除非显式设置为false不返回。不设置则返回所有字段
$mongo = new MongoClient('mongodb://localhost:27017');
$db = $mongo - >mf;
$collection = $db - >friend;
$cursor = $collection - >find(['Address.Country' = >'China']); //使用点操作符查找数组元素
echo '<pre>';
while ($doc = $cursor - >getNext()) { //循环读取每个匹配的文档
print_r($doc);
}
```
### **使用各种条件操作符定义查询:**
```
//mongodb分别使用$lt、$lte、$eq、$gte、$gt、$ne表示<、<=、=、>=、>、<>,用于整数字段查询
$mongo = new MongoClient('mongodb://localhost:27017');
$db = $mongo - >mf;
$collection = $db - >friend;
$cursor = $collection - >find(['Age' = >['$gt' = >30]]);
echo '<pre>';
while ($doc = $cursor - >getNext()) {
print_r($doc);
}
```
### **//查询某个字段的所有不重复的值**
$res = $collection->distinct('Age');
```
//$in:匹配多个值中任意一个
$cursor = $collection - >find(['Address.Country' = >['$in' = >['China', 'USA']]]);
//$all:匹配多个值中所有值(用于数组字段查询)
$cursor = $collection - >find(['E-Mail' = >['$all' = >['123456@qq.com', '77887788@qq.com']]]);
//$or:或查询
$cursor = $collection - >find(['$or' = >[['First Name' = >'Jet'], ['Address.Country' = >'USA']]]);
//$slice:获取数组字段中指定数目的元素,位于find()函数第二个参数中
$cursor = $collection - >find(['First Name' = >'Jet'], ['E-Mail' = >['$slice' = >2]]); //只返回前两个email
$cursor = $collection - >find(['First Name' = >'Jet'], ['E-Mail' = >['$slice' = >-2]]); //只返回最后两个email
$cursor = $collection - >find(['First Name' = >'Jet'], ['E-Mail' = >['$slice' = >[1, 2]]]); //忽略第一个,返回接下来两个
//$exists:根据某个字段是否有设置值进行查询
$cursor = $collection - >find(['Hobby' = >['$exists' = >false]]); //查找Hobby字段未设置值的文档
//正则表达式查询
$cursor = $collection - >find(['First Name' = >new MongoRegex('/^Je/i')]); //查找First Name字段以Je开头的文档,忽略大小写差异
```
### **使用MongoCursor类提供的其他函数:**
```
//排序:1升序,-1降序
$cursor - >sort(['Age' = >1]);
//忽略前n个匹配的文档
$cursor - >skip(1);
//只返回前n个匹配的文档(limit()与skip()结合使用可实现数据分页功能)
$cursor - >limit(1);
//匹配文档的总数
$cursor - >count();
//指定查询索引
$cursor - >hint(['Last Name' = >-1]); //若索引不存在则会报错
```
### **聚集查询:对数据进行分组统计**
```
//聚合查询:对数据进行分组统计
$mongo = new MongoClient('mongodb://localhost:27017');
$db = $mongo - >mf;
$collection = $db - >friend;
$res = $collection - >aggregate(['$group' = >['_id' = >'$Address.Country', //分组字段,注意要加上“$”,这里是根据数组字段某个元素值进行分组
'total' = >['$sum' = >1], //求总和,表示每匹配一个文档总和就加1
'maxAge' = >['$max' = >'$Age'], //分组中Age字段最大值
'minAge' = >['$min' = >'$Age'] //分组中Age字段最小值
]]);
echo '<pre>';
print_r($res); //返回一个数组,$ret['result']为数组,存放统计结果
//存在其它操作的聚合查询:多个操作之间执行先后顺序取决于它们位置的先后顺序
//聚合查询中的所有操作,包括'$group'在内,都是可选的。
$mongo = new MongoClient('mongodb://localhost:27017');
$db = $mongo - >mf;
$collection = $db - >friend;
$res = $collection - >aggregate([[ //过滤条件:只对符合条件的原始文档进行聚合运算,若是放在'$group'之后则是只返回符合条件的结果文档
'$match' = >['Age' = >['$gt' = >30]]], [ //指定分组字段、统计字段
'$group' = >['_id' = >'$Address.Country', 'totalAge' = >['$sum' = >'$Age'] //计算各个分组Age字段总和
]],
//以下操作若是放在'$group'之前则在聚合前作用于原始文档,若放在'$group'之后则在聚合后作用于结果文档
['$unwind' = >'$E-Mail'], //将包含有某个数组类型字段的文档拆分成多个文档,每个文档的同名字段的值为数组中的一个值。
['$project' = >['myAge' = >'$Age', 'First Name' = >'$First Name']], //指定返回字段,可以对字段进行重命名,格式:返回字段名 => $原来字段名
['$skip' = >2], //跳过指定数量的文档
['$limit' = >2], //只返回指定数量的文档
['$sort' = >['totalAge' = >1]] //排序
]);
echo '<pre>';
print_r($res);
```
**三、数据修改**
```
//update()
//参数1:更新条件,指定更新的目标对象。
//参数2:指定用于更新匹配记录的对象。
//参数3:扩展选项组。
// upsert:若设置为true,当没有匹配文档的时候会创建一个新的文档。
// multiple:默认为false,若设置为true,匹配文档将全部被更新。
// fsync:若设置为true,w参数将被覆盖为0,数据将在更新结果返回前同步到磁盘。
// w:默认为1;若设置为0,更新操作将不会得到确认;使用复制集时可设置为n,确保主服务器在将修改复制到n个节点后才确认该更新操作
// j:默认为false,若设置为true,数据将在更新结果返回之前写入到日志中。
// wtimeout:默认为10000(毫秒),用于指定服务器等待接收确认的时间
// timeout:指定客户端需要等待服务器响应的超时时间(毫秒)
//注意:若不使用任何修改操作符,则匹配文档将直接被整个替换为参数2指定的对象。
//$inc:增加特定键的值,若字段不存在则新建字段并赋值
$mongo = new MongoClient('mongodb://localhost:27017');
$db = $mongo - >mf;
$collection = $db - >friend;
$res = $collection - >update(['First Name' = >'Jet'], ['$inc' = >['Age' = >2]]);
echo '<pre>';
print_r($res); //$res['ok']=1表示修改成功,$res['nModified']表示修改的文档数量
//$set:重置特定键的值,若字段不存在则新建字段并赋值
$res = $collection - >update(['First Name' = >'Jet'], ['$set' = >['Hobby' = >'pingpong']]);
//$unset:删除字段
$res = $collection - >update(['First Name' = >'Jet'], ['$unset' = >['Hobby' = >1]]);
//$rename:重命名字段,若字段不存在则不进行任何操作
$res = $collection - >update(['First Name' = >'Jet'], ['$rename' = >['Hobby' = >'hobby', 'Age' = >'age']]);
//注意:如果文档中已经使用了指定名称的字段,则该字段将会被删除,然后再进行重命名操作。
//$setOnInsert:设置了upsert为true,并且发生了插入操作的时候,将某个字段设置为特定的
$res = $collection - >update(['First Name' = >'jet'], ['$setOnInsert' = >['lang' = >'English']], ['upsert' = >true]);
//$push:向指定字段添加一个值(作用于数组字段),若字段不存在会先创建字段,若字段值不是数组会报错
$res = $collection - >update(['First Name' = >'Jet'], ['$push' = >['E-Mail' = >'123123@qq.com']]);
//$push:向指定字段添加多个值(作用于数组字段),若字段不存在会先创建字段,若字段值不是数组会报错
$res = $collection - >update(['First Name' = >'Jet'], ['$pushAll' = >['E-Mail' = >['666@qq.com', '8888888@qq.com']]]);
//使用$push和$each向某个字段添加多个值(作用于数组字段),若字段不存在会先创建字段,若字段值不是数组会报错
$res = $collection - >update(['First Name' = >'Jet'], ['$push' = >['E-Mail' = >['$each' = >['123123@qq.com', '666@qq.com']]]]);
//$addToSet:将数据添加到数组中(只在目标数组没有该数据的时候才将数据添加到数组中)
$res = $collection - >update(['First Name' = >'Jet'], ['$addToSet' = >['E-Mail' = >'123123@qq.com']]);
$res = $collection - >update(['First Name' = >'Jet'], ['$addToSet' = >['E-Mail' = >['$each' = >['123123@qq.com', '666@qq.com']]]]);
//$pop:从数组中删除一个元素,-1表示删除第一个元素,1表示删除最后一个元素(其实负数都删除第一个元素,0或正数都删除最后一个元素)
$res = $collection - >update(['First Name' = >'Jet'], ['$pop' = >['E-Mail' = >1]]);
//$pull:删除数组中所有指定值
$res = $collection - >update(['First Name' = >'Jet'], ['$pull' = >['E-Mail' = >'123123@qq.com']]);
//$pullAll:删除数组中多个元素的所有值
$res = $collection - >update(['First Name' = >'Jet'], ['$pullAll' = >['E-Mail' = >['123123@qq.com', '666@qq.com']]]);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
//save()
//参数1:希望保存的信息数组
//参数2:扩展选项
// fsync:若设置为true,w参数将被覆盖为0,数据将在更新结果返回前同步到磁盘。
// w:默认为1;若设置为0,更新操作将不会得到确认;使用复制集时可设置为n,确保主服务器在将修改复制到n个节点后才确认该更新操作
// j:默认为false,若设置为true,数据将在更新结果返回之前写入到日志中。
// wtimeout:默认为10000(毫秒),用于指定服务器等待接收确认的时间
// timeout:指定客户端需要等待服务器响应的超时时间(毫秒)
//注意:若已存在则更新,若不存在则插入;更新时使用参数1指定的信息数组替换整个文档。
//若想更新则应该在参数1中指定_id键的值。
$mongo = new MongoClient('mongodb://localhost:27017');
$db = $mongo - >mf;
$collection = $db - >friend;
$doc = [ //定义一个文档,即一个数组
'First Name' = >'Jet', 'Last Name' = >'Wu', 'Age' = >26, 'Phone' = >'110', 'Address' = >['Country' = >'China', 'City' = >'Shen Zhen'], 'E-Mail' = >['123456@qq.com', '666666@sina.com', '8888888@qq.com', '77887788@qq.com']];
$res = $collection - >save($doc);
echo '<pre>';
print_r($res); //$res['ok']=1表示操作成功,$res['updatedExisting']=1表示更新,$res['upserted']=1表示插入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
//findAndModify()
//参数1:指定查询条件
//参数2:指定用于更新文档的信息
//参数3:可选,指定希望返回的字段
//参数4:扩展选项
// sort:以特定顺序对匹配文档进行排序
// remove:若设置为true,第一个匹配文档将被删除
// update:若设置为true,将在被选择的文档上执行更新操作
// new:默认为false,若设置为true则返回更新后的文档,否则返回更新前的文档
// upsert:若设置为true,没有找到匹配文档的时候将插入一个新的文档
$mongo = new MongoClient('mongodb://localhost:27017');
$db = $mongo - >mf;
$collection = $db - >friend;
$res = $collection - >findAndModify(['First Name' = >'Jet'], ['$push' = >['E-Mail' = >'111@qq.com']]);
echo '<pre>';
print_r($res);
```
**四、数据删除**
```
//remove()
//参数1:查询条件
//参数2:扩展选项
// justOne:若设置为true,则最多只有一个匹配的文档将被删除
// fsync:若设置为true,w参数将被覆盖为0,数据将在更新结果返回前同步到磁盘。
// w:默认为1;若设置为0,更新操作将不会得到确认;使用复制集时可设置为n,确保主服务器在将修改复制到n个节点后才确认该更新操作
// j:默认为false,若设置为true,数据将在更新结果返回之前写入到日志中。
// wtimeout:默认为10000(毫秒),用于指定服务器等待接收确认的时间
// timeout:指定客户端需要等待服务器响应的超时时间(毫秒)
$mongo = new MongoClient('mongodb://localhost:27017');
$db = $mongo - >mf;
$collection = $db - >friend;
$res = $collection - >remove(['First Name' = >'jet']);
echo '<pre>';
print_r($res); //$res['n']表示删除了几个文档
```
---------------------------------------------PHP7分隔线-----------------------------
**数据插入:**
```
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$bulk = new MongoDB\Driver\BulkWrite;
$bulk - >insert(['name' = >'JetWu5', 'age' = >26]);
$bulk - >insert(['name' = >'JetWu6', 'age' = >26]);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern: :MAJORITY, 1000); //可选,修改确认
$res = $manager - >executeBulkWrite('wjt.friend', $bulk, $writeConcern);
echo '<pre>';
print_r($res);
```
**数据查询:**
```
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$query = new MongoDB\Driver\Query(['age' = >24], ['sort' = >['age' = >1]]);
$cursor = $manager - >executeQuery('wjt.friend', $query);
$data = [];
foreach($cursor as $doc) {
$data[] = $doc;
}
echo '<pre>';
print_r($data);
```
**数据修改:**
```
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$bulk = new MongoDB\Driver\BulkWrite;
$bulk - >update(['name' = >'JetWu5'], ['$set' = >['age' = >30, 'promise' = >'always smile!']]);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern: :MAJORITY, 1000); //可选,修改确认
$res = $manager - >executeBulkWrite('wjt.friend', $bulk, $writeConcern);
echo '<pre>';
print_r($res);
```
**数据删除:**
```
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$bulk = new MongoDB\Driver\BulkWrite;
$bulk - >delete(['name' = >'JetWu3']);
$bulk - >delete(['name' = >'JetWu4']);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern: :MAJORITY, 1000); //可选,修改确认
$res = $manager - >executeBulkWrite('wjt.friend', $bulk, $writeConcern);
echo '<pre>';
print_r($res);
```
代码来之:https://www.cnblogs.com/wujuntian/p/8352586.html
- vuecli3
- vue cli3 安装
- Vue 引入css 方法
- vue 创建
- vue 组件模板引入
- vue 绑定参数
- vue 方法动态class
- Vue3.x中的事件方法详解、事件监听、方法传值、事件对象、多事件处理程序、事件修饰符、按键修饰符
- Vue3.x中Dom操作$refs 以及表单( input、checkbox、radio、select、 textarea )
- Vue3.x中使用JavaScript表达式 、条件判断、 计算属性和watch侦听
- Vue3.x中的单文件组件 定义组件 注册组件 以及组件的使用
- Vue3.x父组件给子组件传值、Props、Props验证、单向数据流
- 父组件主动获取子组件的数据和执行子组件方法 、子组件主动获取父组件的数据和执行父组件方法
- 组件自定义事件 以及mitt 实现非父子组件传值
- 自定义组件的双休数据绑定。
- 多个input数据进行绑定
- 案例
- Vue3.x中组件的生命周期函数(lifecycle)、 this.$nextTick、动态组件 keep-alive、Vue实现Tab切换
- 全局绑定属性、使用Axios和fetchJsonp请求真实api接口数据、函数防抖实现百度搜索
- Vue3.x中的Mixin实现组件功能的复用 、全局配置Mixin
- Teleport、使用Teleport自定义一个模态对话框的组件
- Vue3.x Composition API 详解
- setup--ref reactive使用案例
- toRefs - 解构响应式对象数据
- computed 计算属性使用
- watchEffect 监听属性
- Provider Injectj介绍
- vue路由重点
- Vuex 中的 State Mutation Getters mapGetters Actions Modules
- Antd 框架操作案例
- 输入框、单选框、多炫酷、时间选择案例
- upload 结合图片上传功能
- Vue结合HIghtchaers 使用
- vue 结合axios 异步通过php获取数据
- vue3结合异步 登录提交数据
- 封装本地存储
- 路由守卫
- vue 结合异步添加数据 拉取数据
- vue 结合异步 编辑 删除数据
- vue 结合挂载先拉取数据,保存数据,判断token 是否过期
- vue 结合moment 转换时间戳为年月日
- vue 结合时间搜索案例
- vue 结合异步 获取antd 饼状图 柱状图数据
- Vue 街composition Api 异步获取数据案例
- vue3 安装typescript
- 组件基本介绍
- swoole 手册
- PCNTL
- Server
- set 设置进程
- Server 属性
- On 回调函数四种用法
- 回到函数属性
- 异步任务投递
- 心跳检测
- 定时器
- Thinkphp6个人使用案例
- Tp6 视图下载
- Log 日志
- ThinkPhp - 中间件
- Thinkphp - 中间件全局上
- Thinkphp - 中间件路由/控制器 下
- Tp6.0 操作redis
- 分析日志/qps
- Tp验证码 自刷新功能
- TP6创建多应用模式
- thinkphp6.0路由
- 自定义验证规则
- Tp6 数据表隐藏字段
- with 关联 表,进行倒叙排列
- 采坑案例
- 使用postman 不带htpp请求都是get请求
- 购物车批量传入多个数据,如何进行验证
- 查看自己thinkphp版本
- 查看自己安装swoole 版本
- 查看Tp 执行sql语句
- thinkphp - 在线更新自己版本
- Thinkphp - 连接多个数据库
- Thinkphp - 数据库的时间查询
- Tphinkphp - 聚合.原生.子查询
- Thinkphp - limit/page/order/group/having
- Thinkphp - 数据集
- Thinkphp- 验证器
- 验证器定义
- 验证规则和错误信息
- 验证场景和路由验证
- 验证内置规则
- 单个验证和注解验证
- Thinkphp - phpspreadsheet 导出excel
- ThinkPhp - 图像处理功能
- ThinkPhp- 异常处理
- Thinkphp - 门面介绍
- Thinkphp - 事件
- Thinkphp - 全局异常类封装
- 全局验证代码
- Thinkphp - 控制器创建规则
- Thinkphp-6.0 符合查询(重要)
- Thinkphp - 在自己模型类处理数据
- Tp6 结合swool使用/演示案例(重点观看)
- swoole 配置文件
- swoole websocket 发送信息
- Task 异步任务投递
- 连接池
- Table 高性能共享内存
- 原生态操作
- Tp6 操作
- RPC操作教程
- 协程
- Swool结合tp6 演示操作(重点)
- swoole 安装
- 基本介绍
- swoole 在linux 查看版本
- 进程跟协程区别
- swoole基础-TCP服务
- swoole基础-UDP服务
- swoole基础-HTTP服务
- swoole基础-WebSocket服务
- swoole基础-TASK异步任务
- swoole基础-一键协程
- swoole基础-协程 MySQL 客户端
- swoole基础-协程 Redis 客户端
- swoole基础-毫秒定时器
- swoole基础-高性能内存操作table
- think-swoole应用-HTTP请求和热更新
- think-swoole应用-进程设置
- think-swoole应用-启用数据库连接池
- think-swoole应用-异步TASK发送短信任务
- think-swoole应用-集成think-queue消息队列,优化异步发短信任务,支持任务重试机制
- think-swoole应用-毫秒定时器取消超时订单
- think-swoole应用-高性能共享内存table应用
- think-swoole应用-微服务之RPC远程调用通信实战
- think-swoole应用-websocket消息、群发广播
- Nginx负载均衡部署-转发swoole服务
- Typescript
- Typescript类型介绍
- Linxu从入门到精通
- 基本命令
- shell 命令
- Linux 目录查看
- 文件基本操作
- 目录操作
- 打包解压
- 用户管理 和 用户权限管理 chmod、ACL、 visudo
- Yum 安装
- 进程查看跟关闭
- Linux 内存、cpu、进程、端口、硬盘管理
- systemctl 管理服务、防火墙 firewalld 以及 SELinux 配置
- Linux - ps命令
- ps -ef【查看所有进程】
- ps -ef | grep ssh 【查找某一进程】
- kill 2868 【杀掉2868编号的进程】
- kill -9 2868 【强制杀死进程】
- Linux - 管道
- Linux - 主机名配置
- Linux - ip地址配置
- Linux - 防火墙
- Nginx 配置文件详细说明
- Linux 信号
- Linux系统目录
- 微信小程序从入门到精通
- 微信小程序页面文件组成
- 自定义组件
- 创建组件
- 父子组件传值
- Solt
- 父组件调用子组件方法/子组件数据
- 子组件调用父组件方法
- 给自定义组件加一个属性
- 外部样式类设计
- 创建一个自定义组件,外部引用
- wxs 使用
- 模块化把公共的功能封装成
- 解析html 代码
- 异步请求数据
- 页面之间传值
- 页面跳转
- 全局 app.json 介绍
- 微信小程序数据绑定
- 基本数据绑定
- 对象数据绑定
- 控制属性绑定
- 数组循环
- 数组对象循环
- 多层数组嵌套
- 微信小程序事件、方法、事件对象、方法传值、获取data数据、修改data数据、冒泡非冒泡事件
- 微信小程序自定义方法
- 事件对象
- 获取data数据
- 修改data数据
- 冒泡事件
- 方法传值
- 上拉加载数据
- from 提交数据
- picker 左右联动多列选择器
- 微信小程序拍照上传
- 微信小程序存储本地数据
- 获取位置/查看位置/选择位置/系统信息
- 扫一扫/拔打电话/用户截屏事件/振动/手机联系人
- 微信小程序生成二维码
- 小程序导入数据 导出数据
- 定义全局变量
- 下拉刷新
- 微信小程序结合php后台接口
- openid跟unid 区别
- 配置导航栏标题
- 15秒之后进行跳转
- Css介绍
- Flex 弹性布局
- 把盒子打成弹性盒模型
- 弹性盒模型排列方向
- 盒模型宽度不够溢出处理
- 排列方向跟溢出统一代码
- 控制主轴进行居中
- 控制交叉轴 就是数轴
- 对单个交叉轴控制
- 调节每一个盒子里面的大小布局;类似于栅格化
- 主轴缩小比例
- 放大 缩小 定义基准尺寸
- 弹性盒子排序
- 图片文字左右居中
- 出现省略号功能
- 文字溢出代码
- Rest
- 什么是Rest
- RestFul api 最佳实践
- Js个人案例
- JSON.stringify()与JSON.parse()的区别
- Jquery 个人案例
- jquery操作表单清空
- jquery 五秒后执行一段代码
- jquery ajax 提交表单携带file
- Jquery strr方法
- Html 块元素 内联元素
- Jquery 全选 全不选功能
- Jquer Htm 表单新语法
- ajax 异步支付3秒钟检测支付情况
- 对象转字符串
- Mysql
- mysql 基本语法
- 连接数据库
- 展示数据库
- 创建数据库
- 选择数据库
- 删除数据库
- 判断数据库是否被删除
- 创建数据库表
- 展示表结构
- 删除数据表
- mysql 中级操作
- 主键自增
- 创建一个用户表
- 创建一个完整数据库数据
- 复制表结构
- 复制表数据
- 复制表名字跟表数据
- 修改数据库内容
- 起别名
- where 条件 升序 降序
- in(),在...里面
- like 模糊匹配 %
- 删除数据库里面内容
- 修改数据库表表名
- 修改数据库表表字段名字
- 修改数据库表类型
- 清空所有数据,让id重新从1开始
- 添加字段
- 删除地段
- mysql - 慢查询
- php7/函数方法案例
- json 转换
- php传址
- 对象
- Static 静态
- 对象三种权限
- 类常量
- 魔术常量
- 自动加载
- 抽象类 抽象方法
- 检测变量是否存在
- 删除变量
- php 类型
- php 转义符
- Php 定界符
- 获取字符串长度
- 清楚字符串左右空白
- 加密 explode 跟 implode区别
- 中文截取
- Php 常量
- php 三元表达式
- php ?? 表达式
- swith 循环
- while 循环
- do while循环
- 接受参数不定的数据
- 函数强制转换
- 数组
- 数组合并
- 数组组建转换大小写
- 数组序列化
- 计算指定日期差多少天
- 计算增加多少天
- 正则匹配
- 正则匹配好字符
- 正则拆分
- 正则网站匹配
- UniApp
- 引入全局样式
- 接口问题去
- MongnDb
- MonDb -介绍
- MongoDb 基本操作
- 创建
- 创建单个文档
- 创建多个文档
- 读取操作
- 读取
- 逻辑操作符
- 数组操作符
- 运算操作符
- 游标
- 投射
- 更新操作
- db.collection.update()
- $set操作
- $unset 操作
- 数组更新操作
- $addToset
- $pull
- $pullAll
- $Push
- $pop
- 删除操作
- PHP操作MongoDB(增删改查)
- MongoDb = 聚合操作
- $project
- $match
- $limit 和 $skip
- $unwind
- $sort
- MongonDb - 索引
- 创建索引
- 创建一个复合索引
- Laravel 操作 MongoDb
- php操作
- 聚合查询
- Docker
- 前端常用12种正则表达式
- Nginx
- Nginx 负载均衡s
- Nginx - 概念
- Nginx - 应用场景
- Nginx - 配置文件
- Nginx - 基本命令
- Nginx - 域名绑定
- Nginx - 反向代理
- 反向代理 - 简介
- 反向代理 - 配置
- Nginx - 负载均衡
- 负载均衡 - 准备工作
- 负载均衡 - 开始配置
- 消息队列系统
- WebSocket
- 官方网站
- 安装说明
- 基础案例
- 框架图片
- Worker介绍
- Worker
- 类的属性
- 回调属性
- worker代码分析
- Connection
- Connection 类
- 介绍
- 文件目录
- Tp框架配置
- Tp 使用
- 订阅类代码
- PHP - 附加
- cgi、php-cgi 、fastcgi 、php-fpm
- PHP- 面试案例
- Redis 常用
- Php 个人案例代码
- 去除二维数组重复数据
- php 获取本月最后一天
- FTP服务器架设
- Crontab任务计划
- Php8新特性
- 第1章:LNP Web环境搭建
- 1-1 Nginx1.19源码编译安装
- 1-2 Nginx1.19环境配置
- 1-3 Nginx1.19性能优化与测试
- 1-4 PHP8.0源码编译安装
- 1-5 PHP8.0环境配置
- 1-6 PHP8.0性能优化与测试
- 第2章:JIT即时编译
- 2-1 JIT编译原理
- 2-2 Tracing JIT和Function JIT编译引擎
- 2-3 Opcodes编译原理
- 2-4 Opcache和JIT功能开启
- 2-5 JIT高性能测试
- 第3章:PHP8的主要新特性
- 3-1 php8的命名参数
- 3-2 Reflection反射
- 3-3 注解
- 3-4 构造器属性提升
- 3-5 联合类型
- 3-6 Nullsafe空安全运算符
- 3-7 Match表达式
- 第4章:PHP8的新功能和类
- 4-1 PhpToken类
- 4-2 Stringable接口
- 4-3 WeakMap类
- 4-4 Str_contains函数
- 4-5 Str_starts_with和Str_ends_with函数
- 4-6 Fdiv函数
- 4-7 Get_resource_id函数
- 4-8 Get_debug_type函数
- 第5章:类型系统改进
- 5-1 新的Mixed伪类型
- 5-2 Static类方法的返回类型
- 第6章:错误处理方面的改进
- 6-1 系统函数引发TypeError和ValueError异常
- 6-2 Throw表达式抛出异常
- 6-3 无变量捕获的Catch
- 6-4 默认错误报告设置为E_ALL
- 6-5 默认情况下显示PHP启动错误
- 6-6 Assert断言默认情况下引发异常
- 6-7 操作符@不再抑制Fatal错误
- 6-8 PDO默认错误模式为ERRMODE_EXCEPTION
- 第7章:资源到对象的迁移
- 7-1 GdImage类对象替换了GD映像资源
- 7-2 CurlHandle类对象替换Curl处理程序
- 7-3 套接字扩展资源Socket是类对象
- 7-4 XMLWriter对象替换xmlwriter资源
- 第8章:PHP面向对象的编程更改
- 8-1 不兼容的方法签名的致命错误
- 8-2 严格执行类魔术方法签名
- 8-3 静态调用非静态类方法会导致致命错误
- 8-4 继承规则不适用于Private类方法
- 8-5 对象支持Class魔术常量
- 第9章:与字符串相关的更改
- 9-1 Substr和Iconv_substr偏移越境返回空字符串
- 9-2 加减运算符优先级高于点连接符
- 第10章:其他功能与特性
- 10-1 Printf采用新精度和宽度修饰符
- 10-2 内置Web服务器支持动态端口选择
- 10-3 参数列表和闭包Use列表中允许结尾逗号
- 10-4 隐式负数组键增量不会跳过负数
- 10-5 Crypt函数Salt为必选参数
- 10-6 调用禁用函数或类为未定义状态
- 10-7 可选参数之后禁止出现必选参数
- 第11章:弃用的函数与方法
- 11-1 ReflectionFunction::isDisabled弃用
- 11-2 ReflectionParameter::getClass弃用
- 11-3 ReflectionParameter::isArray弃用
- 11-4 ReflectionParameter::isCallable弃用
- 11-5 ReflectionClass::export弃用
- 11-6 ReflectionFunction::export弃用
- 11-7 Get_defined_functions改进禁用函数
- 11-8 24个PostgreSQL的别名函数弃用
- swooletw/laravel-swoole
- Git 常用命令
- 常用
- 别名 alia
- 创建版本库
- 修改和提交
- 查看历史
- 撤销
- 分支与标签
- 合并与衍合
- 远程操作
- 打包
- 全局和局部配置
- 远程与本地合并
- laravel 使用 Memcached