14

ThinkPHP5.1门面(Facade.php)

门面(Facade
门面为容器中的类提供了一个静态调用接口,相比于传统的静态方法调用, 带来了更好的可测试性和扩展性,你可以为任何的非静态类库定义一个facade类。
例:
1.定义一个Test类 –> 有一个hello动态方法

2.接下来,我们给这个类定义一个静态代理类app\facade\Test(这个类名不一定要和Test类一致,但通常为了便于管理,建议保持名称统一)。 Continue reading

05

Composer采集功能扩展插件QueyListy

thinkphp thinkCMF Composer采集功能扩展插件QueyListy

安装 composer require jaeger/querylist

——————————

QueryList 简介

QueryList是一套简洁、优雅、可扩展的PHP采集工具(爬虫),基于phpQuery。

特性

  • 拥有与jQuery完全相同的CSS3 DOM选择器
  • 拥有与jQuery完全相同的DOM操作API
  • 拥有通用的列表采集方案
  • 拥有强大的HTTP请求套件,轻松实现如:模拟登陆、伪造浏览器、HTTP代理等意复杂的网络请求
  • 拥有乱码解决方案
  • 拥有强大的内容过滤功能,可使用jQuey选择器来过滤内容
  • 拥有高度的模块化设计,扩展性强
  • 拥有富有表现力的API
  • 拥有高质量文档
  • 拥有丰富的插件
  • 拥有专业的问答社区和交流群

通过插件可以轻松实现诸如:

  • 多线程采集
  • 采集JavaScript动态渲染的页面 (PhantomJS/headless WebKit)
  • 图片本地化
  • 模拟浏览器行为,如:提交Form表单
  • 网络爬虫
  • …..

  Continue reading

01

php时间加减,加一天,一小时

php时间加减,php时间加一天,php时间一小时

Continue reading

01

thinkphp5.1中容器(Container)和门面(Facade)的实现

thinkphp 5.1中引入了容器(Container)和门面(Facade)这两个新的类

官方文档已经给出了定义:

容器(Container)实现类的统一管理,确保对象实例的唯一性。

门面(Facade)为容器(Container)中的类提供了一个静态调用接口,相比于传统的静态方法调用, 带来了更好的可测试性和扩展性,你可以为任何的非静态类库定义一个facade类。

深入源码,我们来看看它到底是如何实现的: Continue reading

24

composer为原有项目新添加扩展的安全方法

composer为原有项目新添加扩展的安全方法,使用composer require new/package这种方式来安装。

如果需要增加版本号,则composer require "foo/bar:1.0.0"

另外,在手动修改 composer.json 添加扩展包后,composer update new/package 进行指定扩展包更新的方式,也可以正确的安装,不过不建议使用这种方法,因为,一旦忘记敲定后面的扩展包名,就会进入万劫不复的状态。

composer的三个常用命令install, update, require,注意使用环境。 Continue reading

13

百度推送错误提示{“error”:401,”message”:”token is not valid”}

百度推送错误提示{"error":401,"message":"token is not valid"}

按着官方给出的PHP提交数据方法,怎么弄都是上面的提示,曾经放弃过,但是一直过不来那个坎。

这几天有客户来问,要做这个,还给了我一个织梦的百度推送插件,叫我参考。

那插件也是用得百度官方代码,只是做了个封装,没有测试可用性,但是我认为他还是不可用的。

我用重写了脚本,还是不可用。

最后最后的一个测试,恍然大悟,开悟了,哈哈。

就差API地址最后的这个字符&,官方是没有加的,不知道官方代码是在什么环境下可用。

 

08

PHP5.4以上版本htmlspecialchars()输出空的解决办法

PHP5.4以上版本htmlspecialchars()输出空的解决办法

从旧版升级到php5.4,恐怕最麻烦的就是htmlspecialchars这个问题了!当然,htmlentities也会受影响,不过,对于中文站来说一般用htmlspecialchars比较常见,htmlentities非常少用到。

可能老外认为网页普遍应该是utf-8编码的,于是苦了那些用GB2312,GBK编码的中文站……!

gbk字符集下输出为空…utf-8下,输出正常。

为什么呢,原因在于5.4.0对这个函数的变化:

5.4.0 The default value for the encoding parameter was changed to UTF-8.

原因是什么呢? Continue reading

03

函数var_dump()展示不全,出现省略号的解决办法

解决函数var_dump()展示不全,出现省略号的问题,var_dump()输出不完整,带省略号,var_dump()打印内容不全的解决办法

var_dump()函数是php安装模块xdebug后的函数,这个模块可以配置其显示信息参数

打开php.ini文件,找到xDebug的配置内容处,增加如下配置代码:

注意:配置需重启PHP服务才能生效!

 

19

织梦采集到HTML实体后出现乱码保存不全的解决办法

织梦二次开发,织梦采集到HTML实体后出现乱码保存不全,主要是因为这个字符“&”造成的。

解决办法就是把HTML实体转为字符,使用html_entity_decode()函数。

想再转为HTML实体,那使用PHP的htmlentities()函数。

修改方法如下:

1、找到文件:/include/dedecollection.class.php

2、搜索addslashes($v['title']),替换为addslashes(html_entity_decode($v['title']))

注:一共有2处,在1035行(上下)和1118行(上下)

相关阅读:http://mrdede.com/?p=1511