-
详解PHP的Yii框架中组件行为的属性注入与方法注入
所属栏目:[PHP教程] 日期:2022-02-25 热度:91
行为的属性和方法注入原理 上面我们了解到了行为的用意在于将自身的属性和方法注入给所依附的类。 那么Yii中是如何将一个行为 yii/base/Behavior 的属性和方法, 注入到一个 yii/base/Component 中的呢? 对于属性而言,是通过 __get() 和 __set() 魔术方法[详细]
-
PHP使用SOAP扩展实现WebService的办法
所属栏目:[PHP教程] 日期:2022-02-25 热度:192
本文实例讲述了PHP使用SOAP扩展实现WebService的方法。分享给大家供大家参考,具体如下: 最近在一个PHP项目中对接外部接口涉及到WebService,搜索引擎上相关文章不是很多,找到的大都是引用一个号称很强大的开源软件NuSOAP(下载地址:http://sourceforge.n[详细]
-
PHP获取日期对应星期,一周日期,星期开始与结束日期的办法
所属栏目:[PHP教程] 日期:2022-02-25 热度:83
本文实例讲述了PHP获取日期对应星期、一周日期、星期开始与结束日期的方法。分享给大家供大家参考,具体如下: /* * 获取日期对应的星期 * 参数$date为输入的日期数据,格式如:2018-6-22 */ function get_week($date) { //强制转换日期格式 $date_str = dat[详细]
-
PHP7.0新增功能解析
所属栏目:[PHP教程] 日期:2022-02-24 热度:171
这一篇主要是来详细分析php7.0的新增功能。 一、性能与底层 PHP7速度是 PHP5.6 的两倍 php7 最显著的变化就是性能的极大提升,已接近Facebook开发的PHP执行引擎HHVM。在WordPress基准性能测试中,速度比5.6版本要快2~3倍,大大减少了内存占用。PHP7在语言上[详细]
-
PHP如何完成斐波那契数列?
所属栏目:[PHP教程] 日期:2022-02-24 热度:166
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为兔子数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、,简单来说,斐波那契数列就是一系列元素,前两[详细]
-
php中assert和eval的详细说明
所属栏目:[PHP教程] 日期:2022-02-24 热度:164
本篇文章给大家带来的内容是关于php中assert和eval的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 assert 判断一个表达式是否成立。返回true or false; ?php $s = 123; assert(is_int($s)); ? 从这个例子可以看到[详细]
-
PHP与RabbitMQ实现消息队列的完整代码
所属栏目:[PHP教程] 日期:2022-02-24 热度:177
本篇文章给大家带来的内容是关于PHP和RabbitMQ实现消息队列的完整代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 先安装PHP对应的RabbitMQ,这里用的是 php_amqp 不同的扩展实现方式会有细微的差异. php扩展地址: http://pecl.php.ne[详细]
-
php多线程是什么意思
所属栏目:[PHP教程] 日期:2022-02-24 热度:96
PHP在默认的情况下是不支持多线程的,通过安装pthreads扩展,让其参数来指定编译PHP的线程安全方式来使其支持多线程,但是使用的过程中要考虑到线程安全的问题。 线程是操作系统中进行运算调度的最小单位。它被包含在进程中,是进程中的实际运作单位。今天将[详细]
-
php原生上拉加载以及点击加载更多的实现办法
所属栏目:[PHP教程] 日期:2022-02-24 热度:136
本篇文章给大家带来的内容是关于php原生上拉加载以及点击加载更多的实现方法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 设计目的: 一个网站的数据非常多的时候,需要分页,方便浏览,为了方便翻页,那么我们摒弃传统的[详细]
-
PHP浮点数的一个常见情况
所属栏目:[PHP教程] 日期:2022-02-24 热度:101
PHP是一种弱类型语言, 这样的特性, 必然要求有无缝透明的隐式类型转换, PHP内部使用zval来保存任意类型的数值, zval的结构如下(5.2为例): struct _zval_struct { /* Variable information */ zvalue_value value; /* value */ zend_uint refcount; zend_ucha[详细]
-
全面解读PHP的Yii框架里的日志功能
所属栏目:[PHP教程] 日期:2022-02-24 热度:50
Yii页面级日志开启 在 Main.php中 log段添加、下面显示页面日志 array( class=CWebLogRoute, levels=trace, //级别为trace categories=system.db.* //只显示关于数据库信息,包括数据库连接,数据库执行语句 ), 完整如下: log=array( class=CLogRouter, route[详细]
-
深入分析PHP的Yii框架中的event事件机制
所属栏目:[PHP教程] 日期:2022-02-24 热度:53
事件 事件可以将自定义代码注入到现有代码中的特定执行点。附加自定义代码到某个事件,当这个事件被触发时,这些代码就会自动执行。例如,邮件程序对象成功发出消息时可触发 messageSent 事件。如想追踪成功发送的消息,可以附加相应追踪代码到messageSent[详细]
-
PHP5.5迭代生成器用法实例详解
所属栏目:[PHP教程] 日期:2022-02-24 热度:81
本文实例讲述了PHP5.5迭代生成器用法。分享给大家供大家参考,具体如下: PHP5.5引入了迭代生成器的概念,迭代的概念早就在PHP有了,但是迭代生成器是PHP的一个新特性,这跟python3中的迭代生成器类似,看看PHP5.5的迭代生成器如何定义。 function xrange($s[详细]
-
php中socket服务的模型下的编程方法
所属栏目:[PHP教程] 日期:2022-02-24 热度:91
前面我们花了一段时间来搭建高性能的socket服务,可以同时处理大量的连接,但这是在没有具体业务的情况下。 如果我们启用了一个单进程的server,但里面的一个业务耗时1秒,那么在这1秒内是阻塞的,后续的请求会等待,如果并发三个请求,那么三个请求的执行时间[详细]
-
阿里云直播PHP SDK使用方法解析
所属栏目:[PHP教程] 日期:2022-02-24 热度:106
1、直播云没有单独的SDK,直播部分的SDK是直接封装在CDN的相关的SDK里面 2、针对SDK,没有demo。 3、针对SDK,没有相关的文档说明。 4、针对SDK的说明,网站上面的说明与源码里面的说明完全不一致。 5、针对SDK没有封装那些常用的访问,需要用户组合调用SDK[详细]
-
PHP Opcode缓存加快组件 APC模块安装使用
所属栏目:[PHP教程] 日期:2022-02-24 热度:131
什么是opcode 也许你曾经尝试过用C/C++编写动态内容,虽然开发过程极其繁琐,但为了获得性能提升,这样做或许是值得的,它们可以将动态内容编译成二进制可执行文件,也就是目标代码,由操作系统进程直接装载运行。如今已经很少有人使用C/C++编写动态内容了,[详细]
-
php系统日志切割的示例
所属栏目:[PHP教程] 日期:2022-02-24 热度:153
我习惯设置的日志路径是这样 /home/www/logs/域名.log 比如: /home/www/logs/www.Cuoxin.com.log 为了方便管理,日志需要按天保存在一个文件中,并且保留指定天数的日志,超过时间的就删除。 分享一下脚本: #!/usr/bin/php $logdir = /home/www/logs/; // 保[详细]
-
php curl multi 多线程查询的示例
所属栏目:[PHP教程] 日期:2022-02-24 热度:54
PHP自身没有多线程的,可以借助扩展实现。但是curl_multi* 函数实现了多线程访问网站数据的功能。 步骤总结如下: 第一步:调用curl_multi_init 第二步:循环调用curl_multi_add_handle 这一步需要注意的是,curl_multi_add_handle的第二个参数是由curl_init[详细]
-
php 常用header常用示例
所属栏目:[PHP教程] 日期:2022-02-24 热度:82
这里记录下常用header的信息: ?php header(HTTP/1.1 200 OK); // ok 正常访问 header(HTTP/1.1 404 Not Found); //通知浏览器 页面不存在 header(HTTP/1.1 301 Moved Permanently); //设置地址被永久的重定向 301 header(Location: http://www.ruonu.com/);[详细]
-
php给变量取个简短且没歧义的名字
所属栏目:[PHP教程] 日期:2022-02-24 热度:80
代码审计至少包含两个方面首先要确定代码的目的或功能;另外就是检查代码的可读性,即是否更利于理解和维护。 或许你审计过很多代码,太长的变量名确实很让人抓狂。不仅影响了代码的清晰度,而且过长的变量让你的代码难以扫描,迫使更多的换行。 如何给变量[详细]
-
PHP字符变量奇怪现象的解析
所属栏目:[PHP教程] 日期:2022-02-24 热度:159
首先神奇的PHP是支持字符数据类型的,有同学就写了这样一段代码: for ($c = a; $c = z; $c++) { echo $c . ; } 然而结果却不是他想要的a到z a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar a[详细]
-
php获得一个文件夹的mtime的程序
所属栏目:[PHP教程] 日期:2022-02-24 热度:72
php很容易获取到一个文件夹的mtime,可以使用filemtime函数。但文件夹的filemtime由于linux的原因。文件修改时,只会影响他当前的文件夹mtime变化。并不会继续影响文件夹上层的文件夹。所以可能跟真正想得到的文件夹的最后修改时间不同。 看linux机器上的效[详细]
-
PHP提示Class SoapClient not found错误怎么解决
所属栏目:[PHP教程] 日期:2022-02-24 热度:156
要用到 SoapClient, new 了一个提示 Class SoapClient not found, 检查了下 phpinfo, 原因是当初没有编译这个扩展, 只好现在再加上了。 php在调用webservice时,报告如下类似错误: ( ! ) Fatal error: Class SoapClient not found in E:/WebSrv/CI/system/l[详细]
-
php单元测试phpunit入门实例方法
所属栏目:[PHP教程] 日期:2022-02-24 热度:200
这篇文章提供了一些phpunit官方教程没有提到的信息,帮助初学者快速了解php单元测试,在phpunit官网提供了详细的中文教程,可选多种格式下载. phpunit官网地址:https://phpunit.de/ 何为单元测试: 指对软件中的基本单元进行测试,如函数、方法等,以检查其[详细]
-
php和c实现按行读取文件实例代码
所属栏目:[PHP教程] 日期:2022-02-24 热度:181
php与c 实现按行读取文件 前言:感觉很糟糕的一场电话一面竟然给了二面通知,好吧,给自己一个机会也给对方一次机会,题外话。海量数据处理经常涉及到hash将原来文件的每一行散列到子文件中,那如何按行读取文件呢,这里记录一下php和c的实现 很水的一篇,只[详细]