自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

翻译 分析一下西游记世界的地图

西游世界地图

2022-10-06 09:50:47 2914

原创 tp5完整加载执行流程——thinkphp5 框架

框架运行流程入口文件–》定义常量–》引入函数库–》自动加载类–》启动框架–》路由解析–》加载控制器–》返回结果1,入口文件(tp5\public\index.php)作用:1)定义目录常量2)加载框架引导目录2.加载框架引导文件(tp5\thinkphp\start.php)作用:1)引导基础文件2)对应用进行运转3.加载框架基础引导文件(tp5\thinkphp\base.php)作用:1)加载系统常量2)引入loader类(tp5\thinkphp\library\t

2022-05-23 23:09:40 957

原创 PHP写一段代码,确保多个进程同时写入一个文件成功

<?phpfunction writefile( $filepath, $data ){ $fp = fopen( $filepath, 'a' ); //以追加的方式打开文件,返回的是指针 do{    usleep( 100 );       //暂停执行程序,参数是以微秒为单位的 }while( !flock( $fp, LOCK_EX ) );  //以独享写入的方式锁定文件,成功则返回TRUE,否则FALSE } $res = fwrite( $fp, $data

2022-05-23 23:01:26 579

转载 写一段PHP代码实现双向队列.

class Deque{ private $queue = array(); public function addFirst($item) { return array_unshift($this->queue, $item); } public function addLast($item) { return array_push($this->queue, $item); } publ

2022-05-23 22:56:04 214

转载 使对象可以像数组一样进行 foreach 循环,要求属性必须是私有

这就要讲到PHP的内置接口Iterator了,PHP5开始支持了接口, 并且内置了Iterator接口, 所以如果你定义了一个类,并实现了Iterator接口,那么你的这个类对象就是ZEND_ITER_OBJECT,否则就是ZEND_ITER_PLAIN_OBJECT.对于ZEND_ITER_PLAIN_OBJECT的类,foreach会通过HASH_OF获取该对象的默认属性数组,然后对该数组进行foreach.而对于ZEND_ITER_OBJECT的类对象,则会通过调用对象实现的Iterator接口相

2022-05-23 22:53:33 205

转载 php执行原理与Opcache、JIT原理

PHP的架构1、上层应用:这就是我们平时编写的PHP程序,通过不同的spai方式得到各种各样的应用模式,如何通过webserver实现web应用、在命令行下已脚本方式运行等等。2、Sapi:Sapi全称Server Application Programming Interface,也就是服务端应用编程接口,Sapi通过一系列钩子函数,使得PHP可以和外围交互数据,这是PHP非常优雅和成功的设计,通过sapi成功的将PHP本身和上层应用解耦隔离,PHP可以不再考虑如何针对不同应用进行兼容,而应用本身也可

2022-05-11 09:18:02 483

原创 浏览器请求到php的流程

浏览器请求到php的流程

2022-05-04 18:40:09 340

转载 laravel使用groupBy时报1055错误

报错内容:1055 SQLSTATE[42000]: Syntax error or access violation: 1055 ‘XXX.XXX’ isn’t in GROUP BY需要将database.php 中的strict 设置为false 5.3之后默认是开启的;在配置中配置为true的时候,laravel的groupBy会为所有的例分组, 设置为false之后,他只会为你指定的列分组,就可以解决这个问题。mysql从5.7以后,默认开启group by的严格模式。...

2021-12-29 18:44:54 240

原创 码云注销账号

帮助中心文档链接:https://gitee.com/help/articles/4286#article-header2如何注销 Gitee 帐号注销后帐号内所有数据都会被清空,且无法恢复帐号,还请谨慎操作。Gitee 提供邮件渠道帐号注销服务。如需注销帐号,请通过发送邮件注销申请邮件到 git#oschina.cn (#换成@)。相关注意事项如下:需要使用要注销的 Gitee 帐号绑定邮箱发送邮件,如帐号使用手机号码注册且未绑定邮箱,使用任意邮箱发送并按照下方要求提供信息即可。发送注销申

2021-12-29 14:54:29 2132

原创 laravel判断HTTP请求是否ajax

if(\request()->ajax()){echo ‘ajax请求’;}else{ echo ‘普通请求’;}

2021-12-29 12:20:13 269

原创 使用laravel框架开发接口时post请求报错419,get请求正常

使用laravel框架开发后台接口。get请求正常,但是post请求一直报错。H5和APP都不成功,code=419。首先确定路由已经配置正确//后台分组Route::group(['prefix'=>'admin', // 'middleware' => ['web']],function (){ Route::prefix('login')->group(function (){ Route::any('test',[\App

2021-12-28 17:40:14 1516

原创 码云+sourcetree git 创建分支,多分支开发

进入仓库,选中左边的小倒三角形,再点击管理新建分支例如通过master分支新建dev分支把dev设置为默认为默认分支这样默认分支就变成dev了SourceTree无法显示本地分支和远程分支的解决办法打开 SourceTree导航栏的 工具- 选项- git,将推送分支由简单变为匹配,如下图:...

2021-12-28 15:34:00 634

转载 phpstorm设置默认编码

phpstorm默认编码格式为GBK,可通过 File —> Settings —> Editor —> File Encodings 将文件/项目默认的编码改为UTF-8,如下图所示:

2021-12-28 15:17:57 1781

原创 linux 删除文件

删除当前目录下的所有文件rm -rf * -r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思删除文件夹实例:rm -rf /var/log/httpd/access将会删除/var/log/httpd/access目录以及其下所有文件、文件夹删除文件使用实例:rm -f /var/log/httpd/access.log将会强制删除/var/log/httpd/access.log这个文件...

2021-12-28 14:13:41 352

原创 linux 查看服务器系统版本

公司买了一台新服务器让我开发新项目,我不是运维,但是根据项目需要安装一些软件,运维让我自己去搞,我还以为是centos,忙活了半天才发现原来是aliyun os,所以啊,在linux上做什么先要搞清楚服务器版本。查看服务器版本(这个方式貌似只适合红帽家族所以有条件的同学直接问运维比较好)方法1:cat /etc/redhat-releasealiyun os[root@localhost ~]# cat /etc/redhat-release Alibaba Cloud Linux release

2021-12-28 12:18:54 3437

原创 通过FinalShell打通ssh隧道

使用FinalShell可以快速地打通隧道。方法/步骤打开finalShell,点击上方文件夹图标,打开服务器列表。通过FinalShell打通ssh隧道在列表中选择一个要建立隧道的服务器。当然如果不在列表中,就可以新建ssh连接,可以参照我以前的经验文章查看如何进行ssh连接。点击右边的设置按钮通过FinalShell打通ssh隧道在弹出的设置对话框中,点击隧道,点击添加。通过FinalShell打通ssh隧道弹出新建隧道窗口。名称可以自定义。类型:举例,要把服务器与本机打通

2021-12-28 10:59:12 5487

转载 winscp如何开启压缩功能

今天和大家分享下winscp如何开启压缩功能总结:【1】首先双击桌面图标,打开winscp【2】打开winscp后,点击主界面的高级选项【3】在高级界面,点击左侧的ssh功能【4】在ssh界面,点击开启压缩功能【5】设置完成后,点击下方的确定即可图文详情winscp如何开启压缩功能工具/原料winscp软件方法/步骤首先双击桌面图标,打开winscp,如图:winscp如何开启压缩功能打开winscp后,点击主界面的高级选项,如图:winscp如何开启压缩功能在高级界面,

2021-12-28 10:37:25 1288

原创 laravel 调试模式开启与关闭

在.env文件里有个APP_DEBUG如果设为true 就是开启调试模式如果设为 false,就是关闭调试模式。

2021-12-24 20:28:59 2700

转载 PHP函数详解:call_user_func() 与 call_user_func_array()使用方法

call_user_func函数类似于一种特别的调用函数的方法,使用方法如下:<?phpfunction nowamagic($a,$b) { echo $a; echo $b; } call_user_func('nowamagic', "111","222"); call_user_func('nowamagic', "333","444"); //显示 111 222 333 444 ?> 调用类内部的方法比较奇怪,居

2021-12-24 15:01:03 535

原创 laravel在构造函数中做权限认证却获取不到session的解决

参考:https://laravel.com/docs/5.3/upgrade#5.3-session-in-constructors控制器的构造函数中的无法使用session在 Laravel5.3以前版本中,您可以在控制器的构造函数中访问会话变量或经过身份验证的用户。但在 Laravel 5.3以后,您无法在控制器的构造函数中访问session或经过身份验证的用户,因为中间件尚未运行。作为替代方案,您可以直接在控制器的构造函数中定义基于闭包的中间件。在使用此功能之前,请确保您的应用程序正在运行 L

2021-12-24 12:25:07 405

转载 laravel获取不到session的三种解决办法

问题:引用第三方类库时,使用全局函数session()可以保存session,但是获取不到1、路由置于 web 中间件下,修改app/Http/Kernel.php文件,如下protected $middlewareGroups = [ //中间件web 'web' => [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middlewar

2021-12-24 09:35:28 1327

转载 Laravel中Session的使用

原文链接:https://www.cnblogs.com/piaobodewu/p/10012893.html1、Http request session方法$request->session()->put(‘key1’,‘value1’);echo $request->session()->get(‘key1’);2、session的辅助函数session()->put(‘key2’,‘val2’);echo session(‘key2’);3、通过sessio

2021-12-23 20:30:46 1250

原创 smarty查看版本号

在核心类 .../libs/Smarty.class.php查找 SMARTY_VERSION

2021-12-23 11:03:18 509

转载 Laravel 插件 PhpSpreadSheet 使用总结

原文链接:https://learnku.com/articles/29608背景说明#最近在做一个 Laravel 的项目,其中需要将 Excel 表格录入数据库进行下一步处理。在查阅了一些资料之后,决定使用 PhpSpreadSheet 插件来完成这个功能。PhpSpreadSheet 是 PhpExcel (已被弃用)的升级版,据说功能更加强大。PhpSpreadSheet 的教程没有 PhpExcel 多,可能是因为比较新的原因。在查阅了很多资料之后,找到了一个比较适合自己的教程:使用 PhpS

2021-12-23 10:47:08 998

转载 css中background:url背景图片如何铺满并正常显示

.box{ height: 300px; width: 300px; background:url('../imgs/108.png') no-repeat center 0px; background-position: center 0px; background-size: cover; text-indent: -999px;}说明:url(‘图片路径’)——图片路径的位置;no-repeat—— 图片不重复;repeat-x是横向铺满,就

2021-12-22 11:14:11 9368 1

原创 svag.js 的使用

1、什么是SVGASVGA是一种动画格式,可以兼容安卓、ios和web,可以实现很多复杂的动画,这样开发时就不用头疼canvas来实现动画时的卡顿优化问题了,简直就是为我这种半桶水前端的福利。svga 在线播放2、svga.js的使用这个是SVGA官方地址,如果大家感兴趣可以看一下和正常js引入一样,我们是需要script引入即可。在引入svga之后,我们需要在html中生命一个对象来存放svga动画。这里只是简单定义。3、让svga动起来 var arr=[]; function

2021-12-21 14:16:20 1160

原创 php 位运算

位运算符允许对整型数中指定的位进行求值和操作。位运算符例子名称结果$a & $bAnd(按位与)将把 $a 和 $b 中都为 1 的位设为 1。$a$bOr(按位或)$a ^ $bXor(按位异或)将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。~ $aNot(按位取反)将 $a 中为 0 的位设为 1,反之亦然。$a << $bShift left(左移)将 $a 中的位向左移动 $b 次(

2021-12-20 15:17:33 300

转载 laravel 执行原生sql

1.插入数据DB::insert('insert into test (id, name, email, password) values (?, ?, ? , ? )',[1, 'Laravel','laravel@test.com','Laravel']);2.查询语句$user = DB::select('select * from test where id = ?', [1]);//我们还 可以看到在执行查询的时候使用了参数绑定,以避免SQL注入。除此之//外还可以使用命名绑定:$us

2021-12-19 21:29:43 2173

原创 laravel 分页查询

翻遍laravel 文档都没有找到不生成html,直接让api接口可以用的分页查询,研究paginate()的源码才发现里面用了一个forPage()public function paginate($perPage = 15, $columns = ['*'], $pageName = 'page', $page = null){ $page = $page ?: Paginator::resolveCurrentPage($pageName); $total = $this-&gt

2021-12-19 00:45:03 1358

转载 laravel中artisan工具(命令)的使用详解

laravel中artisan工具(命令)的使用详解artisan工具,首先,这个是一个php文件,它放在我们laravel框架的根目录Artisan工具简介Artisan 是 Laravel 中自带的命令行工具的名称。它提供了一些对您的应用开发有帮助的命令。它是由强大的 Symfony Console 组件驱动的。为了查看所有可用的 Artisan 的命令,您可以使用 list 命令来列出它们:在脚本中执行php artisan list可以查看所有的命令那么熟悉linux的知道,不管什么命令都

2021-12-19 00:30:23 2879

原创 laravel8.75 缓存Cache的使用支持redis,memcache多种driver

配置缓存配置文件位于config/cache.php。在这个文件中,你可以指定应用默认使用哪个缓存驱动。Laravel 支持的缓存后端包括 Memcached、Redis、DynamoDB,以及现成的关系型数据库 。此外,还支持基于文件的缓存驱动,以及方便自动化测试的缓存驱动 array、null。默认的缓存驱动是 file。Memcached使用 Memcached 驱动程序需要安装 Memcached PECL package。你可以在 config / cache.php 配置文件中列出所有的

2021-12-18 23:26:38 1682

转载 laravel8 中添加自定义函数

laravel里面我们很多朋友不知道把自定义函数放在哪儿。我们的应用里经常会有一些全局都可能会用的函数,我们应该怎么放置它会比较好呢?现在匀们为大家准备了laravel放置函数的规范。单个文件创建文件 app/helpers.php<?php// 示例函数function foo() { return "foo";}修改项目 composer.json在项目 composer.json 中 autoload 部分里的 files 字段加入该文件即可:{ ..

2021-12-17 15:52:50 462

转载 Git 如何放弃所有本地修改

git checkout . #本地所有的修改,没有提交的,都返回到原来的状态git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop恢复。git reset --hard HASH #返回到某个节点,不保留修改。git reset --soft HASH #返回到某个节点,保留修改。git log #可以查看 git commit 的历史记录及其 HASH IDgit clean 的用法git clean命令用来从你的工作目录中删除所有没有tr

2021-12-10 12:20:50 12241 1

原创 Linux 文件权限查看及修改

Linux 文件权限查看ls -l 或者 ll直接查看文件或者文件夹的权限,r代表读取权限,w执行权限,x代表执行权限权限一共分成3组,3个一组,分别是所有者,所属组,其他人第一个代表文件类型,-代表是普通文件,d代表是文件夹linux 给指定用户分配文件夹权限1.更改目录所有者命令: chown -R 用户名称 目录名称2.更改目录权限命令: chmod -R 755 目录名称3.查看文件夹的权限 ll...

2021-12-10 11:50:49 5804

原创 Git 拉取远程代码

第一步:拉取远程代码git clone https://gitee.com/bragblog/laravel.git lala是你要存放代码的文件夹名,不定义也可以默认会使用 *.git 里的 * 新建一个文件夹第二步:查看本地分支和远程分支1、cd la 到工程目录下;2、git branch -al 查看本地和远程的所有分支。这里成功看到了所有的分支:其中master是本地分支,前面的星号*表示正在使用的分支前面带有remotes的分支都是远程分支。第三步、将远程分支与本地分支进行

2021-12-10 11:16:51 3168

转载 Laravel-smartmd 一个实用 Markdown 编辑器兼容大部分主流的 Markdown 语法解析,包括数学公式、流程图等

原文链接:https://blog.csdn.net/qq_36054511/article/details/84204306Laravel-smartmd一个实用的 markdown 编辑器兼容大部分主流的 markdown 语法解析,您可以选择前后端的任意一种解析方式,包括数学公式、流程图、emoji 表情、上传图片等…这是一个 laravel 插件的项目,要求 laravel 版本大于等于 5.4, php 版本大于等于 7.1 ,更多功能和文档随缘更新…参考和引用:CodeMirror l

2021-12-09 16:37:57 310

转载 PostMan返回数据窗口默认显示Json格式

话不多说,直接上图:未设置之前,是这样的,看着就很不方便,还需要手动切换一下json格式。我有强迫症,这样肯定不行。所以,欧利给~~搞定了。

2021-12-09 15:56:39 1584

转载 CSS 样式优先级

CSS 样式优先级当创建的样式表越来越复杂时,一个标签的样式将会受到越来越多的影响,这种影响可能来自周围的标签,也可能来自其自身。下面我们从这两方面去看看 CSS 样式的优先级。CSS 的继承性CSS 的继承特性指的是应用在一个标签上的那些 CSS 属性被传到其子标签上。看下面的 HTML 结构:<div> <p></p></div>如果 <div>有个属性 color: red,则这个属性将被 <p> 继承,即&

2021-12-09 14:12:08 248

转载 PHP中的PSR规范

什么是PSR?PSR是PHP Standards Recommendation的简称,这个是php-fig组织制定的一套规范。至今,php-fig已经发布了五个规范:PSR-0:自动加载标准,2014-10-21该标准已经被废弃,使用PSR-4替代,不再细讲PSR-1:基本的编码风格PSR-2:编码风格(更严格)PSR-3:日志记录器接口PSR-4:自动加载PSR-1PHP标签:PHP代码必须放在<?php ?>标签或<?= ?>标签中。编码:PHP文件必须使用

2021-12-09 12:18:50 1115

转载 PhpStorm 头部注释、类注释和函数注释的设置(稍微完善点)

首先,PhpStorm中文件、类、函数等注释的设置在:setting-》Editor-》FIle and Code Template-》Includes下设置即可,其中方法的默认是这样的:/**${PARAM_DOC}#if (${TYPE_HINT} != "void") * @return ${TYPE_HINT}#end${THROWS_DOC}*/但是我发现,文件中的默认注释是这样的:1 /**2 * Created by ${PRODUCT_NAME}.3 * User: $

2021-12-09 12:02:27 3736

空空如也

空空如也

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

TA关注的人

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