自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

渡目成书

热爱,就是一种天赋。你不一定最优秀,但你有一股冲劲儿,哪怕自己干得不行,也不想放弃,这就是天赋。

  • 博客(234)
  • 资源 (2)
  • 论坛 (2)
  • 收藏
  • 关注

原创 laravel中composer拓展包的开发

前面已经写了composer拓展包的开发,基本可以开发出一个通用的拓展包,在laravel中很多拓展的包都是通过门面来使用,这里就简单的看看laravel的拓展包如何编写composer拓展包开发composer拓展包开发(二)自动更新与版本控制引入拓展包这里使用的laravel版本为5.6版本,引入我们前面已经开发好的拓展包composer require superkingm/math v2.0在控制器中进行简单的使用,这里在编辑器里面能够显示参数,并且能有提示在vendor\s.

2021-03-22 11:40:32 49

原创 composer拓展包开发(二)自动更新与版本控制

在上一篇文章中写了composer拓展包的开发,但是在实际情况中我们的仓库的代码是变动的,我们希望提交的拓展包也能同步更新拓展包的更新同步在composer中我们提交了仓库地址,加入了composer的仓库,但是当我们更新了代码,composer仓库是不会同步更新,这个时候我们需要设置composer仓库的钩子,自动检测github仓库的更新,即使用github进行授权,这里我已经授权,这样我们的composer也进行了同步检测一下我们在拓展包中新增sub方法<?phpnamesp.

2020-07-17 17:23:04 276

原创 composer拓展包开发

composer的出现大大提升了开发的效率,当我们去开发什么功能的时候,大多时候我们都可以在composer仓库中找到相对应的轮子,来使用。如果自己也想写轮子给广大的php开发者使用,那么就该学习一下composer包如何开发了composer项目初始化这里我创建的文件夹 mathcomposer initPackage name (<vendor>/<name>) [chaow/math]: smallk/math //包名 格式必须Description []:

2020-07-17 16:23:40 1677

原创 JavaWeb学习笔记(三):使用druid连接池简易登录实例

druid是一个非常常用的数据库连接池,可以和jdbc template一起来使用下面我们就模拟一个登录的场景数据库建设创建一个login数据库,并且创建一个user表包含id,username,password三个字段。并且默认一个数据,做好数据准备工作项目搭建在IDEA中创建一个login模块,并在src目录中创建我们要用到的包在包domain存放我们的用户类User对应数据库user表,设置成员变量一一对应user数据库表package cn.wang.domain;.

2021-09-14 15:20:22 24

原创 JavaWeb学习笔记(二):IDEA配置tomcat服务器与servlet

dsdsdstomcat配置servlet程序servlet配置访问注解配置tomcat配置IDEA是一款非常流行的代码编辑器,对于java代码有着很好的支持,使用者众多,IDEA当然也支持配置tomcat服务器在IDEA菜单中点击RUN->edit configurations 找到Tomcat Server进行配置,选中本机Tomcat,点击OK即配置好可以点击菜单run进行启动服务或者在编辑器底部点击启动servlet程序上面已经配置好了tomcat服务器,现在我们来创建

2021-09-11 21:51:11 8

原创 JavaWeb学习笔记(一):tomcat的安装与配置

tomcat的安装与配置下载安装部署项目tomcat是一款比较流程的开源免费的web服务器,javaweb程序也与之紧密联系在一起,受到广大开发的欢迎下载安装直接进入tomcat的官网进行下载这里我下载了8版本,tomcat下载下来是不用安装的,解压即可以进行使用在 window下直接点击startup.bat为启动,shutdown.bat为关闭服务器部署项目上面我们已经把tomcat启动了,tomcat默认地址是127.0.0.1:8080 ,如下面显示

2021-09-11 12:03:54 11

原创 workerman执行busy,http请求不返回导致阻塞

问题:在workerman系统执行一段时间会出现进程busy情况查找原因,可以看到一个fd出现异常strace -ttp 25308lsof -nPp 25308查看进程执行的描述,发现是执行了一个http请求,是一个请求长时间不返回导致的阻塞,这里需要对请求进行超时时间的设置这里使用了GuzzleHttp拓展包,设置方式方式一$client = new Client([ 'timeout' => 2.0,]);方式二$client = new C.

