刷新
php基础语法_面向对象

博主头像 PHP php代码标记 多种标记来区分php脚本 ASP标记:<% php代码 %> 短标记: 脚本标记: 标准标记(常用): 简写风格: ASP风格:<% php代码 %> 注意:简写风格和ASP风格需要在php.ini配置文件中修改以下配置为on,移植性差 short_open_tag = on ...

截取第一个字用php生成一个头像

博主头像 在做商城时生成随机一个头像,找了一下发现用首个字符直接生成的类也不错,和用第三方外链的话还是有不同的,第三方虽然图片比较多,但是会有超时问题,所以用首字母生成方式本地搞,代码如下: 点击查看代码 1、方法调用测试 letter_avatar("壹零柒") 2、生成图片方法 function lett ...

PHP APCu缓存使用与避坑

博主头像 APCu 极简概括: PHP 的开源内存缓存扩展,类比Redis,但是一般都用Redis,所以APCu用的很少。 官方文档:https://www.php.net/manual/zh/apcu.configuration.php 解决问题:类比Redis做缓存组件,提升性能,同步数据使用。 适用场景 ...

PHP的多样化执行方式(parallel PHP多线程实现,原生协程实现,多进程实现,ZTS、NTS、TS又是什么)

博主头像 进程、线程、协程 进程:应用程序的启动实例,运行起的代码叫进程,有独立的内存空间,类比工厂的P个(P=1单进程,P>1多进程)车间。 线程:线程是CPU调度的最小单位,是进程内的执行单元,多个线程共享所属进程的资源。类比车间内的T个员工(T=1单线程,T>1多线程)车间。 协程:类似线程,协程是用户 ...

mpdf增加字体并进行使用

博主头像 1、先将字体复制到目录:\vendor\mpdf\mpdf\ttfonts2、再修改文件\vendor\mpdf\mpdf\src\Config\FontVariables.php,对照已经添加的simsun,simkai,simhei,fangzhenweibei,fangzhenheiti等字体 ...

4.3万字详解PHP+RabbitMQ(AMQP协议、通讯架构、6大模式、交换机队列消息持久化、死信队列、延时队列、消息丢失、重复消费、消息应答、消息应答、发布确认、故障转移、不公平分发、优先级、等)

博主头像 理论(后半部分有实操详解) 哲学思考 易经思维:向各国人讲述一种动物叫乌龟,要学很久的各国语言,但是随手画一个乌龟,全世界的人都能看得懂。 道家思维:努力没有用(指劳神费心的机械性重复、肢体受累、刻意行为),要用心(深度思考、去感悟、透过现象看本质)才有用。 举例:类似中学做不出来的几何题的底层原理 ...

php 开发规范

博主头像 框架 · 使用laravel框架,原因:tp的框架路由和orm没有laravel好用 · 使用强制路由,方便接口多时,分多版本,分文件夹等操作 · 框架采用最新的LTS版本 接口 · 接口开发注意字段类型,字段是int,查询成功失败都要返回int(对接java等强类型语言方便) · 使用with,返 ...

ThinkPHP6 多模型关联查询操作记录

新入职后组长安排了一个小的管理项目来检验能力,后发现自身对于 ThinkPHP 框架中的模型关联属于一窍不通,故被终止项目叫楼主去恶补 ThinkPHP6 框架知识。 对于多联表查询之前本人一直使用join方法,但是此方法对于代码效率和维护都有较大影响,故在此尝试使用 ThinkPHP 框架内置的模 ...

记录如何用php做一个网站访问计数器的方法

简介创建一个简单的网站访问计数器涉及到几个步骤,包括创建一个用于存储访问次数的文件或数据库表,以及编写PHP脚本来增加计数和显示当前的访问次数。 方法以下是使用文件存储访问次数的基本步骤: 创建一个文本文件来存储计数:在网站的根目录下创建一个名为 counter.txt 的文件,这个文件将用于存储访 ...

快速理解Laravel容器(IOC、DI、Provider、Contract)

博主头像 源码理解思维的提升 分享一些个人见解。 Laravel里面的某些概念,就像魔术一样,看起来很厉害,当知道魔术怎么变的,就会认为也不过如此。所以不必感觉Laravel里有些概念难以理解。 应当抛除被框架约束思维的枷锁,用PHP设计的角度去思考,关注大概,而不是在在框架层面逐行磨叽。毕竟源码那么多,越是 ...

深入理解高并发超卖一系列问题与解决方案(近7万字详解,跳槽涨薪必备宝藏珍藏级分享)

博主头像 破除困境带你飞 能遇上高并发的,基本都是有点规模的公司,小公司基本都是CRUD。 想去一线城市跳槽,想去有高并发的公司,但是没有高并发经验,没有高并发的经验,就去不了高并发的公司,去不了这样的公司,就没有高并发经验,前狼后虎两头堵的困境,干就完了。 一语道破 超卖问题是属于并发安全问题,在并发情况下 ...

从零开始的PHP开发逆天路——语法

PHP 语法 PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器。 基本的 PHP 语法 PHP 脚本可以放在文档中的任何位置。 PHP 脚本以<?php开始,以 ?> 结束: <?php // PHP 代码 ?> PHP 文件的默认文件扩展名是 .php。 PHP 文件通常包含 HT ...

高并发下数据幂等问题的9种解决方案

博主头像 置顶说明 严格来说,所谓人云亦云的接口幂等性,大部分场景是要求接口防重或数据幂等,而不是接口幂等,很多人都搞混了。 举例:后端做了支付防重,用户对单一订单重复支付,再次支付不是提示支付成功(接口幂等是要求多次请求返回的结果一致),而是提示请勿重复支付。 很多时候是防重是保证MySQL表数据的幂等,而 ...

深入理解PHP+Redis实现分布式锁的相关问题

博主头像 概念 PHP使用分布式锁,受语言本身的限制,有一些局限性。 通俗理解单机锁问题:自家的锁锁自家的门,只能保证自家的事,管不了别人家不锁门引发的问题,于是有了分布式锁。 分布式锁概念:是针对多个节点的锁。避免出现数据不一致或者并发冲突的问题,让每个节点确保在任意时刻只有一个节点能够对公共资源进行操作, ...

laravel学习

博主头像 这里只分享核心思想 · 契约:就是接口类 · 服务:一些类,例如阿里云短信发送类sms1.php ,百度平台短信发送类sms2.php,都继承契约(接口类),使类有一样的方法 · 容器:类似一个数组 · 服务提供者:实例化sms1或sms2类,取名为sms,放进容器,其他地方就可以使用sms调用,后 ...

3种策略巧妙化解PHP Trait成员属性冲突

博主头像 说明 PHP语言本身可以用insteadof和as关键字解决多个trait同名成员方法冲突的问题,但是貌似没有直接解决同名成员属性冲突的方案。 虽然属性名冲突极少发生,但是不代表不会发生。 如果是自定义trait 可以复制旧trait文件到新trait,改新文件的成员属性名,引用新trait。 直接 ...