03 2020 档案
摘要:一.什么是 CGI?什么是 FastCGI?php-fpm,FastCGI,Nginx 之间是什么关系? CGI,通用网关接口,用于WEB服务器和应用程序间的交互,定义输入输出规范,用户的请求通过WEB服务器转发给FastCGI进程,FastCGI进程再调用应用程序进行处理,如php解析器,应用程序
阅读全文
摘要:1.get,post 的区别 1、GET在浏览器回退时是无害的,而POST会再次提交请求。2、GET产生的URL地址可以被Bookmark,而POST不可以。3、GET请求会被浏览器主动cache,而POST不会,除非手动设置。4、GET请求只能进行url编码,而POST支持多种编码方式。5、GET
阅读全文
摘要:主要的思想是利用call_user_func_array()和容器结合使用的。 核心代码,理解都在注释中: <?php //reqeuestFacade.php namespace facade{ class Request extends Facade{ public function getFa
阅读全文
摘要:网上有很多解析laravel中间件的实现原理,但是不知道有没有读者在读的时候不明白,作者是怎么想到要用array_reduce函数的? 本文从自己的角度出发,模拟了如果我是作者,我是怎么实现这个中间件功能,又是怎么找到并使用对应的函数。 什么是laravel中间件 Laravel 中间件提供了一种机
阅读全文
摘要:laraveli添加一个或多个用户表,以admin为例。 部分文件内容可能需要根据实际情况修改 创建一个Admin模型 php artisan make:model Admin -m 编写admins表字段 Schema::create('admins', function (Blueprint $
阅读全文
摘要:比较运算符 == (相等运算符) 和 (恒等运算符) 用于比较两个值。他们也被称为 宽松等于 (==) 和 严格等于 ( ) 运算符。 PHP 运算符 PHP 中有很多运算符, 但 == 和 运算符严格或随意执行类似的任务。 如果两个值的类型不同,那么 == 和 会得到 不同的结果。运算速度也会有所
阅读全文
摘要:本篇文章总结了ThinkPHP的几种路由形式,分别是普通模式、PATHINFO、REWRITE和兼容模式,希望对各位学习thinkphp的朋友有帮助! thinkphp官方文档里有详细的说明: ThinkPHP支持的URL模式有四种:普通模式、PATHINFO、REWRITE和兼容模式, 可以设置U
阅读全文
摘要:许多人在学习C语言的时候都写过一些有趣的算法,其实这些算法在PHP中也同样可以实现,甚至有些算法的代码比C语言中还要简洁。 1、一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一
阅读全文
摘要:该扩展包可让你轻松读取和写入简单的 Excel 和 CSV 文件。在后台使用生成器来确保低内存使用,即使在处理大型文件时也是如此。 这是有关如何读取 Excel 或 CSV 的示例。 SimpleExcelReader::create($pathToFile)->getRows() ->each(f
阅读全文
摘要:PHP 代码简洁之道 ( PHP Clean Code)(第一部分) 使用默认参数而不是使用短路运算或者是条件判断 不好的做法: 这是不太好的因为 $breweryName 可以是 NULL. function createMicrobrewery($breweryName = 'Hipster
阅读全文
摘要:介绍 Robert C.Martin's 的 软件工程师准则 Clean Code 同样适用于 PHP。它并不是一个编码风格指南,它指导我们用 PHP 写出具有可读性,可复用性且可分解的代码。 并非所有的准则都必须严格遵守,甚至一些已经成为普遍的约定。这仅仅作为指导方针,其中许多都是 Clean C
阅读全文
摘要:程序员找工作必备 PHP 基础面试题 程序员找工作必备 PHP 基础面试题(二) 程序员找工作必备 PHP 基础面试题 (三) 一、在 HTTP1.0 中,状态吗 500 的含义的是什么?如果返回 “找不到文件” 的提示,则可用 header(函数),其语句为? 500 Internal Ser
阅读全文
摘要:TL;DR: 本文介绍 Laravel 的 FastExcel 组件,文中会对 PHP generators 速览,并给出如何在节约内存的同时结合两者从数据集生成 Excel 文件。 关于 FastExcel Laravel FastExcel 旨在成为 Laravel 风格的 Spout, 目的是
阅读全文
摘要:本文实例展示了ThinkPHP自动填充实现无限级分类的方法,是ThinkPHP常用功能之一,非常具有实用价值。现将完整实例分享给大家,供大家参考。 ThinkPHP无限分类的使用 具体实现步骤如下(本文采用TP框架的3.1.3版本): 第一步:表aoli_cate CREATE TABLE `fen
阅读全文
摘要:确实,PHP 接口是有它的目的的。 它们是契约,是给其他开发人员的说明手册。然而,还是很难理解接口有什么用。 基础 接口是抽象的类,无法直接实例化,但是可被实现。 这是一个基本的例子 interface MyInterface { public function setName(string $na
阅读全文
摘要:在这篇简短的文章中,我想向您提供有关编写可读 PHP 的技巧。 在处理旧代码或通过 PR 提交的代码时,有时会看到以下模式: public function doSomething($someParameter) { /** 可以是任何类型的测试 */ if ($someParameter 0) {
阅读全文
摘要:程序员找工作必备 PHP 基础面试题 程序员找工作必备 PHP 基础面试题(二) 1. 写出下面的程序输出的结果 $str="cd"; $$str="abcde"; $$str.="ok"; echo $cd; 答案:该段代码输出是:abcdeok 2. 写出如下程序的输出结果 $count=5;
阅读全文
摘要:1、我们知道 autoload 可以实现类的自动载入,如何把一个类 splDemo 的方法 autoload 注册成为一个__autoload (关键词:spl) abstract class splDemo { function __autoload($class){ // .... } } 2、
阅读全文
摘要:1、优化 MYSQL 数据库的方法 (1) 选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置 NOT NULL, 例如’省份,性别’, 最好设置为 ENUM (2) 使用连接(JOIN)来代替子查询: (3) 使用联合 (UNION) 来代替手动创建的临时表 (4) 事务处理: (5)
阅读全文
摘要:laradock 中如何安装 Laravel Dusk? 导语 在本地安装 Laravel Dusk 一直失败,查了文档才发现在 laradock 中并不是只需要 composer require 就可以的,还有其他配置。下面记录一下。 配置 laradock 1.切换到 laradock 目录中,
阅读全文
摘要:基础准备 我的使用验算的步骤是 生成数据 -> 记录时间 -> 进行排序 -> 记录时间 -> 验算是否正确 -> 归类时间 那么我们,需要生成数据的函数,达到毫秒的函数,可以测算出是否已经排序成功的函数 首先生成可用测试的随机数据(函数) 这是验算的数据,所以只需要混交的就行 通过传入所需要生成的
阅读全文
摘要:算法的级别 O(1)、O(n)、O(n^2)、O(log n)、O(n log n)这些都是算法时间空间复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。O 后面的括号中有一个函数,指明某个算法的耗时 / 耗空间与数据增长量之间的关系。其中的 n 代表输入数据的量 O (1) 的理解 O
阅读全文
摘要:PHP 7 显著提高了整体性能。实际上主要的特性有 null 合并运算符或返回类型声明。如果你不知道它们,那么你应该去查看 PHP 文档。 这里有一些很少人知道的、可能有用的特性。 相同的命名空间,相同的 use 在 PHP 7 之前,开发者经常这么做: use Universe\Saiyan; u
阅读全文
摘要:对于初学者而言,可能很难理解为什么某些做法更安全。 但是,以下一些技巧可能超出了 PHP 的范围。 始终使用大括号 让我们看下面的代码: if (isset($condition) && true $condition) echo 'this is a success'; 虽然正确,但是你再看看下面
阅读全文
摘要:变量引用 案例: <?php //变量单独引用 $test = "a string!\n"; $quote = &$test; echo $test; //a string! echo $quote;//a string! $quote = "exchange!\n"; echo $test; //
阅读全文
摘要:如果说laravel框架的核心是什么,那么无疑是服务容器。理解服务容器的概念,对于我们使用laravel太重要了,应该说是否理解服务容器的概念是区分是否入门laravel的重要条件。因为整个框架正是在服务容器这一基础上构建起来的。 laravel服务容器就像一个高度自动化的工厂,你需要的东西,定制好
阅读全文
摘要:用户登陆功能是PHP程序设计中常见的需求,本文ThinkPHP实例主要完成注册成功后进入首页的代码编写,并告诉你是如何实现登录用户的功能。 详解ThinkPHP登录功能实例代码 具体步骤: 第一步:在config.php文件中加上: 'USER_AUTH_KEY'=>'authId' 示例如下: (
阅读全文
摘要:PHP对session对象的封装的很好,根据HTTP协议,每个范围网站的访客都可以生成一个唯一的标识符 echo session_id(); //6ed364143f076d136f404ed93c034201<br /> 这个就是统计在线人数的关键所在,只有有这个session_id 也就可以区分
阅读全文
摘要:PHP+jQuery-ui实现的拖动浮动层排序布局并将拖动后的浮动层位置排序结果保存到数据库实例。 首先引入jQuery库和jquery-ui.min.js,接着放置一个拖动时的加载图片,和从数据库读取出来的多个模块拖动层.modules,及#orderlist用于记录模块的排序值 。 <scrip
阅读全文
摘要:php链式操作的关键是在做完操作后要return $this; 一、不使用__call方法实现链式操作 <?php class Sql{ private $sql=array("from"=>"", "where"=>"", "order"=>"", "limit"=>""); public fun
阅读全文
摘要:内容概要 1、安装homebrew 2、通过homebrew安装php7 3、配置apache文件 4、重启apache 安装homebrew homebrew是OSX下的最好的包管理软件(没有之一),而且非常简单易用,包都非常新。这是官方帮助homewbrew,如果你安装了请跳过。同时为确保后面的
阅读全文
摘要:从最开始的使用redis实现的单进程消费的异步任务系统到加入swoole的多进程消费模式,现在,我们的异步任务系统终于又能迈进一步。 因为有了前面两个简单系统的经验,这回基于RabbitMQ的异步任务系统设计的的更加完善,包括多进程消费,异常重试等。 系统介绍 消费端架构图 从图中可以看到,我们这个
阅读全文
摘要:弹幕[dàn mù] (barrage),中文流行词语,指的是在网络上观看视频时弹出的评论性字幕。下面我们就来看一下使用workerman实现简单弹幕的方法。 怎么从一名码农成为架构师的必看知识点:目录大全(持续更新)50W年薪挑战! php代码: <?php use Workerman\Work
阅读全文
摘要:php后端及时推送消息给客户端 原理: 1、建立一个websocket Worker,用来维持客户端长连接 2、websocket Worker内部建立一个text Worker 3、websocket Worker 与 text Worker是同一个进程,可以方便的共享客户端连接 4、某个独立的p
阅读全文
摘要:Contracts Laravel 的契约是一组定义框架提供的核心服务的接口, 例如我们在介绍用户认证的章节中到的用户看守器契约IllumninateContractsAuthGuard 和用户提供器契约IlluminateContractsAuthUserProvider以及框架自带的App\Us
阅读全文
摘要:异常处理是软件开发过程中无法逃避的问题。对于一套设计良好代码高效的程序,出现异常的可能性会比较低,但这并不意味着不会出现异常,有些异常甚至会引起严重的后果,所以如何及时的发现程序中的异常并处理它便显得十分重要了。 通常,我们可以依靠用户反馈、经常查看程序日志来发现程序存在的问题。但这要么不可靠要么不
阅读全文
摘要:可以使用GDB调试swoole程序。gdb是GNU debugger的缩写,是编程调试工具。 gdb的功能: 1. 启动程序,可以按照用户自定义的要求随心所欲的运行程序。 2. 可让被调试的程序在用户所指定的调试断点处停住(断点可以是条件表达式)。 3. 当程序停住时,可以检查此时程序中所发生的事。
阅读全文
摘要:本篇文章给大家带来的内容是关于swoole模块的编译安装:php编译安装swoole模块的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1.下载swoole 1 wget https://github.com/swoole/swoole-src/archive/v1.9.3-
阅读全文
摘要:本篇文章介绍了ThinkPHP使用Redis实现电商秒杀的处理方法,具有一定的参考价值,希望对学习ThinkPHP的朋友有帮助! TP5使用Redis处理电商秒杀 1、首先在TP5中创建抢购活动所需要的Redis类库文件,代码如下: <php namespace app\base\service;
阅读全文
摘要:终止脚本执行,指的是通过一条语句告诉PHP引擎,此语句之后的其他语句不需要执行。 PHP提供了三种方式来终止脚本执行:return,die,exit return:执行到该处退出,如果是在函数中,表示退出函数,如果是在脚本中,表示脚本停止执行 //return //return '*'; //exi
阅读全文
摘要:php全集行模式,即php-cli,官方文档中称为: CLI SAPI(Server Application Programming Interface,服务端应用编程端口).听着挺复杂。其实是因为php原本为服务器端的脚本语言,所以引申出这个叫法。 与服务端模式的不同 服务端模式主要有两种工作方式
阅读全文
摘要:PHP 面向对象 静态属性 static // 使用场景: 类的一些公用属性和方法,值有可能改变 // 如何访问 静态属性呢 // 通过 self::方法 或者 属性 , 就可以访问到类的静态属性 # 切记: 静态属性和方法只能类自己访问,不能实例对象访问。 <?php class People {
阅读全文
摘要:基础: 手把手教你写留言板系统av78744637HTML+PHP+Mysql实现网站注册登录av78785761php从零教学支付技术大通关Av78773453零基础小白两小时入门PHP基础语法av81031138两小时熟练PHP基础语法八大数据类型av81050275PHP黄金搭档mysql数据
阅读全文
摘要:随着微信的普及,扫码登录方式越来越被现在的应用所使用。它因为不用去记住密码,只要有微信号即可方便快捷登录。微信的开放平台原生就有支持扫码登录的功能,不过大部分人还是在用公众平台,所以扫码登录只能自行实现。这里基于微信公众平台的带参数临时二维码,并且结合 Swoole 的 WebSocket 服务实现
阅读全文
摘要:1. 什么事面向对象?主要特征是什么? 面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。主要特征:封装、继承、多态。 更多学习内容请访问: 怎么从一名码农成为架构师的必看知识点:目录大全(不定期更新) ★官方PHP高级学习交流社群「点击」管理整理了一些资料,BAT等一线大厂
阅读全文