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

13

vue+node+mongodb 搭建一个完整博客

Vue + Node + Mongodb 开发一个完整博客流程

前言

前段时间刚把自己的个人网站写完, 于是这段时间因为事情不是太多,便整理了一下,写了个简易版的博客系统
服务端用的是 koa2框架 进行开发

技术栈

Vue + vuex + element-ui + webpack + nodeJs + koa2 + mongodb


目录结构讲解 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

15

程序员的快速开发框架:Github上10大优秀的开源后台控制面板

程序员的快速开发框架:Github上10大优秀的开源后台控制面板,开发框架,开源框架

e00d23507e9a44ade358230b1e1f3ac4.jpg-wh_651x-s_1785554554

Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制面板可以给开发者使用,那么有哪些优秀的开源免费的控制面板呢?我在 Github 上收集了一些优秀的后台控制面板,并总结得出 Top 10。 Continue reading

06

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

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

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