PHP中使用PDO操作事务的一些小测试
关于事务的问题,我们就不多解释了,以后在学习 MySQL 的相关内容时再深入的了解。今天我们主要是对 PDO 中操作事务的一些小测试,或许能发现一些比较好玩的内容。
在 MyISAM 上使用事务会怎么样?
首先,相信只要是学过一点点的 MySQL 相关知识的人都知道,在 MySQL 中常用的两...[2021/6/21]
PHP中PDO关闭连接的问题
在之前我们手写 mysql 的连接操作时,一般都会使用 mysql_close() 来进行关闭数据库连接的操作。不过在现代化的开发中,一般使用框架都会让我们忽视了底层的这些封装,而且大部分框架都已经默认是使用 PDO 来进行数据库的操作,那么,大家知道 PDO 是如何关闭数据的连接的吗?
官方说...[2021/6/21]
php类中static与self的使用区别浅析php类中static与self的使用区别浅析
使用 self:: 或者 __CLASS__ 对当前类的静态引用,取决于定义当前方法所在的类:
使用 static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用。
静态绑定是PHP 5.3.0,增加的一个功...[2021/6/21]
学习PDO中的错误与错误处理模式学习PDO中的错误与错误处理模式
在 PDO 的学习过程中,我们经常会在使用事务的时候加上 try...catch 来进行事务的回滚操作,但是大家有没有注意到默认情况下 PDO 是如何处理错误语句导致的数据库操作失败问题呢?今天,我们就来学习一下。
PDO 中的错误与错误处理模式简介
PDO 提供了三种不同的错误处理方式:
...[2021/6/15]
PDO操作大数据对象
一般在数据库中,我们保存的都只是 int 、 varchar 类型的数据,一是因为现代的关系型数据库对于这些内容会有很多的优化,二是大部分的索引也无法施加在内容过多的字段上,比如说 text 类型的字段就很不适合创建索引。所以,我们在使用数据库时,很少会向数据库中存储很大的内容字段。但是,MyS...[2021/6/15]
PHP的DBA扩展学习PHP的DBA扩展学习
今天我们讲的 DBA 并不是传统的数据库管理员那个 DBA ,而是一个 PHP 中的巴克利风格数据库的扩展。巴克利风格数据库其实就是我们常说的键值对形式的 K/V 数据库。就像我们平常用得非常多的 memcached 或者 redis 那样,只是一个键和一个值对应,不过 memcached 它们...[2021/6/15]
PHP的Sodium加密扩展函数了解
这是本次加密扩展系列的最后一篇文章,也是我们要学习了解的最后一个 PHP 加密扩展。Sodium 出现的目的也是为了代替 Mcrypt 这个原来的加密扩展。在 PHP7.2 之后,Mcrypt 已经被移除,在 PHP7.1 时就已经被标记为过时。不过,Sodium 扩展的应用也并不是很多,大部分...[2021/6/15]
PHP中操作数据库的预处理语句
今天这篇文章的内容其实也是非常基础的内容,不过在现代化的开发中,大家都使用框架,已经很少人会去自己封装或者经常写底层的数据库操作代码了。所以这回我们就来复习一下数据库中相关扩展中的预处理语句内容。
什么是预处理语句?
预处理语句,可以把它看作是想要运行的 SQL 语句的一种编译过的模板,它可以...[2021/6/15]
PHP中的数组分页实现(非数据库)PHP中的数组分页实现(非数据库)
在日常开发的业务环境中,我们一般都会使用 MySQL 语句来实现分页的功能。但是,往往也有些数据并不多,或者只是获取 PHP 中定义的一些数组数据时需要分页的功能。这时,我们其实不需要每次都去查询数据库,可以在一次查询中把所有的数据取出来,然后在 PHP 的代码层面进行分页功能的实现。今天,我们...[2021/6/15]
PHP中strval()函数实例用法
1、函数说明
strval()函数是PHP中的内置函数,用于将任何标准值(字符串、整数或双精度)转换为字符串。我们不能在数组或对象中使用strval。如果使用该函数,该函数只返回需要转换的值的类型名称。
2、语法
string strval (mixed $var)
3、参数...[2021/6/7]
PHP的OpenSSL加密扩展学习(二):非对称加密
上篇文章,我们了解了关于对称和非对称加密的一些相关的理论知识,也学习了使用 OpenSSL 来进行对称加密的操作。今天,我们就更进一步,学习 OpenSSL 中的非对称加密是如何实现的。
生成私钥
通过之前的学习,我们知道非对称加密是分别需要一个公钥和一个私钥的。我们就先来生成一个私钥,也就是...[2021/6/7]
PHP的OpenSSL加密扩展学习(三):证书操作PHP的OpenSSL加密扩展学习(三):证书操作
关于对称和非对称的加密操作,我们已经学习完两篇文章的内容了,接下来,我们就继续学习关于证书的生成。
生成 CSR 证书签名请求
CSR 是用于生成证书的签名请求,在 CSR 中,我们需要一些 dn 信息。其实也就是当前这个证书的服务对象,包含公司名、邮箱之类的内容。
$privkey = o...[2021/6/7]
PHP的rar解压读取扩展包学习
作为压缩解压方面的扩展学习,两大王牌压缩格式 rar 和 zip 一直是计算机领域的压缩终结者。rar 格式的压缩包是 Windows 系统中有接近统治地位的存在,今天我们学习的 PHP 扩展就是针对于 rar 的压缩包操作,不过,PHP 的 rar 扩展仅能读取和解压 rar 格式的压缩包,并...[2021/6/7]
PHP的zip压缩工具扩展包学习PHP的zip压缩工具扩展包学习
总算到了 PHP 的拿手好戏上场了,前面我们学习过 Bzip2 、 LZF 、 Phar 和 rar 这些压缩相关扩展在 PHP 中的使用,不过它们要么是太冷门,要么就是很多功能不支持。而 Zip 则是在 PHP 中得到最大幅度功能支持的热门压缩格式,或者说是通用常见的一种压缩格式。当然,也主要...[2021/6/7]
如何使用PHP7的Yaconf
简介
我见过很多的项目中, 用PHP文件做配置的, 一个config目录下可能有十几个甚至数十个.php配置文件, 里面都是各种各样的array, 还有甚者会把一些词典文件(比如中文/英文对照)也放到配置中去. 这就导致配置文件的解析耗费了很大的性能(诚然, 用了opcache能好点, 但是实际...[2021/5/31]
GO反射类实例
变量的内在机制
类型信息:是静态的元信息,是预先定义好的
值信息:是程序运行过程中动态改变的
反射的使用
获取类型信息:reflect.TypeOf,是静态的
获取值信息:reflect.ValueOf,是动态的
反射获取interface值信息
package m...[2021/5/31]
GO 语言快速学习 | PHP转GO笔记
web框架
流行度排行
https: github.com peedwheel/awesome-go-web-framework blob/master/README.md#popularity
beego
https: beego.me/products
echo
http...[2021/5/31]
WordPress二次开发难吗?
WordPre
根据专业数据统计,WordPre 已将占了网站市场份额的百分之五十以上,也就意味着使用WordPre 开发,以此作为自己除职业生涯以外获得外快的人越来越多。
现在市面上随便一个WordPre 主题、插件啥的都是上百,甚至上千的都有,很多人因此都已经放弃了工作,全职在家进行Wo...[2021/5/31]
TP6框架--EasyAdmin学习笔记:Excel表单导入数据库
这是我写的学习EasyAdmin的第四章,这一章我给大家分享下Excel表单导入数据库的全流程需要怎么处理并提供案例
首先给大家看下这个功能的原理,下面是PHP连接打印机的代码
public function uplExcel(Request $request)
{
...[2021/5/31]
WordPress安装篇(1):使用PHPStudy安装WordPress
我是“小白”,既不会编程也不懂CSS能自己搭建网站吗?可以的!只要你会用鼠标,懂打字就能搭建出属于你自己的网站。要怎么样才能做到昵?让我们一起来看看如何实现的吧。在Windows环境通过使用PHPStudy工具和WordPre 软件就能实现快速搭建网站。
为了减少安装过程中出错,提高搭建网站...[2021/5/31]
Git 使用技巧
直接提交当前分支
git add . && git commit -m ‘评价测试’ && git pull origin `git branch | sed -n "/\* p"` && git push origin `git branc...[2021/5/24]
TP6框架--EasyAdmin学习笔记:定义路由
这是我写的学习EasyAdmin的第二章,这一章我给大家分享下如何定义一条路由
正常的tp6定义路由方法如下:
/route/admin app.php 文件内容
路由变量自定义
Route::get(''zhanghao/denglu/[:aaa]'',''app\\a...[2021/5/24]
PHPDebug互动扩展【phpdbg】功能浅析PHPDebug互动扩展【phpdbg】功能浅析
对于 PHP 开发者来说,单步的断点 Debug 调试并不是我们的必修课,而 Java 、 C# 、 C++ 这些静态语言则会经常性地进行这种调试。其实,我们 PHP 也是支持这类调试方式的,特别是对于了解一些开源框架,或者有非常深层次的 Bug 跟踪时,断点调试会非常有用。
不少接触过 PH...[2021/5/24]
php rabbitmq的开发体验(一)
一、前言
为了公司的推送任务,监听用户后台的操作在不影响用户的操作速度,尽快的在用户的网站上更新用户的更改,需要保证消息的稳定性和可恢复性。所以我用了消息队列,具有
解耦
冗余
扩展性
灵活性 & 峰值处理能力
可恢复性
顺序保证
缓冲
异...[2021/5/24]
简单了解Phar代码打包工具的使用
简单了解Phar代码打包工具的使用
Phar 是在 PHP5 之后提供的一种类似于将代码打包的工具。本质上是想依照 Java 的 Jar 文件那种形式的代码包,不过本身由于 PHP 是不编译的,所以这个 Phar 实际上就是将代码原样的进行打包,不会进行编译。但是我们可以对打包的 Phar 包进...[2021/5/24]
TP6框架--EasyAdmin学习笔记:实现数据库增删查改
这是我写的学习EasyAdmin的第三章,这一章我给大家分享下如何进行数据库的增删查改
上一章链接:点击这里前往
上一章我们说到,我仿照官方案例,定义了一条路由goodsone和创建了对应数据库,我们可以看到view复制goodsone的文件夹中又这么几个文件
这些文件中,index.h...[2021/5/24]
PHP的加密伪随机数生成器的使用
今天我们来介绍的是 PHP 中的加密伪随机数生成器(CSPRNG 扩展)。随机数的生成其实非常简单,使用 rand() 或者 mt_rand() 函数就可以了,但是我们今天说的这个则是使用了更复杂算法的一套随机数生成器。rand() 已经不是很推荐使用了,mt_rand() 的生成速度更快一些,...[2021/5/24]
PHP的Hash信息摘要扩展框架PHP的Hash信息摘要扩展框架
今天我们主要学习的是 PHP 中一些 Hash 散列加密相关的扩展函数的使用,而不是 Hash 算法,这种加密其实也只是一种更复杂一些的密钥算法,与 Hash 算法类似的是,我们输入的一串字符串,就像一个 Hash 表一样有其对应的 Hash 散列值,本质上和普通的数据结构中的 Hash 键值映...[2021/5/24]
PHP的Mcrypt加密扩展知识了解PHP的Mcrypt加密扩展知识了解
今天我们来学习的是 PHP 中的一个过时的扩展 Mcrypt 。在 PHP7 之前,这个扩展是随 PHP 安装包一起内置发布的,但是现在新版本的 PHP 中已经没有了,需要使用这个扩展的话我们需要单独安装,并且在使用的时候也是会报出过时的警告的。所以,我们学习使用这些函数的时候,就需要使用 @ ...[2021/5/24]
PHP中环境变量的操作
在 PHP 中,我们可以通过 phpinfo() 查看到当前系统中的环境变量信息(Environment)。在代码中,我们也可以通过两个函数,查看和修改相应的环境变量信息。
getenv() 获取环境变量信息
在不传参数的情况下,我们可以通过 getenv() 这个函数获得所有的环境变量信息。...[2021/5/17]
织梦dedecms安全漏洞include/common.inc.php漏洞解决方法_dedecms织梦dedecms安全漏洞include/common.inc.php漏洞解决方法_dedecms
1.受影响版本织梦dedecms 5.7、5.6、5.5。 2.漏洞文件/include/common.inc.php 3.DEDECMS的全局变量初始化存在漏洞,可以任意覆盖任意全局变量。
描述:
目标存在全局变量覆盖漏洞。
1.受影响版本DEDECMS 5.7、5.6、5.5。
2...[2021/5/17]
homestead、linux 开启php memcache扩展
homestead php7.3安装memcache
第一步
下载memcache 选择对应的安装包
wget "https: pecl.php.net/get/memcache-4.0.5.2.tgz"
一定要选择正确的安装包!!!!!!!!
以7.3为例 这个包7.0-7.4可以使用...[2021/5/17]
PHP的命令行扩展Readline相关函数学习
PHP 作为一个 Web 开发语言,相对来说,命令行程序并不是它的主战场。所以很多年轻的 PHP 开发者可能连命令行脚本都没有写过,更别提交互式的命令操作了。而今天,我们带来的这个扩展就是针对 PHP 的交互式命令行操作的。
readline 扩展函数实现了访问 GNU Readline 库的...[2021/5/17]
PHP的bz2压缩扩展工具
在日常的开发和电脑使用中,我们经常会接触到压缩和解压的一些工具,PHP 也为我们准备了很多相关的操作扩展包,都有直接可用的函数能够方便的操作一些压缩解压功能。今天,我们先学习一个比较简单但不太常用的压缩格式:Bzip2。
安装扩展
这个扩展的安装需要系统有 bzip2-devel 。所以我们需...[2021/5/17]
TP6框架--EasyAdmin学习笔记:项目初始化+环境配置
最近在研究一个基于TP6的框架EasyAdmin,这里分享下我的开发心得
首先要获取原始项目文件
这里是git地址
https: github.com/zhongshaofa/easyadmin
项目环境的要求为Apache、MySQL、PHP这里首推phpstudy(小皮助手),可...[2021/5/17]
PHP的LZF压缩扩展工具
这次为大家带来的是另外一个 PHP 的压缩扩展,当然也是非常冷门的一种压缩格式,所以使用的人会比较少,而且在 PHP 中提供的相关的函数也只是对字符串的编码与解码,并没有针对文件的操作。因此,就像 Bzip2 一样,我们也可以用它来进行一些加密传输的操作。
LZF 扩展直接在 phar.php...[2021/5/17]
PHP如何获取命令行参数
使用 PHP 开发的同学多少都会接触过 CLI 命令行。经常会有一些定时任务或者一些脚本直接使用命令行处理会更加的方便,有些时候我们会需要像网页的 GET 、 POST 一样为这些命令行脚本提供参数。比如在针对某些日期做统计的脚本,就需要传递一个日期给它,这样我们就统计指定日期的一些数据。这类需求...[2021/5/7]
PHP中垃圾回收相关函数的使用
之前我们已经学习过 PHP 中的引用计数以及垃圾回收机制的概念。这些内容非常偏理论,也是非常常见的面试内容。而今天介绍的则是具体的关于垃圾回收的一些功能函数。关于之前的两篇介绍文章,大家可以到文章底部查看。
再谈循环引用以及强制清理循环引用
我们为什么要强调 “循环引用” 呢?其实,在默...[2021/5/7]
PHP 配置Xdebug调试工具PHP 配置Xdebug调试工具
下载Xdebug
官方下载地址:https: xdebug.org/download#releases,以 Windows 为例,如下图。
带有 TS 的为线程安全。
配置php.ini
将下载好的 dll 文件放在 PHP 安装目录下的 ext 目录下:
打开 php...[2021/5/6]
ThinkPHP 对接支付宝支付接口
1) 登录支付宝,选择【我是开发者】进入支付宝开放中台,没有入驻开发平台账户的,会自动跳转到入驻注册界面,或者点击【进入管理中心】也会跳转至入驻注册界面。
2) 进入【管理中心】,选择控制台【开发服务】,点击【研发服务】(沙箱即支付宝开放平台为开发人员提供好的测...[2021/5/6]
PHP CentOS下安装PHP及部署ThinkPHP
本文操作环境:CentOS 7 64位
下载PHP源码
百度搜索PHP,进入官网下载页面。
如我下载的是 php-7.2.33.tar.gz ,将之上传到CentOS的 /home/local/ 目录下。
yum安装依赖包
yum -y install libx...[2021/5/6]
[PHP] php5.3之前-php5.3-php7垃圾回收机制的进化
php5.3之前的版本 , 只有引用计数 , 如果遇到循环引用的情况 , 会出现内存泄露
比如这样的代码:
<?php
$arr=array("tao");
$arr[]=$a;
unset($arr)
虽然unset了$arr , 但是内存并不能回收 , 因为有...[2021/5/6]
PHP RabbitMQ消息队列演示代码PHP RabbitMQ消息队列演示代码
先决条件
已安装PHP,Erlang和RabbitMQ。
安装PHP环境下使用的RabbitMQ第三方库——php-amqplib
使用composer安装php-amqplib库。
生产者代码
<?php
require ''vendor/autoload.php'';
use ...[2021/5/6]
如何用PHP编写简单的api数据接口
一、编写接口所需几样工具或软件(均是win7+64位)
1.phpStudy、SQLyog和编码工具(sublime text/webStorm/vs code均可,按自己习惯来);
2.安装好phpStudy之后,打开软件,点击启动;如果Apache和MySQL右边的显示都是绿色的,那么说...[2021/4/19]
Centos下搭建LAMP+PHP
Centos下搭建LAMP+PHP
LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:
Linux,操作系统
Apache,网页服务器
MariaDB或MySQL,数据库管理系统或数据库服务器
PHP、Perl或Python,脚本语言
虽然这些开源程序本身...[2021/4/19]
php小结
函数定义常量
define define(“PI”,3.14);
使用const关键字
const PI= 3;
特殊常量
双下划线开始+常量名+双下划线结束,称为魔术常量,魔术常量的值通常会跟着环境变化,但是不能改变 __DIR__:当前被执行脚本所在电脑的绝对路径 __F...[2021/4/6]
[PHP]使用策略模式消除if else
策略模式(Strategy Pattern)定义了一组策略,分别在不同类中封装起来,每种策略都可以根据当前场景相互替换,从而使策略的变化可以独立于操作者。
大家都写过这样的代码
if (conditionA) {
逻辑1
} else if (conditionB) {
逻...[2021/4/6]
[PHP] 使用适配器模式处理数据库对象
适配器模式的定义:
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原来由于接口不兼容而不能一起工作的那此类可以一起工作
包括两种模式:
类适配器模式与对象适配器
类适配器:Adapter类与被适配类是继承关系
对象适配器:Adapter对象与被适配类...[2021/4/6]
[PHP] 解释FastCGI与PHP-FPM的关系
php-fpm是进程管理器 , 属于master-worker多进程的模式
当请求xxx.php文件时 , 每一个子worker进程都是在读取和回应FastCGI协议的内容
fastcgi的方式是,fpm启动运行后 , 会常驻内存监听端口(默认9000) , 当web服务器收到一个请求时,...[2021/3/29]
网站整改公告 团队
为了遵守相关法律法规,合法合规运营,网站进行全面整改,整改工作于2021年3月18日12:00开始,预计于3月25日11:59结束,整改期间全站无法发布任何内容,之前发布的内容重新审核后才能访问,由此给您带来很大的麻烦,请您谅解。
原文链接:http: www.cnblogs.com/Dr...[2021/3/24]