-
PHP设计模式中的单例模式和工厂模式
所属栏目:[PHP教程] 日期:2021-05-23 热度:64
1、工厂模式工厂模式是一种专门用来创建其它对象的类(称为工厂类),根据传递参数的不同,来创建不同类的对象。我们可以使用工厂类创建对象,而不是直接使用 new。 工厂类中至少有一个公共的静态方法(称为工厂方法),静态方法接受一个参数,根据这个参数[详细]
-
PHP namespace中包含的命名空间
所属栏目:[PHP教程] 日期:2021-05-23 热度:132
PHP 中命名空间(namespace)是在 PHP5.3 中加入的,如果你了解过 C++ 的话,那命名空间就不算什么新事物了。不过命名空间在 PHP 当中还是相当重要的。 PHP 命名空间可以解决以下两类问题: 用户编写的代码与 PHP 内部的类/函数/常量或第三方类/函数/常量之[详细]
-
PHP extends:如何继承
所属栏目:[PHP教程] 日期:2021-05-23 热度:154
类的成员都有不同的访问权限,由访问控制关键字来控制的。在 PHP 中,父类所有使用 public 修饰的成员均可以被子类继承。 【示例】定义一个基类,使用另一类来继承这个基类,同时在尝试使用子类调用基类中的成员方法。 ?php class Website{ public $name, $[详细]
-
PHP排序算法之希尔排序(Shell Sort)实例分析
所属栏目:[PHP教程] 日期:2021-05-23 热度:139
本篇章节讲解PHP排序算法之希尔排序(Shell Sort)。分享给大家供大家参考,具体如下: 基本思想: 希尔排序是指记录按下标的一定增量分组,对每一组使用 ,随着增量逐渐减少,每组包含的关键字越来越多,当增量减少至 1 时,整个序列恰好被分成一组,算法便[详细]
-
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层
所属栏目:[PHP教程] 日期:2021-05-23 热度:110
副标题#e# 本篇章节讲解PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历 :对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次。要特别注意的是,二叉树的深[详细]
-
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
所属栏目:[PHP教程] 日期:2021-05-23 热度:99
本篇章节讲解PHP排序算法之冒泡排序(Bubble Sort)实现方法。分享给大家供大家参考,具体如下: 基本思想: 冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 最简单排序实现: 我们先来看看[详细]
-
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
所属栏目:[PHP教程] 日期:2021-05-23 热度:87
本篇章节讲解PHP排序算法之简单选择排序(Simple Selection Sort)。分享给大家供大家参考,具体如下: 基本思想: 通过 n - i 次关键字间的比较,从 n - i + 1 个记录中选出关键字最小的记录,并和第 i (1 算法实现: 运行结果: int(1) [1]=> int(2) [2]=[详细]
-
PHP SPL 被遗落的宝石【SPL应用浅析】
所属栏目:[PHP教程] 日期:2021-05-23 热度:84
本篇章节讲解PHP SPL应用方法。分享给大家供大家参考,具体如下: Rafael Dohms 上面的篇文章 让我为之惊艳,忍不住就翻译了下来,同时补充了部分内容。 SPL,PHP 标准库(Standard PHP Library) , 似乎众多的 PHP 开发人员基本没有使用它,甚至闻所未闻[详细]
-
详解php curl带有csrf-token验证模拟提交方法
所属栏目:[PHP教程] 日期:2021-05-23 热度:166
通常为了安全会在表单里加入一个随机的token值来防止csrf攻击。 要想模拟提交有token验证的网站其实也不难。 1.通过正则获取token 2.带上获取到的token模拟提交 下面是一个成功的例子 目录结构 getForm.php $post['token'] = $match[1]; $post['name'] = '[详细]
-
PHP迭代器和迭代的实现与使用方法分析
所属栏目:[PHP教程] 日期:2021-05-23 热度:93
本篇章节讲解PHP迭代器和迭代的实现与使用方法。分享给大家供大家参考,具体如下: PHP的面向对象引擎提供了一个非常聪明的特性,就是,可以使用 foreach() 方法通过循环方式取出一个对象的所有属性,就像数组方式一样,代码如下: '.$val){ echo '$'.$key[详细]
-
PHP实现数据库的增删查改功能及完整代码
所属栏目:[PHP教程] 日期:2021-05-23 热度:155
本文用到:jquery、tp框架 TP_3.2.2/Application/Home/Controller/StuController.class.php display("school/stu"); } public function getdata(){ $Studata = M('stu'); $data['id']=''; $data['name']=I('get.name'); $data['age']=I('get.age'); $data[[详细]
-
PHPMAILER实现PHP发邮件功能
所属栏目:[PHP教程] 日期:2021-05-23 热度:75
副标题#e# 本文实例为大家分享了PHPMAILER实现PHP发邮件功能的具体代码,供大家参考,具体内容如下 第一步: 打开网址,PHPMailer 需要 PHP 的 sockets 扩展支持,而登录 QQ 邮箱 SMTP 服务器则必须通过 SSL 加密的, PHP 还得包含 openssl 的支持。 第二步[详细]
-
php-app开发接口加密详解
所属栏目:[PHP教程] 日期:2021-05-23 热度:137
自己平时工作中用到的一套接口加密规则,记录下来以后用: $xpp_key = "xxx"; //接收参数param,将结果解析json得到参数数组 $param = json_decode($_POST['param'],true); //取出sign,去掉参数数组中的sign $client_sign = $param['sign']; unset($param['[详细]
-
PHP代码重构方法漫谈
所属栏目:[PHP教程] 日期:2021-05-23 热度:68
副标题#e# 本文实例分析了PHP代码重构方法。分享给大家供大家参考,具体如下: 随着 PHP 从一种简单的脚本语言转变为一种成熟的编程语言,一个典型的 PHP 应用程序的代码库的复杂性也随之增大。为了控制对这些应用程序的支持和维护,我们可以使用各种测试工[详细]
-
PHP实现负载均衡下的session共用功能
所属栏目:[PHP教程] 日期:2021-05-23 热度:187
本篇章节讲解PHP实现负载均衡下的session共用功能。分享给大家供大家参考,具体如下: 最近忙于开发台湾运动彩券第四版的程序,所以已经很久没有上来写东西了,今天随便写点东西和大家分享. 首先说一下负载均衡,相信大家都知道负载均衡可以很好地解决网站大[详细]
-
php无限级评论嵌套实现代码
所属栏目:[PHP教程] 日期:2021-05-23 热度:58
我在设计BB的过程中,也一直在思考是否可以不通过递归来实现无限级分类的结构展现和父子结构查找,因为如果不对这里的算法进行优化后果可能是致命的!试想一下,一篇文章如果评论数为300,按正常的递归算法,至少就得查询数据库301次,而且还是在没有任何[详细]
-
PHP闭包定义与使用简单示例
所属栏目:[PHP教程] 日期:2021-05-23 热度:85
本篇章节讲解PHP闭包定义与使用。分享给大家供大家参考,具体如下: 再来一个实例 更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》、 希望本文所述对大家PHP程序设计有所帮助。[详细]
-
PHP如何避免错误
所属栏目:[PHP教程] 日期:2021-05-22 热度:166
PHP 中屏蔽错误的方法有 3 中,下面就来分别介绍一下。 1、使用错误控制运算符:@PHP 支持使用错误控制运算符@。将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都将被忽略掉。 如果用 set_error_handler() 设定了自定义的错误处理函数,这[详细]
-
PHP连接数据库的方法
所属栏目:[PHP教程] 日期:2021-05-22 热度:69
在此之前,我们需要确保开启了 PHP 中的 mysqli 扩展。以 Windows 系统为例,开启 mysqli 扩展就是将 php.ini 配置文件中extension=mysqli(php7)或extension=php_mysqli.dll(php5)一项的注释去掉即可。 注意:在学习 PHP 操作 MySQL 数据库的过程中,会[详细]
-
PHP7中的错误改正
所属栏目:[PHP教程] 日期:2021-05-22 热度:141
这种 Error 异常可以像 Exception 异常一样被第一个匹配的 try catch 语句块所捕获。如果没有匹配的 catch 语句块,则调用异常处理函数(事先通过 set_exception_handler() 注册)进行处理。如果尚未注册异常处理函数,则报告为一个致命错误(Fatal Error)[详细]
-
PHP set_error_handler包含的自定义BUG处理函数
所属栏目:[PHP教程] 日期:2021-05-22 热度:145
用户自定义函数的格式如下: error_handler(int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]]) 其中: 第一个参数 $errno 表示错误的级别,是一个 integer 类型; 第二个参数 $errstr 表示错误的信息,是一个 str[详细]
-
PHP错误日志的配置和小技巧
所属栏目:[PHP教程] 日期:2021-05-22 热度:165
我们可以在单独的文本文件中将错误报告作为日志记录。错误日志的记录,可以帮助开发人员或者管理人员查看系统是否存在问题。如果需要将程序中的错误报告写入错误日志中,只要在 PHP 的配置文件中,将配置项 log_errors 开启即可。 错误报告默认会记录到 Web[详细]
-
分析PHP错误类型
所属栏目:[PHP教程] 日期:2021-05-22 热度:184
? 上面代码中第 4 行末尾省略了;,所以运行上面的代码会显示如下错误信息: Parse error: syntax error, unexpected echo (T_ECHO) in D:WWWindex.php on line 5 从上面的示例和运行结果可以看出,语法错误会阻止程序继续向下执行。只有解决了这些错误后[详细]
-
PHP异常处理教学篇
所属栏目:[PHP教程] 日期:2021-05-22 热度:95
异常处理的加入使得在 PHP 程序中排查错误、捕获异常更加简单容易,也使得 PHP 程序在健壮性方面有很大改善和提高。异常处理在 PHP 中的具体体现就是,PHP 提供了一个名叫 Exception 的类完成对 PHP 程序异常的处理,这个类包含了一些处理异常的函数,这些[详细]
-
PHP利用Cookie落地自动登陆
所属栏目:[PHP教程] 日期:2021-05-22 热度:86
副标题#e# function index(){ $logout = isset($_POST[logout])?$_POST[logout]:; $user = isset($_COOKIE[user])?$_COOKIE[user]:; $rem = isset($_COOKIE[remember])?$_COOKIE[remember]:; if($logout == true){ //判断是否执行退出登陆 logout(); }else[详细]