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

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

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

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

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

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

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

15

thinkCMF自定义钩子hook不能使用的解决办法

thinkCMF自定义钩子hook不能使用的解决办法

初识thinkCMF,有很多的不了解的逻辑关系。

安装好thinkCMF,在官网下载安装了一些插件,其中安装了个自动缩略图的插件。

但是发布文章后没有实现其功能,不解。设置断点各种测试,发现根本没有进入安装的插件。

最后,进入了管理员后台>>钩子管理,发现上面有个《同步钩子》按钮,点了下,又卸载了一下插件,再安装插件,测试,成功解决。 Continue reading

11

thinkphp 语法错误: unexpected ‘?>’

thinkphp 语法错误: unexpected ‘?>’

在使用thinkCMF时,下载安装的评论插件中,打开页面会有这种报错。

原因是在模板中使用了这种代码{$vo.create_time|date='Y-m-d H:i:s',###},根源的原因没去查,看报错提示应该是那三个井号(###)在模板编译的时候没有被替换掉,但是这种伪php代码其实完全可以不用使用的,直接使用{date('Y-md H:i:s',$vo.create_time)}不是更直观,更好吗。何必弄那么多的脱裤子放屁的代码在模板里!!! Continue reading

16

thinkphp+redis实现秒杀功能

记录下php+redis实现商城秒杀功能。

1,安装redis,根据自己的php版本安装对应的redis扩展(此步骤简单的描述一下)

1.1,安装 php_igbinary.dll,php_redis.dll扩展此处需要注意你的php版本如图:

20190216161512

1.2,php.ini文件新增 extension=php_igbinary.dll;extension=php_redis.dll两处扩展

ok此处已经完成第一步redis环境搭建完成看看phpinfo Continue reading

06

解决thinkphp5不能给某模块单独设置调试模式

解决thinkphp5不能给某模块单独设置调试模式
解决tp5无法单独设置某个模块开启或关闭DEBUG
关闭thinkphp5的追踪模式(右下角的图标)

由于项目开发涉及调用API,所以需要在实际环境中制作与调试。那么现在网站前台已经完成,域名可能会有用户访问,为了防止被图谋不轨的人利用了DEBUG信息,需要对网站前台模块禁用DEBUG模式和追踪模式,后台还在开发需要开启DEBUG模式和追踪模式。可是thinkphp5只能配置全局的调试模式,在文件/application/config.php中配置参数app_debug和app_trace,那么就只好自己动手改了(本着一个思想就是不能动thinkphp5核心文件)。 Continue reading

十一 30

thinkphp5 使用sdk,第三方接口,淘宝客信息查询接入

thinkphp5 使用sdk,第三方接口,淘宝客信息查询接入