自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

...

php点点滴滴

  • 博客(327)
  • 资源 (1)
  • 收藏
  • 关注

原创 egg-socket.io知识点

Socket.IO 是一个基于 Node.js 的实时应用程序框架,在即时通讯、通知与消息推送,实时分析等场景中有较为广泛的应用。支持 websocket、polling 两种数据传输方式以兼容浏览器不支持 WebSocket 场景下的通信需求。egg框架提供了 egg-socket.io 插件,增加了以下开发规约:namespace: 通过配置的方式定义 namespace(命名空间) middleware: 对每一次 socket 连接的建立/断开、每一次消息/数据传递进行预处理 contro

2020-08-22 11:23:00 1607

原创 nodejs是一门后端语言

nodejs是一门后端语言。在浏览器 JavaScript 中,通常 window 是全局对象,而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性。安装完nodejs后,默认安装包管理工具npm:npm install -g cnpm --registry=https://registry.npm.taobao.org 使用淘宝镜像的命令npm root -g 命令会告全局安装包位置;npm list -g 查看所

2020-08-19 10:19:50 3150

原创 Vue 全家桶知识点

vue全家桶:vue + vuex (状态管理) + vue-router (路由) + vue-resource + axios +UI框架(iview、vant、elementUI等等)概括起来就是:、1.项目构建工具、2.路由、3.状态管理、4.http请求工具。两大核心思想:组件化和数据驱动。组件化:把整体拆分为各个可以复用的个体,数据驱动:通过数据变化直接影响bom展示,避免dom操作。Vue-cli是快速构建单页应用的脚手架# 全局安装 vue-cli$ npm install ..

2020-07-14 14:41:44 548

原创 laravel Event事件 和事件处理器(事件监听器)Listeners

概念:事件是一种常见的观察者模式的应用。含义:当 (event)... 然后(干) (listener)...业务逻辑处理:事件event除了定义属性和注入事件参数外不做业务逻辑处理,而是交给事件处理器(即监听器listener)的handle方法来处理具体的业务逻辑。放置 event 和 listener 文件的位置app/Eventsapp/Listeners定义用 Artisan 命令可以快速生成一个模板:php artisan make:event UserEvent.

2020-06-16 10:42:59 1720

原创 laravel unittest测试

约定:测试文件名需要以 Test 作为后缀,比如如果要测试 First.php,则对应的测试文件名为 FirstTest.php;测试方法名需要以 test 作为前缀,比如如果要测试的方法名为 getuser,则对应的测试方法名为 testGetuser,此外,你还可以通过 @test 注解来声明一个测试方法;所有的测试方法可见性必须是 public;所有的测试类都继承自 PHPUnit\Framework\TestCase。创建一个测试用例:php artisan make:test Us.

2020-06-13 11:07:29 856

原创 laravel API 资源

调用命令在app/Http/Resources 文件夹下生成resource文件单个资源类(理解成处理一维数组)php artisan make:resource UserResource #单个资源类,继承自 Illuminate\Http\Resources\Json\JsonResource资源类集合(理解成处理多维数组)php artisan make:resource UserCollection #资源类集合,继承自 Illuminate\Http\Res..

2020-06-12 14:55:35 651

原创 laravel 访问器 & 修改器

访问器作用:在模型中定义某字段的获取形式。如, /** * 获取用户的名字。 * * @param string $value * @return string */ public function getFirstNameAttribute($value) { return ucfirst($value); }此时,通过模型实例就可转化first_name字段为首字母大写形式,$user = App\U.

2020-06-11 10:29:47 331

原创 laravel with方法应用

