php技巧

php7 错误处理机制修改实例分析

2020-05-25
本文实例讲述了php7 错误处理机制修改.分享给大家供大家参考,具体如下: 一.现在有两个异常类:Exception and Error. PHP7现在有两个异常类,Exception and Error.这两个类都实现了一个新的接口:Throwable.在您的异常处理代码中,类型暗示可能需要调整下. 二.一些致命错误和可恢复致命错误改为抛出Error对象. 有一些致命错误和可恢复致命错误现在改为报出Error对象.Error对象是和Exception独立的,它们无法被常规的try/catch扑

php7 list()、session及其他模块的修改实例分析

2020-05-24
本文实例讲述了php7 list().session及其他模块的修改.分享给大家供大家参考,具体如下: 一.list()不再按照相反的顺序赋值 list($array[], $array[], $array[]) = [1, 2, 3]; var_dump($array); 上面的代码会返回一个数组:$array == [1, 2, 3] 而不是之前的 [3, 2, 1] 注意:只是赋值的顺序发生变化,赋的值还是和原来一样的. list($a, $b, $c) = [1, 2, 3]; // $

php7 新增功能实例总结

2020-05-23
本文实例总结了php7 新增功能.分享给大家供大家参考,具体如下: 一.核心 增加了group use语法声明.RFC: https://wiki.php.net/rfc/group_use_declarations 增加了null合并运算符??.RFC: https://wiki.php.net/rfc/isset_ternary 64位PHP7字符串长度可以超过2^31次方字节. 增加了Closure::call()方法. 双引号字符串和heredocs里面支持使用\u{xxxxx}来声明u

php7 参数、整形及字符串处理机制修改实例分析

