PHP8新特性 文章目录最人性特性:命名参数、联合类型、mixed类型联合类型最具贡献的特性:JIT构造器属性提升nullsafe运算符str_contains()、str_starts_with()和str_ends_with()函数最具潜力的特性:注解、Match表达式、WeakMap注解Match表达式WeakMap其它特性traits 中的抽象方法改进最人性特性:命名参数、联合类型、mixed类型这几个新特性让PHP在强类型方面进一步完善,而且对PHPDoc的注释依赖越来越弱,代码即文档的好处是开发者最头疼的事
laravel使用redis的分布式锁 laravel的缓存类的store的redis实现,位于命名空间Illuminate\Cache\RedisStore其中实现了LockProvider,可获取锁实例,锁实例为Illuminate\Cache\RedisLock类的实例,RedisLock类是Illuminate\Cache\Lock抽象类的实现调用方法get()获取锁时(RedisLock->get()),首先调用$this->acquire(),具体代码为public function acquire() {
如何安装部署beego项目 安装- cd /tmp- wget https://golang.google.cn/dl/go1.15.3.linux-amd64.tar.gz- tar -C /usr/local -xzf go1.15.3.linux-amd64.tar.gz- export PATH=$PATH:/usr/local/go/bin- go version系统常量配置- vim /etc/profile- 结尾追加 export GO111MODULE="on" export G
搭建jenkins并部署php项目 搭建jenkins1.wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo 2.rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key 3.yum install jenkins4.yum install java-1.8.0-openjdk配置vim /etc/sysconfig/jenkins J
最新制作composer包 1.github创建仓库github创建仓库(生成一个readme文件)github添加ssh秘钥本地环境生成一下秘钥 git config --global user.name "HoeWang" git config --global user.email "37407409@qq.com" ssh-keygen -t rsa -C “37407409@qq.com”然后将id_rsa.pub文件里面的秘钥复制到github的设置ssh当中本地git clon
php高精度计算的封装介绍 文章目录概要php浮点数精度计算的坑原因方案php提供的高精度函数库bcBC的主要相关函数可能为缺陷为何需要封装?代码示例关于舍去以及四舍五入如果要BC支持四舍五入关于封装概要php浮点数精度计算的坑$a = 2586;$b = 2585.98;var_dump($a-$b);期望的结果是:float(0.02)实际结果:float(0.019999999999982)原因小数的二进制表示有时是不可能精确的。其实道理很简单,十进制系统中能不能准确表示出1/3呢?同样二进制系统也无法
PHP代码优化与总结 PHP语法调优与坑author:hoewang文章目录PHP语法调优与坑isset千百倍优于in_array熟练使用continue与breakwhile里面断点问题循环处理foreach使用&引用in_array的自作聪明模式关于array_column强大用法array_merge的坑短路代码灵活使用list直接取方法返回数组的变量关于检测字符串存在array_unique问题a...
关于GIT工作中使用汇总 常用指令git init //初始化本地git环境git clone XXX//克隆一份代码到本地仓库git pull //把远程库的代码更新到工作台git pull --rebase origin master //强制把远程库的代码跟新到当前分支上面git fetch //把远程库的代码更新到本地库git add . //把本地的修改加到stage中git commit -m '...
基础iptables配置 iptables里面的dport和sport首先先来翻译一下dport和sport的意思:dport:目的端口sport:来源端口初学iptables比较容易迷糊,但是我尽量用通俗的语言给你讲解。dport 和sport字面意思来说很好理解,一个是数据要到达的目的端口,一个是数据来源的端口。但是在使用的时候要分具体情况来对待,这个具体情况就...
react各个子元素绑定气泡以及数组循环创建元素 render: (text, cell) => { if ((cell.bill_type == 1310 || cell.bill_type == 1318) && cell.info.ladder_coeff && cell.info.ladder_coeff !== []) { const ladder_coeff ...
php基础递归 public function getViewSonIds($viewIds = [], $isp_ids = []) { static $allIds = []; $viewModel = ViewModel::query(); if (empty($viewIds)) { return []; ...
水平分表实例 水平分表比较简单, 理解就是:合并的表使用的必须是MyISAM引擎 表的结构必须一致,包括索引、字段类型、引擎和字符集 数据表user1 1 2 3 4 5 6 CREATE TABLE `user1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `n...
php相关算法题目(转) 1、一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。function king($n, $m){ $monkeys = range(1, $n); //创建...
php的set_error_handler的错误记录回调 <?phpset_error_handler(function($errno, $errstr, $errfile, $errline){ // var_dump($errno); //错误级别 // var_dump($errstr); //错误信息 // var_dump($errfile); //错误文件路径 // var_dump($errline)...
一键导出CSV文件 /** * 导出CSV * @param array $data [description] * @param array $headlist [description] * @param [type] $fileName [description] * @return [type] [description] */function write...
session和cookie的联系 1.区别 session存在于服务器,以文件的形式,安全,量大 cookie是基于浏览器(客户端)的,相对不安全,大小限制,2.session_start()的时候做了什么(A区间:生成) a.服务器生成了对应的session_id; b.服务器生成了对应session_id对应的文件:文件内存储此session_id对应的用户的设置的变量等信息...