php

PHP 设计模式极简介绍

工厂方法模式 通过工厂类的方法去创建并返回产品对象。 class Factory { public function create(){ return new Product(); } } class Product { } // 调用过程 (new Factory())->create(); 抽象 ......
设计模式 模式 PHP

PHP二维数组分组

PHP二维数组分组 $result = []; foreach ($prize_list as $item) { $id = $item['id']; if (!isset($result[$id])) { $result[$id] = []; } $result[$id][] = $item; } ......
数组 PHP

宿主机套用 docker 容器中安装 PHP 的开发环境

docker 可以把运行环境整体打包,但是在开发时,IDE 往往还要指定宿主机上的PHP 可执行文件,这样,安装php扩展时,要装两遍,比较麻烦.如果在宿主机上运行容器中的命令? 可以借助 docker exec -it <container_name> <command> <args> 命令, 写 ......
宿主机 宿主 容器 环境 docker

PHP 反射机制打印对象

1 <?php 2 /** 3 4 echo Obj::new('Redis'); 5 echo Obj::new('Redis')->method('set')?->isPublic(); 6 7 */ 8 9 class Obj extends ReflectionClass 10 { 11 p ......
机制 对象 PHP

PHP Amqp 封装类

1 <?php 2 3 /** 4 * 使用示例 5 #定义名称 6 define('ExchangeName', 'exchange_name_15'); 7 define('QueueName', 'queue_name_15'); 8 define('RoutingKey', 'routing ......
Amqp PHP

推荐一个日历转换开源工具库,支持C#、Java、PHP等主流的语言

日历对我们来说,最熟悉的就是阳历和农历,在中国每年都有固定的节日、节气、中国特有传统节日,有些节日是固定的,但是节气这些都需要我们经过一定规则换算出来。 所以,今天给大家推荐一个开源库,它支持阳历、阴历、佛历和道历的日历转换,可以满足我们的所有需求。 **项目简介** = 这是有多开发语言版本、支持 ......
日历 主流 语言 工具 Java

PHP中的AMQP类

# PHP中的AMQP类 标签(空格分隔): php,amqp 官网地址:http://docs.php.net/manual/da/book.amqp.php AMQPConnection AMQPConnection { /* Methods */ // 与AMQP代理建立连接 public b ......
AMQP PHP

PHP操作RabbitQM

# PHP操作RabbitQM 标签(空格分隔): amqp,php Fanout Exchange 多个queue都可以绑定到exchange,并且每个queue都会接受到消息 producer(client.php) $exchangeName = "exchange_01"; try { $c ......
RabbitQM PHP

Linux系统,使用PHP连接ORACLE数据库

首先安装ORACLE的InstantClient环境:在这里下载 因为我需要连接11.2.0.4.0版本的ORACLE数据库,所以选取下载了basic-11.2.0.4.0-1.x86_64.rpm和devel-11.2.0.4.0-1.x86_64.rpm, 使用如下命令安装: rpm -ivh ......
数据库 数据 ORACLE 系统 Linux

kafka.php

setRebalanceCb(function (RdKafka\KafkaConsumer $kafka, $err, array $partitions = null) { switch ($err) { case RD_KAFKA_RESP_ERR__ASSIGN_PARTITIONS: // ......
kafka php

mongo.php

"root", 'password' => "123456", 'db' => "admin" ]); return $manager; } function mongoQuery($manager){ //查询 $filter = ['age' => ['$gt' => 5]]; $options ......
mongo php

es.php

setHosts(['192.168.133.131'])->build(); //如果es设置了密码 // $es = \Elasticsearch\ClientBuilder::create()->setHosts(['http://username:password@192.168.133.1 ......
php es

PHP地址引‘&’用的两个注意点

# foreach 循环 在foreach循环中经常用取地址的方式来修改循环体 ``` $arr = ['www.baid.com','www.google.com']; //给数组中的字符串拼接https:// //第一种做法 foreach($arr as $key=>$value) { $ar ......
两个 地址 PHP amp

打一个适合自己主机的nginx和php的包

### 创建适配主机的nginx和php的包 ```bash ## 先m01上配置一遍wordpress # 安装nginx,php包 # 官方源安装 vim /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo base ......
主机 nginx php

php中日期时间字符串可以直接比较大小

# php中的日期时间字符串可以直接比较大小 很多朋友还不知道,一直使用 `strtotime` 转换字符串为时间戳再比较大小。 ```php $time1 = '09:00'; $time2 = '12:51'; $time3 = '22:00'; self::assertTrue($time2 ......
字符串 字符 大小 日期 时间

php实现占位符模板替换

# php实现占位符模板替换 对接过微信模板消息,或者阿里大于接口的,应该都知道,三方会给你一些模板,模板里有一些占位符,你只需要按照模板里的占位符填充参数即可。 ## demo,实现一个地址跳转系统 用户提供域名和路径参数,系统配置模板即可,用户传参即可替换。 ```php // 用户提供的参数 ......
模板 php

[PHP](MD5、sha1)比较漏洞

# PhP (MD5、sha1)比较漏洞(弱比较、强比较、强碰撞) ## 弱比较 md5和sha1弱比较都是利用php解析哈希值以“0E”开头的特性,结果都为0符合参数1的字符串值和参数2的字符串值不相等,但md5值相等。 如:240610708,aabg7XSs,aabC9RqS,s8789261 ......
漏洞 sha1 PHP MD5 sha

PHP接入图片文字识别AIP

由于项目的需要,我使用百度的文字识别API,但要注意的是不是百分百可以识别,特别是手写的字体很潦草就很难识别了。 使用文字识别的API: 第一步:新手接入指南 https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjgn3 第二步:接入API 文档:https://a ......
文字 图片 PHP AIP

php特性第二天

## 99 ``` array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。 该函数等于多次调用 $array[] = $value。 in_array() 函数搜索数组中是否存在指定的值。(注意:in_array()函数有漏洞 没有设置第三个参数 就可 ......
特性 php

php特性第一天

[TOC] ## 89 ![image-20230520082935928](./../../AppData/Roaming/Typora/typora-user-images/image-20230520082935928.png) preg_match()返回 pattern 的匹配次数。 它的 ......
特性 php

关于PHP正则表达式这回事

![image-20230520085418434](./../../AppData/Roaming/Typora/typora-user-images/image-20230520085418434.png) ![image-20230520085427346](./../../AppData/R ......
正则 表达式 回事 PHP

基于官方php:7.2.34-fpm-alpine镜像构建生产可用镜像

1 了解官方php镜像 Dockerhub 上 PHP 官方基础镜像主要分为三个分支: cli: 没有开启 CGI 也就是说不能运行fpm。只可以运行命令行。 fpm: 开启了CGI,可以用来运行web服务也可以用来运行cli命令。 zts: 开启了线程安全的版本。 选择什么分支的镜像? 一般在生成 ......
镜像 fpm-alpine 官方 alpine php

制作一个生产环境可用的PHP基础镜像

目录 引言 了解PHP基础镜像 需求分析以及镜像选择 构建准备 最终的Dockerfile 引言 初学docker一定会觉得Dockerfile很难,其实只是无从下手的缘故。最好的学习方法就是看完每个Dokerfile指令的作用,然后不要急着去搞清楚,直接挑选一个你比较熟悉的服务软件动手自己制作一个 ......
镜像 环境 基础 PHP

基于官方镜像定制php-fpm容器

PHP官方docker镜像分类 php:-cli php:-apache php:-fpm php:-alpine 回到目录 制定适合生产环境的镜像 为何要定制 官方镜像缺少常见扩展 以php:8.0.8-fpm-alpine3.13为例 定制步骤 新建目录以/root/docker为例 mkdir ......
容器 镜像 php-fpm 官方 php

centos7安装erlang、rabbitmq以及php扩展

# centos7安装erlang、rabbitmq以及php扩展 标签(空格分隔): liunx,php 安装Erlang 版本:el7 erlang-20.3.8.25 erlang-20.3.8.25-1.el7.x86_64.rpm 1. 下载 wget --content-disposit ......
rabbitmq centos7 centos erlang php

php反序列化逃逸

之前就对字符串逃逸这一块理解的不是很深刻,下面通过一位师傅的博客来进一步深入理解一下有关php字符串逃逸的相关内容。 贴上师傅的博客地址:https://blog.csdn.net/qq_45521281/article/details/107135706、 **先来说一下什么是字符串逃逸,就是我们 ......
序列 php

PHP 获取无限级下级ID 无层级

PHP 获取无限级下级ID 无层级 非递归 删除会员处有误,修复后上传记录, PHP 获取无限级下级ID 无层级 非递归 删除会员处有误,修复后上传记录, PHP 获取无限级下级ID 无层级 非递归 删除会员处有误,修复后上传记录, PHP 获取无限级下级ID 无层级 非递归 删除会员处有误,修复后 ......
层级 下级 PHP

PHP用PhpOffice->PhpSpreadsheet导出excel

phpexcel由于版本陈旧性能低下官方放弃维护转而开发PhpSpreadsheet 用了最新得psr标准因而 对php版本不向下兼容需要注意!。 PhpSpreadsheet是一个用纯PHP编写的库,提供了一组类,使您可以读取和写入不同的电子表格文件格式PhpSpreadsheet提供了丰富的AP ......
PhpSpreadsheet PhpOffice excel PHP gt

PHP 检查字符或者字符串 是否仅包含指定类型的字符 ctype 系列函数

$strings = array('AbCd1zyZ9', 'foo!#$bar'); foreach ($strings as $testcase) { if (ctype_alnum($testcase)) { echo "The string $testcase consists of all ......
字符 字符串 函数 类型 ctype

PHP Warning: PHP Startup: redis: Unable to initialize module

redis已安装,且已经在php中安装了redis.so,但升级php版本后不能使用原来的redis.so扩展,需要重新编译安装phpredis。今天安装后重启php-fpm时出现了以下错误: [root@kermit etc]# php-fpm restartGracefully shutting ......
initialize PHP Warning Startup Unable