2021-08-23 13:57:53 22

原创 laravel 接口异常错误返回json数据

在laravel中默认返回的异常是html的形式展现在页面上面,当我们写接口的时候我们希望错误是一定的json进行展示我们就需要对异常类进行处理改造找到文件Exceptions\Handler.php的render方法尽心重写public function render($request, Exception $exception) { if ($request->is('api/*')) { $response = []; .

2021-08-04 14:05:01 83

原创 修改Linux系统时间Date改为CST

发现有台服务器的时间为UTC,市场导致时间出现问题解决方法mv /etc/localtime /etc/localtime.bakln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime时间已经修改为CTS2021年 07月 23日 星期五 16:24:24 CST更新硬件时间hwclock -w...

2021-07-23 16:27:36 109

原创 guzzle 使用 json方式请求接口

在调用接口的时候有些接口要求请求方式为json方式,在guzzle该如何去使用以数组的方式请求,加上json键$client->request('POST', 'http://10.1.11.207:8080/api/v2/otherin/add', [ 'json' => [ 'otherin' => [ 'warehousecode' => '02', ..

2021-07-20 16:40:16 144

原创 Class UpdateHelper\ComposerPlugin contains 2 abstract methods and must 。。。

问题在composer报出的问题Class UpdateHelper\ComposerPlugin contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (Composer\Plugin\PluginInterface::deactivate, Composer\Plugin\PluginInterface::uninstall) in D:\wamp.

2021-07-20 15:57:28 681

原创 worker process terminated 进程退出

问题在worker程序使用了http请求接口数据,由于接口出现一部分请求不到数据出现了异常导致进程退出在出现异常的地方要进程捕获,不能让异常暴露导致进程退出。需要对异常进行处理。并且代码不能出现die(),退出等代码...

2021-07-15 16:07:19 186 1

原创 laravel使用异常来进行数据验证及提示

前面写了对表单提交的数据进行验证可以解决用户表单输入数据的规范性问题,但是在非表单的情况下我们也希望给用户个提示。例如:数量在不足的情况用户点击能够给用户提示,在用户非数据提交的情况下也能有一个比较好的用户体验这里我们就可以使用异常来进行处理,新建一个异常类<?phpnamespace App\Exceptions;use Illuminate\Http\Request;use Throwable;class TestException extends \Exception{.

2021-04-12 15:30:12 34

原创 laravel表单验证提示和自定义验证词库

需求:在用户在提交表单数据的时候,对用户提交的数据进行验证,如合规,唯一性等等这里就使用到laravel中的验证功能了验证的使用这里就简单的使用一下这个功能,这里我们创建一个表单,模拟注册功能,只有用户名和密码选项进行提交我们创建一个用户admin密码123456,第一次能够创建成功。如果下一次再次有使用admin进行注册将进行提示。在表单页面中加入错误提示的代码块<!DOCTYPE html><html lang="en"><head> .

2021-03-25 16:49:02 62

原创 laravel的服务注入新增service层,多方式

我们现在使用的PHP框架基本都是MVC模式,业务代码基本都写Controller中,如果出现业务比较多,那么controller中的代码会非常的繁杂,后期更新迭代起来比较麻烦在JAVA中一般都存在service,DAO层等,我们这里需要引入service来解决controller冗杂的问题,在laravel可以通过一般直接注入和服务来解决。例:业务场景,一个网站首页的展示模块很多,在controller中写入所有的业务代码会导致非常的长,修改起来也非常难整,有些部分具有重用性,直接写导致系统..

2021-03-19 11:24:00 532

原创 laravel JWTAuth对api接口权限进行鉴权

一般对外提供api接口服务都需要对使用的身份进行鉴权,需要对权限方面进行控制这里我们使用JWTAuth来进行完成配置JWTAuth这里使用的laravel为5.4版本,根据下面的JWTAuth拓展包使用范围我们使用0.5版本安装拓展包composer require tymon/jwt-auth 0.5.*打开confi/app.php进行配置在providers中配置\Tymon\JWTAuth\Providers\JWTAuthServiceProvider::clas.

2021-03-11 10:53:37 140

原创 laravel6.2多用户认证分不同用户表进行验证登录认证

网站一般分为后台和用户端,如果将用户数据与管理员数据放在同一张的表会出现不好管理和不必要的风险。这就需要将用户表和管理员表进行分开处理,这里就使用laravel的多用户认证来实现在laravel6版本以下可以使用php artisan make:auth命令快速生成登录模板,但在laravel以上登录模块进行分离,需要引入拓展包才能够去处理,这里使用的是laravel6.2版本。composer require laravel/ui 1.2php artisan ui bootstrap --a.

2021-03-08 18:05:44 147 2

原创 editor.md第一行解析失败,解析成代码模块原始输出

问题:在后台编辑好的文章,在解析的时候出现第一行解析成了代码块后台编辑显示在将数据保存至数据库,在从数据库读取数据到前台进行渲染,不管第一行出现什么,自动解析成代码块问题分析:通过对原示例的比较发现,渲染的数据不是从最左边开始,当出现不从最左边开始就会出现这种情况正确应该如下:这样前端显示也恢复了正常...

2021-03-05 10:16:22 70 2

原创 sourcetree配置连接gitlab与操作

命令行方式新建个人项目新建仓库完毕如下上面有git的操作指引,需要在本机电脑上面安装git客户端,安装完毕如下Git客户端全局设置本地代码上传,在本地已经有项目代码,项目为空,进入本地代码文件夹本地无项目代码克隆本地,这里存在D盘,生成test项目修改文件后提交删除项目可视化客户端方式SourceTree可视化客户端SSH连接git下载SourceTree并安装,注册完账号,并登录,界面如下生成ssh连接所使用的key生成文件所在位置将id_rsa

2021-02-20 15:38:21 303

原创 laravel+ldap创建用户

前面我们写了laravel+ldap修改用户密码但是我们也需要能够在任意一个系统能够添加ldap账号我们先返回任意一个创建的账号框内的部分是我们需要组装的数组,gidnumber,loginshell,objectclass一般固定不会改动,其他根据账号改动,并且不能与ldap用户重复可以使用phpLDAPadmin后台管理工具进行对比,如-代码创建新账号 $new['userpassword']= '{SHA}' . base64_encode(pack('H*', sha1('123.

2021-01-12 16:06:28 58

原创 laravel+ldap修改用户密码

前面写了:laravel+ldap进行auth用户登录认证,主要写了将ldap的用户进行结合laravel本地用户验证机制来进行登录验证功能需求:希望在任何系统中,用户都能修改自己的用户名密码这里我是使用拓展包来实现,ldap连接,但是在这个拓展包的门面中视乎没有找到修改密码的方法,但是在一个拓展包一个类中找到了我们将这个类引用并实例化,使用管理员账户绑定,去更改密码,当然也可以使用原生的去处理use Adldap\Connections\Ldap; //在需要修改密码的地方写上如.

2021-01-12 16:03:55 83

原创 mysql order by group by limit 查询缓慢

需求:分组排序取一段数据问题:在正常的查询情况下查询效率低下总表有10w,下面的查询语句查询时间达到了2.648s,时间表有80W查询时间达到了18s,显然很不符合要求SELECT * FROM `publish_task_walmart_new` group by parent_sku,account_id order by id desc limit 0,50这里已经添加上了索引但是还是异常的缓慢定位问题基本上是 group by分组耗时时间比较长,重点优化方向,进行语句优化SEL

2021-01-12 14:01:49 101

原创 1545 Failed to open mysql.event

删除掉 mysql.event在执行mysql_upgrade -uroot -p输入密码

2021-01-11 16:55:33 146

原创 种花问题

假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false。示例 1:输入:flowerbed = [1,0,0,0,1], n = 1输出:true示例 2:输入:flowerbed = [1,0,0,0,1],

2021-01-05 15:34:58 36

原创 1588. 所有奇数长度子数组的和(php和go)

给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。子数组 定义为原数组中的一个连续子序列。请你返回 arr 中 所有奇数长度子数组的和 。示例输入:arr = [1,4,2,5,3]输出:58解释:所有奇数长度子数组和它们的和为:[1] = 1[4] = 4[2] = 2[5] = 5[3] = 3[1,4,2] = 7[4,2,5] = 11[2,5,3] = 10[1,4,2,5,3] = 15我们将所有值求和得到 1 + 4 + 2..

2020-12-31 17:02:55 21

原创 layui中iframe弹出层事件给父级填入数据

问题:在使用iframe弹框层时,在iframe触发事件,在父级填入数据解决:能够在iframe中寻找到父级的dom并填入数据如 在父级中有个input标签在子级中选择后会自动填入,如下写法 $('#te').click(function () { parent.document.getElementById('keyword').value='6849'; })这样在子级点击的时候会在父级填入数据...

2020-12-29 13:44:25 65

原创 php 表单提交post数据中括号[]解析成数组不完整

问题:表单提交name中有中括号,name中的字符串提交会呗自动解析,导致数据出问题解决:在value中重复字段name取value值如图,以第一个图是浏览器提交的数据,第二个图是后台原样返回,当前端提交的字段存在中括号的时候,后台接受到数据会自动解析了中括号变成了数组,导致我们获取字段名错误原本是去字段名到后台进行处理,现在去字段名已经失效,但是在value显示还是正常的。可以取value数据进行代替字段名...

2020-12-25 09:54:47 169

原创 layui标签输入框添加禁止点击标志

需求:在某些条件下不允许条件输入,输入元素变灰,并且出现禁止标志解决:标签 class上面添加 layui-btn-disabled 再添加disabled即可 ,其他标签也适用 <select name="station" class="layui-select input-sm layui-btn-disabled" id="station" disabled></select>...

2020-12-09 16:55:42 1002

原创 php workerman在线同步点歌台,支持在线聊天,与点歌

Music使用PHP workerman开发的在线同步点歌台,支持在线聊天和自由点歌项目地址在线同步点歌台使用控制器-》方法的形式去处理websocket客户端消息使用这里没有去使用redis,使用redis效果应该更好,不想麻烦就直接使用mysql数据库去处理了导入song.sql,Song\Config\Db.php中进行配置数据库在windows下直接双击start_for_win.bat在linux下php start.php start或守护进程php start.

2020-12-03 09:27:19 116

原创 php获取mp3音频时间

需求获取音频的时间加载拓展包composer require james-heinrich/getid3使用<?phprequire "./vendor/autoload.php";$obj = new getID3();$tt = $obj->analyze('fade.mp3');echo $tt['playtime_seconds']."<br>";//秒,浮点echo $tt['playtime_string'];//分,秒,秒..

2020-11-27 16:40:31 52

原创 laravel php 并发插入数据重复问题

场景:在并发插入更新的情况下,数据库会出现重复数据的情况出现下面是一段laravel的示例代码主要逻辑是判断tt,yy的va字段为空才会执行更新va字段和创建数据,以下为正确示例在进行并发100测试的时候,出现了多条数据,过滤va为空的条件失效,同时多条请求拿到了VA为空,都进行后续搞作我们如何去解决这个问题,尝试使用laravel自带的悲观锁去处理,但结果还是会出现相同问题尝试引入redis去处理在redis中setnx设置值当key存在时候返回0,不存在时候设置值返回1,.

2020-11-20 09:37:25 967

原创 php imap读取邮箱邮件信息

在需求中需要能够监控邮箱的邮件,要满足这个功能得能够读取邮件的内容才行这里使用一个我自己开发的一个基于imap拓展的composer来进行完成,目前无法读取附件,一般监控也是监控文字,算是满足基本需求安装拓展composer require superkingm/mail使用,我这里以在laravel框架中使用为例子<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use MailBox\Ma.

2020-11-13 14:18:48 355 3

原创 laravel try异常abort只报出最外层

在项目中发现在存在嵌套额度try并abort的提示情况下优先是提出最外层,不能够精准的提示信息class Test{ public function aa() { try { throw new Exception(); } catch (Exception $exception) { abort('404',"错误一"); } } public function b.

2020-11-06 13:47:46 63

原创 beego中ORM的应用

安装ORM,和mysql的驱动go get github.com/astaxie/beego/ormgo get github.com/go-sql-driver/mysqlORM数据库配置连接,在models文件夹下新建models.go文件package modelsimport ( "github.com/astaxie/beego" "github.com/astaxie/beego/orm")func Init() { dbhost := beego.AppCo.

2020-11-04 16:08:26 66

原创 php二维数组插入矩形方块模拟货架

今天在论坛看到一个求助问题,利用二维数组模拟货架,往货架上面放矩形,觉得这个需求有点意思,就自己琢磨了下我的思路是将二维数据想象成网格,将要放入矩形放进去,遍历网格的每个小格子,作为矩形的左上格,推算出这个矩形所占的所有网格坐标,再来辨别所在小格子是否都是空的<?php$arrs = [ 0 => [1, 0, 1, 1, 0, 0, 1, 1], 1 => [1, 1, 1, 1, 0, 1, 1, 1], 2 .

2020-10-23 16:10:59 69

原创 php文件配置数组数据修改替换

系统配置数据在php文件中需要能够动态配置一般情况下在开发系统的时候会把固定数据配置成文件进行统一调用,如第三方接口的秘钥,配置成文件,调用进行统一调用,在修改配置时候全局都能生效。但是这种修改一般是人手动在文件里面修改。作为一个系统,我们可以做得更为方便,可以在web页面进行文件的修改。这里以百度文字识别配置在laravel系统中为例子在laravel中一般都会把配置写进config文件下配置文件中,然后用config()函数进行调用例如这里baidu_ocr.php,配置了文件,我们希望在we.

2020-10-23 10:35:38 298

原创 go get无法下载

设置为阿里镜像https://mirrors.aliyun.com/goproxy/设置方法go env -w GO111MODULE=ongo env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

2020-10-20 16:29:02 54

原创 laravel中mysql区分大小写查询

‘mysql’ => [‘driver’ => ‘mysql’,‘host’ => env(‘DB_HOST’, ‘’),‘database’ => env(‘DB_DATABASE’, ‘’),‘username’ => env(‘DB_USERNAME’, ‘’),‘password’ => env(‘DB_PASSWORD’, ‘’),‘charset’ => ‘utf8’,‘collation’ => ‘utf8

2020-09-28 09:30:15 240

原创 Hyper集成laravel中使用的blade模板

前面使用easyswoole将laravel中的blade模板进行了集成,这里也将集成到Hyperf框架中引入模板渲染composer require hyperf/view引入task并进行打开server.php进行配置composer require hyperf/taskreturn [ // 这里省略了其它不相关的配置项 'settings' => [ // Task Worker 数量,根据您的服务器配置而配置适当的数量 .

2020-09-27 17:06:27 202

原创 Hyperf中间件

Hyperf中的中间件还是比较类似与laravel,但是还是有些区别,Hyperf中可以使用注解的方式在对应的控制器方法进行添加新建去全局中间件php ./bin/hyperf.php gen:middleware TestMiddleware<?phpdeclare(strict_types=1);namespace App\Middleware;use Hyperf\HttpServer\Contract\RequestInterface;use Psr\Contain.

2020-09-26 17:58:47 444

在线点歌台:一起在线同步听歌点歌聊天系统

php workerman开发的在线同步听歌聊天系统,带数据库,启动即可使用。可以随时随地和异地的朋友同步听歌

2020-12-03

php_laravel博客源码带数据库

php一个laravel开发博客文章发布系统,支持登录,图片上传,标签,文章发布。登录验证,表单验证,中间件,详细学习地址:https://www.kancloud.cn/kingsurper/noobolaravel

2020-10-22

imap怎么获取邮件的附件

发表于 2020-11-24 最后回复 2020-11-24

base64_decode中文解析乱码,php如何解决

发表于 2020-11-10 最后回复 2020-11-10

空空如也

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

TA关注的人 TA的粉丝

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