应用场景:一对多的关联关系中。作用:是为了避免N+1次的查询数据库, 从而提升查询的性能;分类model<?phpnamespace App\Models;use Illuminate\Database\Eloquent\Model;class Category extends Model{ /** * 分类下面的商品 * @return \Illuminate\Database\Eloquent\Relations\HasMany */..

2020-06-10 10:53:54 16672 2

原创 laravel 作用域应用

分类为:分为全局作用域,和本地作用域。作用域作用:给模型的查询都添加上约束。全局作用域继承Illuminate\Database\Eloquent\Scope 接口的类,并实现 apply 方法。 根据需求,在 apply 加入查询的 where 约束:<?phpnamespace App\Scopes;use Illuminate\Database\Eloquent\Scope;use Illuminate\Database\Eloquent\Model;use Illum..

2020-06-09 14:55:15 464

原创 laravel中观察者应用

应用场景:使用观察者Observer,在模型中监听CURD事件,观察者类里的方法名应该反映 Eloquent 想监听的事件。 每个方法接受 model 作为唯一参数。使用artisan命令生成UserObserver类php artisan make:observer UserObserver --model=User<?phpnamespace App\Observers;use App\User;class UserObserver{ /** * H.

2020-06-09 14:07:04 288

原创 mysql锁(行锁,表锁,页面锁)

MySQL常用存储引擎的锁机制MyISAM和MEMORY : 表级锁(table-level locking)BDB采用页面锁(page-level locking)或表级锁:页面锁InnoDB:表级锁,默认为行级锁mysql有三种锁:行锁,表锁,页面锁。三种锁的对比:表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。页面锁:开销和加锁时间界于表锁和行锁之间;会出现死..

2020-06-08 10:43:20 2796

原创 laravel 服务容器 与 服务提供器

【服务容器】管理类的依赖和执行依赖注入。原理:1.服务容器绑定操作都是在 服务提供器 中注册。2.类的依赖项通过构造函数,或者某些情况下通过「setter」方法「注入」到类中。解析实例:1.通过 make 方法将容器中的类实例解析出来,参数是类或接口的名称:$api = $this->app->make('HelpSpot\API');2.处于不能访问 $app 变量的位置时,可以使用全局的辅助函数 resolve:$api = resolve('HelpSpo..

2020-06-04 11:55:15 245

原创 laravel 安装

前提:环境已安装好composer 执行命令 composer create-project --prefer-dist laravel/laravel blogcd blogcomposer installcp .env.example .env生成应用密钥php artisan key:generate设置读写权限 storage 目录和 bootstrap/cachechmod 0777 storage -Rchmod 0777 bootstrap/cache -R此时.

2020-06-03 15:04:07 247

原创 laravel 知识点

速查表https://learnku.com/docs/laravel-cheatsheet/6.0使用vscode开发laravel所需安装插件PHP Intelephense: 注意这个并不同于PHP IntelliSense ,后者以及PHP Extension Pack会导致vscode的代码提示加载缓慢,具体可查看该issuePHP Snippets from PHPStormLaravel 5 Snippetslaravel-bladeLaravel Blade Snippe..

2020-06-02 16:08:00 360

原创 【shell】练习- select

#!/bin/bash# select command exampleselect iterm in apple xiaomi huawei oneplus sansam vovodo echo "你选择了$iterm"done

2020-06-02 15:59:11 163

原创 【shell】练习- while

#!/bin/bash#echo "总共有 $# 个参数"#while [ "$1" != "" ];do# echo -n "剩下 $# 个参数"# echo ", 移除参数:$1"# shift#donewhile true ;do read -p "输入数字,猜猜大了还是小了: " num echo $num | grep -q '[^0-9]' ns=$? if [ "0" == $ns ];then echo "请输入数字.".

2020-06-02 15:58:13 298 1

原创 【shell】练习- 菜单选择 - select - case

#!/bin/sh# select && case in this scriptecho "请选择你使用的操作系统"select os in MacOS Linux Windows Unixdo case $os in Linux | Unix ) echo "使用的是高级操作系统哦" ;; Windows ) echo "使用的是微软的操作系统" ;; MacOS ) .

2020-05-29 09:47:46 349

原创 【shell】练习- 判断 - 正则

#!/bin/bash# it's a intvalwhile true ;doread -p "请输入 > " numif [ -z "$num" ];then echo "没有输入.."elif [[ "$num" =~ [0-9]+$ ]];then echo "数字"else echo "字符" fidone

2020-05-29 09:46:50 215

原创 【shell】练习- read from file

#!/bin/bash# read from file examplefilename=$1if [ $filename != "" ];then while read fileline do echo $fileline done <$filename else echo "运行脚本时,请带文件参数." fi

2020-05-29 09:45:51 353

原创 【shell】练习- read

#!/bin/bashecho -n "请输入姓名:"read nameecho "Hi~,你好~ ,$name"

2020-05-29 09:43:52 166

原创 【shell】练习- 脚本参数

#!/bin/sh# first script of shell# practise paramsecho '脚本'$0echo '接收到参数个数:'$#echo '所有的参数:'echo $@j=0for i in "$@";do echo '$'$j'==>'$i ((j++))done

2020-05-29 09:43:18 94

原创 【shell】练习- 双中括号-规则匹配

#!/bin/bash# 注意,双中括号是可以规则匹配 ,而单中括号是 test的简写read -p "please input the number[0~9]: " numif [[ $num =~ [0-9]+ ]] ;then echo "show your number : " $numelse echo "please input the number"fi

2020-05-29 09:42:13 612

原创 【shell】练习- if 判断

#!/bin/shread -p "判断文件存不存在(输入文件绝对路径): " fileif test -f $file ;then echo it\'s exsitelse echo emptyfi

2020-05-29 09:39:40 179

原创 【shell】练习- 三种函数定义

#!/bin/sh# function example# 1 definefunction fun(){ echo "第一种定义函数的方法." echo "获取函数的参数用\$1 ,第一参数 :"$1}# 调用fun 000sleep 2echo "==================== 我是分割线 =================="sleep 1echo "==================== 我是分割线 ==================".

2020-05-29 09:39:01 124

原创 【shell】练习- case

#!/bin/bash# case exampleOS=$(uname -s)case "$OS" in FreeBSD) echo "This is FreeBSD" ;; Darwin) echo "This is Mac OSX" ;; AIX) echo "This is AIX" ;; Minix) echo "This is Minix" ;; Linux) echo "This is Linux" ;; *) echo "Failed to identify.

2020-05-29 09:38:02 158

原创 【shell】练习脚本-数组

#!/bin/sh# array example# 严格模式,变量未定义会报错,shell默认不会set -u# 调试#set -xarray=(1 3 5 6 7 9 0 90 33 232)echo "第一个元素,索引为0开始 : "${array[0]}echo "所有的元素.用索引\${array[@]} 或是 \${array[*]} :" ${array[@]}echo "总共有${#array[@]}个元素"sleep 2echo "========.

2020-05-29 09:36:42 215

原创 shell 基本知识总结

#查看进程pid对应的程序ll /proc/pid_number【shell命令】echo 命令 -n 取消末尾的回车符 -e 解释引号(双引号和单引号)里面的特殊字符(比如换行符\n)echo rm * 只会打印要被删除的文件type 命令作用:判断命令的来源(外部,内置),如:type ls-t 参数,可以返回一个命令的类型:别名(alias),关键词(keyword),函数(function),内置命令(builtin)和文件(file)。模式匹配[^abc]或[!.

2020-05-23 17:49:54 629

原创 关于redis一些知识点(主从,哨兵,集群)

redis主从配置复制两个redis配置文件(启动两个redis,只需要一份redis程序,两个不同的redis配置文件即可)mkdir redis-master-slavecp path/to/redis/conf/redis.conf path/to/redis-master-slave master.confcp path/to/redis/conf/redis.conf path/to/redis-master-slave slave.conf修改配置## master.confp.

2020-05-13 15:26:18 133

原创 反射机制

//根据一个对象,知道它所属的类,拥有哪些方法,属性,注释等class User{ public $age = 11; /** * 获取所有用户数据 */ public function getUsers(){ $users = []; for($i=0;$i<=20;$i++){ ...

2020-03-25 09:57:54 145

转载 nginx 知识点

Nginx能做什么——正向代理代理的客户端,向远方服务器请求;——反向代理代理的远方服务器,响应客户端;——负载均衡来自客户端的请求分发给后台服务器,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。 支持自带3种负载均衡策略:轮询(默认),ip_hash ,(weight)权重。 2种常用的第三方策略: fair:按后端服务器的响应时间来分配请求...

2020-01-19 17:51:37 131

原创 linux,lnmp5环境安装tp5

git clone https://github.com/top-think/think tp5cd tp5 && checkout mastergit clone https://github.com/top-think/framework thinkphpcd thinkphp && checkout master此时正常情况下可访问。若访问不了,先...

2020-01-10 14:49:08 378

原创 总结-Linux 文件隐藏属性

Linux 下的文件还有一些隐藏属性,必须使用 lsattr 来显示,默认情况下,文件的隐藏属性都是没有 设置的(ext 文件系统默认拥有 e 属性)。 命令:lsattr [-a|d|R] 目录|文件 a显示所有的隐形属性,d显示目录,R递归显示lsattr -a test----i----------- test/.---------------- test/..--------...

2020-01-09 08:12:05 1584

原创 自动化测试selenium (二)

使用Python标准库unittest单元测试框架的一个扩展文件来生成HTML文件:HTMLTestRunner。下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html适配python3需修改如下几行代码,修改完成如附件所示:94行, import StringIO539行,self.outputBuffer = StringI...

2020-01-04 15:30:55 168

原创 自动化测试selenium (一)

1.pip安装 selenium2.下载浏览器驱动火狐:geckodriver.exe https://pan.baidu.com/s/1GPXYBLNOW7PUbpPrCy0_YA谷歌:https://npm.taobao.org/mirrors/chromedriver/注:火狐是selenium默认的浏览器3.下载好的驱动(geckodriver.exe )放于浏览器的安装目...

2020-01-04 15:22:28 250

原创 flex 弹性布局

Flexible Box意为”弹性布局”。Flex布局的元素,称为Flex容器(flex container),简称”容器”。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称”项目”。.box{ display: flex; || display: inline-flex; display: -webkit-flex; /* Safari */}...

2019-12-16 11:34:34 138

原创 Vue+Vant+ES6+Node.js+Koa+MongoDB

项目代码:https://github.com/xiecheng328/shop.gitnpmjs包管理:https://www.npmjs.com/1.安装nodehttp://nodejs.cn/查看版本 : node -v安装vue-cli : npm install -g @vue/cli查看版本 : vue -V创建项目:vue create shop 或 vue...

2019-12-09 11:11:01 597

原创 non-fast-forward

问题前提:在github上新建project后,提交本地代码到远程仓库时,报以下错误: ! [rejected] master -> master (non-fast-forward)error: failed to push some refs to 'https://github.com/sssss/shop.git'hint: Updates were reje...

2019-11-29 17:34:16 351

原创 linux 文件权限和属性

文件隐藏属性:Linux 下的文件还有一些隐藏属性,必须使用 lsattr 来显示,默认情况下,文件的隐藏属性都是没有设置的(ext 文件系统默认拥有 e 属性,centos7以下版本默认文件系统是ext4,或3)。 命令:chattr(超级用户可用) 描述:文件系统属性 用法:chattr [+-=] [选项] 文件或目录 i:如果对文件设置 i 属性,那么不允许对文件进行删...

2019-11-20 14:16:12 299

原创 yield 关键词,生成器

//a-z字母function getAZ(){ $string = ''; for($x = ord('a'); $x <= ord('z'); $x++){ if($x <= rand(ord('a'),ord('z'))) { $string .= chr($x); } } retur...

2019-11-19 10:30:39 471

转载 前端,立方展示图

<style>body {background-color:whitesmoke;} // 修改背景颜色为半透明 /*最外层容器样式*/ .wrap { width: 100px; height: 100px; margin: 150px; ...

2019-10-10 13:52:12 309

ps setting 配置

ps setting 配置,直接导入ps开发工具里,不用单个配置

2018-10-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除