-
简要剖析PHP的Yii框架的组件化机制的基础知识
所属栏目:[PHP教程] 日期:2022-02-24 热度:189
组件是 Yii 应用的主要基石。是 yii/base/Component 类或其子类的实例。三个用以区分它和其它类的主要功能有: 属性(Property) 事件(Event) 行为(Behavior) 或单独使用,或彼此配合,这些功能的应用让 Yii 的类变得更加灵活和易用。以小部件 yii/jui/D[详细]
-
分析PHP的Yii框架中cookie和session功能的相关操作
所属栏目:[PHP教程] 日期:2022-02-24 热度:57
Sessions 和 请求 和 响应类似, 默认可通过为yii/web/Session 实例的session 应用组件 来访问sessions。 开启和关闭 Sessions 可使用以下代码来开启和关闭session。 $session = Yii::$app-session; // 检查session是否开启 if ($session-isActive) ... //[详细]
-
解读PHP的Yii框架中请求和响应的处理流程
所属栏目:[PHP教程] 日期:2022-02-24 热度:123
一、请求(Requests) 请求:一个应用的请求是用 yii/web/Request 对象来表示的,该对象提供了诸如 请求参数(译者注:通常是GET参数或者POST参数)、HTTP头、cookies等信息。 默认情况下,对于一个给定的请求,你可以通过 request application component 应[详细]
-
PHP的Yii框架中行为的定义和绑定方法讲解
所属栏目:[PHP教程] 日期:2022-02-24 热度:137
定义行为 要定义行为,通过继承 yii/base/Behavior 或其子类来建立一个类。如: namespace app/components; use yii/base/Behavior; class MyBehavior extends Behavior { public $prop1; private $_prop2; public function getProp2() { return $this-_prop[详细]
-
PHP的Yii框架中移除组件所绑定的行为的办法
所属栏目:[PHP教程] 日期:2022-02-24 热度:96
要移除行为,可以调用 yii/base/Component::detachBehavior() 方法用行为相关联的名字实现: $component-detachBehavior(myBehavior1); 也可以移除全部行为: $component-detachBehaviors(); 这上面两种方法,都会调用到 yii/base/Behavior::detach() ,其代[详细]
-
详解PHP的Yii框架中组件行为的属性注入与方法注入
所属栏目:[PHP教程] 日期:2022-02-24 热度:51
行为的属性和方法注入原理 上面我们了解到了行为的用意在于将自身的属性和方法注入给所依附的类。 那么Yii中是如何将一个行为 yii/base/Behavior 的属性和方法, 注入到一个 yii/base/Component 中的呢? 对于属性而言,是通过 __get() 和 __set() 魔术方法[详细]
-
PHP使用SOAP扩展实现WebService的办法
所属栏目:[PHP教程] 日期:2022-02-24 热度:129
本文实例讲述了PHP使用SOAP扩展实现WebService的方法。分享给大家供大家参考,具体如下: 最近在一个PHP项目中对接外部接口涉及到WebService,搜索引擎上相关文章不是很多,找到的大都是引用一个号称很强大的开源软件NuSOAP(下载地址:http://sourceforge.n[详细]
-
PHP获取日期对应星期,一周日期,星期开始与结束日期的办法
所属栏目:[PHP教程] 日期:2022-02-24 热度:195
本文实例讲述了PHP获取日期对应星期、一周日期、星期开始与结束日期的方法。分享给大家供大家参考,具体如下: /* * 获取日期对应的星期 * 参数$date为输入的日期数据,格式如:2018-6-22 */ function get_week($date) { //强制转换日期格式 $date_str = dat[详细]
-
PHP实现的通过参数生成MYSQL语句类完整实例
所属栏目:[PHP教程] 日期:2022-02-24 热度:186
本文实例讲述了PHP实现的通过参数生成MYSQL语句类。分享给大家供大家参考,具体如下: 这个类可以通过指定的表和字段参数创建SELECT ,INSERT , UPDATE 和 DELETE 语句。 这个类可以创建SQL语句的WHERE条件,像LIKE的查询语句,使用LEFT JOIN和ORDER 语句. ?p[详细]
-
Linux环境下php实现给网站截图的方法
所属栏目:[PHP教程] 日期:2022-02-24 热度:132
本文实例讲述了Linux环境下php实现给网站截图的方法。分享给大家供大家参考,具体如下: 第一步:下载wkhtmltopdf [root@iZ94aawoublZ ~]# wget http://download.gna.org/wkhtmltopdf/0.12/0.12.3/wkhtmltox-0.12.3_linux-generic-amd64.tar.xz 第二步:解压[详细]
-
php读取torrent种子文件内容的方法
所属栏目:[PHP教程] 日期:2022-02-24 热度:97
本文实例讲述了php读取torrent种子文件内容的方法。分享给大家供大家参考,具体如下: ?php /** * Class xBEncoder * Author: Angus.Fenying * Version: 0.1 * Date: 2014-06-03 * * This class helps stringify or parse BENC * codes. * * All Copyrights[详细]
-
PHP实现的限制IP投票程序IP来源分析
所属栏目:[PHP教程] 日期:2022-02-24 热度:102
本文实例分析了PHP实现的限制IP投票程序。分享给大家供大家参考,具体如下: 接到一个投票活动的需求,需要做IP限制,每个IP限制一定的投票机会。我在搜索引擎上搜索了关键词:PHP客户端IP ,结果基本上都是以下内容: if(getenv(HTTP_CLIENT_IP) strcasecmp[详细]
-
php遍历解析xml字符串的方法
所属栏目:[PHP教程] 日期:2022-02-24 热度:151
本文实例讲述了php遍历解析xml字符串的方法。分享给大家供大家参考,具体如下: ?php $content = xml ?xmlxml= version=1.0 encoding=UTF-8 ?= test global_setting ping_protocolHTTP/ping_protocol ping_port80/ping_port ping_path/index.html/ping_path[详细]
-
php基于dom实现的图书xml格式数据示例
所属栏目:[PHP教程] 日期:2022-02-24 热度:50
这篇文章主要介绍了php基于dom实现的图书xml格式数据,结合实例形式分析了php数组转换xml格式数据的相关操作技巧,需要的朋友可以参考下 本文实例讲述了php基于dom实现的图书xml格式数据。分享给大家供大家参考,具体如下: ?php $books = array(); $books [][详细]
-
PHP中常见的密码处理方式和建议总结
所属栏目:[PHP教程] 日期:2022-02-24 热度:85
前言:在使用PHP开发Web应用的中,很多的应用都会要求用户注册,而注册的时候就需要我们对用户的信息进行处理了,最常见的莫过于就是邮箱和密码了,本文意在讨论对密码的处理:也就是对密码的加密处理。 密码安全的重要性我们就不用再去强调,随着在线攻击的[详细]
-
PHP实现微信申请退款功能
所属栏目:[PHP教程] 日期:2022-02-24 热度:132
本文实例为大家分享了PHP实现微信申请退款的具体代码,供大家参考,具体内容如下 微信公众号开发文档链接地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4 前面讲了怎么实现微信支付,详见博文:PHP实现微信支付(jsapi支付)流程 和Think[详细]
-
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
所属栏目:[PHP教程] 日期:2022-02-24 热度:53
先给大家介绍下php 与 nginx 的两种处理方式,具体内容如下所示: 1.IP:Port 监听方式 php-fpm docker pull PHP:2.4-alpine nginx.conf fastcgi_pass 127.0.0.1:9000; php-fpm 在容器里的 nginx.conf location /php { proxy_set_header Host $host:$server_p[详细]
-
php中socket服务的模型下的编程方法
所属栏目:[PHP教程] 日期:2022-02-24 热度:115
前面我们花了一段时间来搭建高性能的socket服务,可以同时处理大量的连接,但这是在没有具体业务的情况下。 如果我们启用了一个单进程的server,但里面的一个业务耗时1秒,那么在这1秒内是阻塞的,后续的请求会等待,如果并发三个请求,那么三个请求的执行时间[详细]
-
阿里云直播PHP SDK使用方法解析
所属栏目:[PHP教程] 日期:2022-02-24 热度:76
1、直播云没有单独的SDK,直播部分的SDK是直接封装在CDN的相关的SDK里面 2、针对SDK,没有demo。 3、针对SDK,没有相关的文档说明。 4、针对SDK的说明,网站上面的说明与源码里面的说明完全不一致。 5、针对SDK没有封装那些常用的访问,需要用户组合调用SDK[详细]
-
PHP Opcode缓存加快组件 APC模块安装使用
所属栏目:[PHP教程] 日期:2022-02-24 热度:72
什么是opcode 也许你曾经尝试过用C/C++编写动态内容,虽然开发过程极其繁琐,但为了获得性能提升,这样做或许是值得的,它们可以将动态内容编译成二进制可执行文件,也就是目标代码,由操作系统进程直接装载运行。如今已经很少有人使用C/C++编写动态内容了,[详细]
-
php系统日志切割的示例
所属栏目:[PHP教程] 日期:2022-02-24 热度:123
我习惯设置的日志路径是这样 /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 热度:70
PHP自身没有多线程的,可以借助扩展实现。但是curl_multi* 函数实现了多线程访问网站数据的功能。 步骤总结如下: 第一步:调用curl_multi_init 第二步:循环调用curl_multi_add_handle 这一步需要注意的是,curl_multi_add_handle的第二个参数是由curl_init[详细]
-
php 常用header常用示例
所属栏目:[PHP教程] 日期:2022-02-24 热度:95
这里记录下常用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 热度:59
代码审计至少包含两个方面首先要确定代码的目的或功能;另外就是检查代码的可读性,即是否更利于理解和维护。 或许你审计过很多代码,太长的变量名确实很让人抓狂。不仅影响了代码的清晰度,而且过长的变量让你的代码难以扫描,迫使更多的换行。 如何给变量[详细]
-
PHP字符变量奇怪现象的解析
所属栏目:[PHP教程] 日期:2022-02-24 热度:120
首先神奇的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[详细]