2020-05-22
本文实例讲述了php7 参数.整形及字符串处理机制修改.分享给大家供大家参考,具体如下: 参数处理机制修改 一.重复参数命名不再支持. 重复的参数命名不再支持.比如下面的代码执行的时候会报错: public function foo($a, $b, $unused, $unused) { // ... } 编者按:应该没有人这样用吧. 二.func_get_arg和func_get_args()调整 func_get_arg()和func_get_args()这两个方法返回参数当前的值,而不是传

PHP7生产环境队列Beanstalkd用法详解

2020-05-18
应用场景 为什么要用呢,有什么好处?这应该放在最开头说,一件东西你只有了解它是干什么的,适合干什么,才能更好的与自己的项目相结合,用到哪里学到哪里,学了不用等于不会,我们平时就应该多考虑一些这样的问题:自己做个什么项目功能能跟 xx 技术相结合呢?这个 xx 技术放在这种业务场景下行不行呢?而不是 "学了这个 xx 技术能干嘛呢,公司现在也没有用这个的呀,学了也没用啊",带着这样心情去学习 xx 技术,肯定很痛苦. 队列大家都知道是将一些耗时的操作先不去做,先埋点,再异步去处理,这样对

PHP项目多语言配置平台实现过程解析

2020-05-17
这个月用ant design的方式重构了我在15年的时候写的一个给主端项目写的多语言配置后台.发现当时的设计很"深",深到有些功能根本就没用过,根据这几年的使用情况,重构了这一版本,无论是体验上还是实用性上都有所提高.今天抽时间把当时的一些想当然的需求拿出来总结下吧: 使用的技术 我们的项目主要是PHP为主要开发语言.使用gettext扩展实现国际化的.即通过人工的方式按照规则写入.po文件,然后调用某函数生成.mo 文件,放到生产环境的文件夹下,然后在代码里初始化一些内容进行引用.

PHP date_default_timezone_set()设置时区操作实例分析

2020-05-15
本文实例讲述了PHP date_default_timezone_set()设置时区操作.分享给大家供大家参考,具体如下: <?php echo function_exists(date_default_timezone_set)."<br>";//在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名 echo date('Y-m-d H:i:s')."<br>";//默认时区的时间 echo date_default_t

php数值计算num类简单操作示例

2020-05-13
本文实例讲述了php数值计算num类简单操作.分享给大家供大家参考,具体如下: ceil(float $value);//返回不小于 value 的下一个整数,value 如果有小数部分则进一位 <?php echo ceil(4.3); // 5 echo ceil(9.999); // 10 echo ceil(-3.14); // -3 ?> floor(float $value);//返回不大于 value 的最接近的整数,舍去小数部分取整. <?php echo floor(4

PHP 数组操作详解【遍历、指针、函数等】

2020-05-13
本文实例总结了PHP 数组操作.分享给大家供大家参考,具体如下: 数组 数据由元素组成,元素由键和值组成 数组分类 关联数组 关联数组,元素的下标与元素的值存在逻辑上的关系,称之为关联数组.指的是,键和值之间存在管理. $a1 = array('name' => '李寻欢', 'age' => 34); 索引数组 索引数组,元素的值和下标不存在逻辑关系,而下标只表示值索引位置. $a1 = array('李寻欢',34); 数组遍历 所要的完成遍历数组,需要依次得到每个元素的信息(键的信息和值

PHP数组array类常见操作示例

2020-05-13
本文实例讲述了PHP数组array类常见操作.分享给大家供大家参考,具体如下: array_merge($arr1,$arr2....);//合并一个或多个数组 例: 1. <?php $beginning = 'foo'; $end = array(1 => 'bar'); $result = array_merge((array)$beginning, (array)$end); print_r($result); ?> 以上例程会输出: Array     (         [0

如何通过PHP实现Des加密算法代码实例

2020-05-09
如何通过PHP实现Des加密算法代码实例 注:php7以上不支持了,因为php7去掉了某些函数, 另外变量的{}要改为[] <?php class Des { /** * 加密方法 * * @param string $str 需要加密的内容 * @param string $key 密钥 * @param bool $toBase64 是否base64 * return string */ public function encrypt($str, $key, $toBase64=true)

通过PHP实现获取访问用户IP

2020-05-08
在php中自带了一个非常的简单的获取IP地址的全局变量,很多初学都获取IP都使用它了,但是对于这些我们一般用法是满足了,但是对于要求高精度这个函数还是不行的. 这个是最简单的方法,对于开了透明代理之类的是没有办法的,如果内网访问也不能读取正确的外网IP,不过很省力就是了: $ip = $_SERVER["REMOTE_ADDR"]; 搞定~ 上面方法用来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址 要

php变量与字符串的增删改查操作示例

2020-05-07
本文实例讲述了php变量与字符串的增删改查操作.分享给大家供大家参考,具体如下: 变量的使用 <?php //告诉浏览器以什么编码方式解析什么类型的文档,防止中文乱码 header("Content-type: text/html; charset=utf-8"); // 整型的例子 // 声明整型 $var=123; // 输出一个或者多个字符串 echo $var; //但因变量的详细信息,可以一次打印一个或者多个变量的详细信息 // H:\dev\wamp64\www\de

禁止直接访问php文件代码分享

2020-05-04
如何禁止别人直接访问php文件 可以通过判断某一个常量是否被定义或定义的值是否相同,如果未被定义或值不相同则停止脚本运行. defined('IS_ALLOW') or die('禁止访问!'); 访问结果:禁止访问! 如果需要在其它php文件中进行引用,可以先将常量定义后在进行引用. A-jb51.php defined('IS_ALLOW') or die('禁止'); echo "访问成功!"; B-jb51.php define('IS_ALLOW', true); requi

PHP数组与字符串互相转换实例

2020-05-03
PHP 数组转字符串,与字符串转数组 <?php $array = array('lastname', 'email', 'phone'); $comma_separated = implode(",", $array); echo $comma_separated; // lastname,email,phone // Empty string when using an empty array: var_dump(implode('hello', array())); //

php输出形式实例整理

2020-05-03
php中有几种输出形式 在php中有5种输出形式,分别是echo.print_r.print.var_dump和die. echo 只能输出字符串等单一数据 不能输出数据类型 不能输出数组等多种数据. print() 只能输出字符串等单一数据 不能输出数据类型 不能输出数组等多种数据有返回值true/false. print_r() 既能输出字符串等单一数据又能输出数组等多种数据 但是不能输出数据类型. var_dump() 既能输出字符串等单一数据又能输出数组等多种数据 又能输出数据类型. d

php将字符串转换为数组实例讲解

2020-05-02
php将字符串转换为数组 在php中通过使用"explode函数",将字符串转换为数组,该函数的用法为"explode(delimiter,string)",其参数delimiter表示为边界上的分隔字符,参数string表示为输入的字符串. explode说明 explode ( string $delimiter , string $string [, int $limit ] ) : array 此函数返回由字符串组成的数组,每个元素都是 string 的一个

PHP设计模式之 策略模式Strategy详解【对象行为型】

2020-04-30
本文实例讲述了PHP设计模式之 策略模式Strategy.分享给大家供大家参考,具体如下: 1.概述 在软件开发中也常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能.如查找.排序等,一种常用的方法是硬编码(Hard Coding)在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法:当然也可以将这些查找算法封装在一个统一的方法中,通过if-else-或者case

php如何获取Http请求

2020-04-29
php获取Http请求的方法 $_SERVER介绍 $_SERVER是一个包含了诸如头信息(header).路径(path).以及脚本位置(script locations)等等信息的数组. 获取Http请求的方法示例 $req_method = $_SERVER['REQUEST_METHOD']; echo $req_method; 实例补充: socket方式 使用套接字建立连接,拼接 HTTP 报文发送数据进行 HTTP 请求. 一个 GET 方式的例子: <?php $fp = fso

PHP设计模式概论【概念、分类、原则等】

2020-04-28
本文实例讲述了PHP设计模式.分享给大家供大家参考,具体如下: 1. 设计模式 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样. 模式的经典定义:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方