按照惯例依然是从百科上复制一条简介: PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具。PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能和智能HTML/CSS/JavaScript/P...
开发比较复杂的项目之时,专业的编辑器 PHPStorm 当然是最佳选择,但是无奈电脑内存太小(正在凑钱买新的 MBP) 以及速度上的追求,并不想放弃 Sublime 神器,某日游览 Laracast,看到 Jeffrey 在 Laracast 上的秘籍,终于得...
随着API的迅速发展,如何编写出更加规范的API文档说明则显的尤为重要。 你是否还通过手写的方式来生成和编写这些文档呢? 那么你就OUT啦! 工欲善其事,必先利其器。 本文分享一款工具:PHP_DOC。 可在线实时查看API接口的参数、返回和说明,无须手动维护...
一个php技术栈后端猿的知识储备大纲 前言 为什么把php,mysql,redis放在前三位?因为php/mysql/redis基础是一个当代phper的根基。 备注 ...
PHP代码分享...
1 什么是MVCMVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式的目的是实现一种动态的程序设计,使后续对程序的修...
今天我们要介绍一些关于改善和优化 PHP 代码的提示和技巧。请注意,这些 PHP 技巧适用于初学者,而不是那些已经在使用 MVC 框架的人。...
按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标。本文按照目前主流技术做了一个基本的梳理,整个是...
下面是九个PHP中很有用的功能,不知道你用过了吗? 1. 函数的任意数目的参数 你可能知道PHP允许你定义一个默认参数的函数。但你可能并不知道PHP还允许你定义一个完全任意的参数的函数 下面是一个示例向你展示了默认参数的函数: // 两个默认参数的函数 fu...
在编写代码的时候有个神奇的工具总是好的!下面这里收集了 50+ PHP 代码片段,可以帮助你开发 PHP 项目。 这些 PHP 片段对于 PHP 初学者也非常有帮助,非常容易学习,让我们开始学习吧~ 1. 发送 SMS 在开发 Web 或者移动应用...
提到闭包和匿名函数似乎一下子就想到了 javascript ,但其实在很多语言中都有闭包的特性。但是 javascript 坑爹的变量作用域让闭包变得非常重要。而其他语言完善私有共有变量和继承让闭包似乎没有什么卵用。但是为了有点B格,还是看了看 php 的闭包...
/
* +----------------------------------------------------------
生成UUID 单机使用 +--------------------------------...
一、引言 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。换句话说就是,在系统调度多个cpu的时候,一个程序的基本单元。进程对于大多数的语言都不是一个陌生的概念,作为"世界上最好的语言PHP"当然也例外。 二、环境 php中的进程是以扩展的形式来完...
背景 最近和hbb在写一个项目,采用前后端分离的模式。我写接口,hbb写前端。接口采用json的格式进行数据交互,前端和后端放在了不同的服务器上,一开始调试的时候就遇上了问题。 问题 前端POST数据到接口时,出现问题。 Google Chrome的提示: X...
基于burp插件的安全测试PHP作为世界上最好的语言(⊙﹏⊙),在WEB开发中应用广泛,同时也经常会产生各种漏洞,那么我们该怎样有效的防护这些漏洞呢?今天就来讨论下PHP开发安全防护。 当年PHP还是PHP4这个版本时,多数项目用着混编的模式(前端代码和PHP...
在一般情况下,我们都是通过客户端浏览器来触发服务端的PHP脚本,这种触发的方式是手动的,并不能做到定时触发。并且,使得手动触发耗时时间很长的脚本的时候,因为受到服务器端设定的超时时间等条件的限制,导致最后执行失败。想要做到定时执行,就需要结合Linux服务器端...
what is 自动加载? 或许你已经对自动加载有所了解。简单描述一下:自动加载就是我们在new一个class的时候,不需要手动去写require来导入这个class.php文件,程序自动帮我们加载导入进来。这是php5.1.2(好像是)版本新加入一个功能,他...
PHP语言简单的原因之一就是PHP的错误处理机制,随着PHP语言越来越现代化,也出现了异常,这篇博文就是简单说下错误和异常,以便系统的理解,另外对于任何一种语言来说,异常的存在是具备共性的,所以学习一门语言理解异常机制是必不可少的. ...
注意echo和print的区别 PHP中echo和print都是输出的作用,但是两者之间还是有细微的差别。echo输出后没有返回值,但print有返回值,当其执行失败时返回flase。因此可以作为一个普通函数来使用,例如执行$r = print &quo...
废话不多说,首先上效果图。 效果图 Web实时弹幕原理分析 用途 搞活动、年会的时候,在大屏幕上实时显示留言、吐槽。 在视频网站上,将大家的吐槽实时展示出来。 ... 原理 其他原理挺简单的,就是将大家的留言实时展示出来。 注意点:实时性、动画...
Table of Contents 介绍 ...
异常与错误 异常是指程序运行中不符合预期情况以及与正常流程不同的状况。错误则属于自身问题,是一种非法语法或者环境问题导致的、让编译器无法通过检查设置无法运行的情况。 由于php最开始是没有异常处理...
-- 作者 谢恩铭 转载请注明出处 《Web探索之旅》全系列 第三部分第二课:IP地址和域名 上一课 Web探索之旅 | 第三部分第一课:服务器 中,我们说了在Web之中,全球各地有无数台机器,有些充当客户机,有些作为服务器。 那么这些机器如何找到和...
世界上最好语言,PHP技术百问 曾经有个程序员段子,说:“PHP是世界上最好的语言”...如果你笑了,说明你是位真正的程序猿! 段子规段子,下面还是要严肃的来整理PHP相关的技术百问。 ...
世界上最崩溃的事就是,在你快文章收尾的时候,浏览器因为意外关闭导致前功尽弃 社区的缓存功能好像对我这次没起作用,哎,再来一次吧,真是瞬间泄气的感觉!!!
分割线 上一篇 成为高级 PHP 程序员的第一步——调试(xdebug 原理篇),介绍了一下...
了解 PHP 协程实现...
前言 以小说的笔法写的设计模式系列文章,你绝对看得懂![首发于公众号:"聊聊代码"] 设计模式系列·王小二需求历险记(一)设计模式系列·王小二需求历险记(二)设计模式系列·封装、继承、多态设计模式系列·初探设计模式之王小二的疑问设计模式系列...
PHP中将所有__(两个下划线)开头的类方法作为魔术方法,这方法之所以称为魔术方法是因为其实现的功能就如变魔术一样感觉很神奇。在特定的事件下触发,这真的很酷。 __construct() 这个方法应该是最常用的,被称为构造器或者构造方法,当一个对象被实例化时会...
0.背景 博主本人 2015 年毕业于郫县某 985 大学通信工程系,因为大学期间一直自己创业所以错过了大四秋招春招,毕业后又在北京继续创业一年,但在创业公司一直无法沉淀技术累积,于16年年底萌生进大公司学习的想法,于是从16年年底开始通过社招找工作。虽然大学...
欢迎 目前网络上充斥着大量的过时资讯,让 PHP 新手误入歧途,并且传播着错误的实践以及不安全的代码。PHP 之道 收集了现有的 PHP 最佳实践、编码规范和权威学习指南,方便 PHP 开发者阅读和查找。 使用 PHP 沒有规范化的方式。本网站...
你以为很难,只是因为你没有去行动。 最近公司招了几个应届毕业生,他们对前端的了解还挺多,但是对后端的技术一无所知,我觉得,作为一个前端攻城狮,如果你有远大的抱负,就应该雨露均沾… 今天我就跟大家讲一讲PHP最基本的入门,至少别人问起你来,不会一点都不懂。 大...
PHP语言简单的原因之一就是PHP的错误处理机制,随着PHP语言越来越现代化,也出现了异常,这篇博文就是简单说下错误和异常,以便系统的理解,另外对于任何一种语言来说,异常的存在是具备共性的,所以学习一门语言理解异常机制是必不可少的. ...
Tags:php 1. 缘由 最近在面试过程中发现一些面试者虽然工作了好些年了,但是有些php的基础一般,一些新的php的特性问了也没听说过或者听说了但是没有用过。自己在学习过程中发现有些知识是可以即查即用即可,但是有些是必须要有系统的掌握才可以在此基础上开...
上一节 主要系统讲了反射的用法,虽然讲解了用法,但是没有对其在项目中的实际使用做讲解,不学以致用,不如不学。在好多框架底层实现上面使用了反射,所以要理解和分析框架底层源码的话,必须掌握反射,不然的话理解十分的困难。 下面我们讲下反射在实际开发中...
what is 自动加载? 或许你已经对自动加载有所了解。简单描述一下:自动加载就是我们在new一个class的时候,不需要手动去写require来导入这个class.php文件,程序自动帮我们加载导入进来。这是php5.1.2(好像是)版本新加入一个功能,他...
今天开始进行现代php阅读笔记系列的第三篇: 部署 测试和调优。主要内容涉及到php相关的部署,测试以及调优内容。 服务器 选个靠谱的服务商比啥都强。 国内我觉得阿里云不错, 国外linode, 少折腾是选择的第一标准。 基于安全考虑不要一直...
今天用PHP实现了一下二分搜索树(BST),实现的代码还是很简单的,下面来总结一下。首先先来介绍一下二分搜索树。二分搜索树,本质上就是一棵二叉树,它并不一定是一棵满二树,也并不一定是一棵完全二叉树,但是二分搜索树中的每一个非叶子节点的值都要大于其左子节点的值,...
大家都知道PHP已经是当前最流行的Web应用编程语言了。但是也与其他脚本语言一样,PHP也有几个很危险的安全漏洞。所以在这篇教学文章中,我们将大致看看几个实用的技巧来让你避免一些常见的PHP安全问题。 技巧1:使用合适的错误报告 一般在开发过程中,很多程序员总...
什么是 XHPROF? XHPROF:Facebook 开源的轻量级PHP性能分析工具。 它报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。 XHProf 分析报告有助于理解被执行的代码的结构。 它有一个简单的HTML的用户界面( ...
在过去的一年里,软件开发行业继续大踏步地向前迈进。回顾 2016 年,我们看到了更多新兴的流行语言、框架和工具,它们改变着我们的工作方式,让我们看到更多的可能。但在这个行业,紧随潮流是很难的。所以在每年年底,我们都会给你提供一些建议,它涉及什么是最重要的,以及...
关于PHP目前比较常见的五大运行模式: 1)CGI(通用网关接口 / Common Gateway Interface) 2)FastCGI(常驻型CGI / Long-Live CGI) 3)CLI(命令行运行 / Command Line Interfac...
入职冰鉴科技做爬虫开发已经半年多了,陆续开发维护了几个爬虫以后终于在web端爬虫这一块有了登堂入室的感觉。中间踩了许多坑,也对爬虫的许多细节有了自己的认识,所以今天希望能分享一些爬虫经验。虽然爬虫的很多东西不好说太细,因为说太细了别人马上有针对性的反爬虫了,而...
随着WEB2.0的流行,现在很多网站都流行使用“弹幕”这种形式来实现互动。弹幕(barrage),中文流行词语,原意指用大量或少量火炮提供密集炮击。大量以字幕弹(dàn)出形式显示的评论同时在屏幕上飘过的现象也被称为弹幕。作为PHPer的我们,看到现在各种网站...
今天有同学问了PHP框架中的各个目录下面的各个.php文件是如何实现加载的,他上网搜索,一搜一大把,都是再说php中有自动加载函数,是自动加载函数完成类文件的自动加载的,但是具体的还是不明白。是的,框架的自动载入的完成的确是依靠PHP提供的自动载入的函数来完成...
Slack在多数服务器端应用程序逻辑中使用PHP,这在当时是一个不寻常的选择。为什么我们选择这种语言来创建新项目呢?你应该吗? 多数程序员都只是随意的使用PHP,只知道关于它的两件事:这是一种糟糕的语言,如果给他们选择的话,他们将永远不会使用它;历史...
作者:周继平 很好很强大。相信很多人没有听说过 Laravel...
写过一段时间的PHP代码的都可能会感觉自己在开发过程中基本没用过PHP中的异常,我也一样。最近,类比了一下Java中的一些写法以后,发现PHP在代码报错方面和其他的语言有很大的区别。首先,当出现文法错误以后,Java会报异常,而PHP绝大多数情况下会报错误。既...
背景图1 外卖排序系统框架外卖的排序策略是由机器学习模型驱动的,模型迭代效率制约着策略优化效果。如上图所示,在排序系统里,特征是最为基础的部分:有了特征之后,我们离线训练出模型,然后将特征和模型一起推送给线上排序服务使用。特征生产Pipeline对于策略迭代的...
本文以 noahbuscher/macaw为例,这是一个简单但功能强大的PHP router,composer安装方法可参考文章《安装composer并使用国内镜像方法详解》新建文件夹nuf,在此文件内创建composer.json文件,写入以下内容:{ ...
本文是《Redis内部数据结构详解》系列的第二篇,讲述Redis中使用最多的一个基础数据结构:sds。 不管在哪门编程语言当中,字符串都几乎是使用最多的数据结构。sds正是在Redis中被广泛使用的字符串结构,它的全称是Simple Dynamic Stri...
本文首发于知乎专栏,转载请注明出处 数据库表结构设计作为后端软件开发不可或缺的一环,是每个后端工程师都会经历的过程。笔者也多次经历过这样的过程,也尝试过多种不同的设计方案,也从一些优秀...
之前我们探索了数组、字典、字符串、链表、栈、队列的处理和应用。今天我们来讲讲平常相对很少用到,面试中却是老面孔的数据结构:二叉树。本期的内容有: 基本概念:实现,深度 ,二叉查找树 遍历 苹果面试题:在iOS中展示二叉树 概念 首先介绍下二叉树。二叉树...
环境部署一直是一个很大的问题,无论是开发环境还是生产环境,但是 Docker 将开发环境和生产环境以轻量级方式打包,提供了一致的环境。极大的提升了开发部署一致性。当然,实际情况并没有这么简单,因为生产环境和开发环境的配置是完全不同的,比如日志等的问题都需要单独...
摘要:防御性编程,简单的说,就是在编程的时候有目的地预测可能的故障点。目的是在那些可能发生的问题发生前解决它们。你看见了问题,对吧?预测意料之外的事情本来就有内在的难度....... ...
快速排序...
堆是一种非常常用的数据结构,常常用来实现优先队列。下面来说一下,堆的一些特性。堆(二叉堆)的成立条件如下:具有n个元素的序列:{k1,k2,ki,…,kn} ,(ki <= k2i,ki <= k2i+1) 或者 (ki >= k2i,ki ...
前几天和朋友讨论 Google 电面的一道题, 由此启发, 总结了下 two pointer 的使用场景, 在大部分情况下, 恰当地使用 two pointer 可以使时间复杂度保持在 O(n), 像 online judge 里部分 medium 题经常提及...
继续是《数据结构算法与应用:C++语言描述》的笔记,这是第七章跳表和散列的内容,本节会介绍字典和跳表。 对于一个有n个元素的有序数组,用折半搜索法进行搜索需要的时间是$O(logn)$,而对一个有序链表进行搜索所需要的时间是$O(n)$。我们可以通过对有序链表...
/
* +----------------------------------------------------------
生成UUID 单机使用 +--------------------------------...
系统自带异常处理 <?php header("Content-type:text/html;charset=utf-8"); try { //业务处理 错误时抛出异常。 $age = 130; if ($age...
摘要: 传统的php裁剪类只能按位置裁剪。如按中间位置裁剪。这种裁剪方式可能会导致一个人被截成两段。为了解决这个问题,最近开发了一个php扩展(tclip),能自动识别人脸或者图像中其它重要区域,然后进行裁剪。裁剪效果如下: 原图: <a tar...
通常,图像处理软件会提供"模糊"(blur)滤镜,使图片产生模糊的效果。 ...
归并排序(MergeSort) 复杂度O(nlogn). 核心思想就是采用分而治之的方法,递归的合并两个有序的数组。效率比较高,缺点是空间复杂度高,会用到额外的数组。 ...
前言本文讲述一些简单算法的实现和效率比较。所有代码用java实现。用到的两个基本的api代码如下。 private boolean less(Comparable v,Comparable w){ return v.compareTo(w) <0...
这次抓取了110万的用户数据,数据分析结果如下:开发前的准备安装Linux系统(Ubuntu14.04),在VMWare虚拟机下安装一个Ubuntu;安装PHP5.6或以上版本;安装MySQL5.5或以上版本;安装curl、pcntl扩展。使用PHP的curl...
周末去北京面了两个公司,认识了几位技术牛人,面试中聊了很多,感觉收获颇丰。认识到了自己的不足之处,也坚定了自己对计算机学习的信心。本文是对其中一道面试题的总结。 面试中有一个问题没有很好的回答出来,题目为:并发3个http请求,只要其中一个请求有结果,就返回,...
本文由 伯乐在线 - Lunamos 翻译自 Amit’s Thoughts on Pathfinding。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。物体的移动算法似乎显得很简单,然而寻路规划问题却十分复杂。考虑下面这个例子: 查看图片 这个单位的初始...
上周发了问卷,想了解一下大家对老王有没有什么建议,然后好多朋友都投了票,想了解编程技术和服务器架构的干货,所以接下来会先聊聊编程和架构相关的算法,然后大概在6月下旬会跟大家聊聊面试那些事儿(老王到目前大约参加了几百次的面试,可以从面试官的角度来聊聊不一样的面试...
文章所罗列的问题虽然看似简单,但是每个背后都涵盖了一个或几个大家容易忽视的基础知识点,希望能够帮助到你的面试和平时工作。...
按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标。本文按照目前主流技术做了一个基本的梳理,整个是...
摘要:Git本身是一个命令行的工具,因此,掌握Git命令成为我们使用Git版本控制的第一道障碍。好在常用的Git命令只有几个,并且参数都比较简单,因此,我们会很容易地跨越这个障碍。而刚开始就直接使用GUI工具并不是我们推荐的方式,因为使用GUI不仅效率慢,还会...
本文为大家简单介绍如下几个常用MySQL函数的用法:mysql_connect()mysql_close()mysql_query()mysql_select_db()mysql_fetch_row()mysql_fetch_array()mysql_fetc...
PHP中基础中的三大坑,foreach遍历,引用机制&,数组。 今天我们在讲讲foreach中的一些奇怪现象。 在讲解之前,可以先看看我其他相关的文章,属于同一个大的知识点,都看看有助于理解。 当我们使用foreach时,内部究竟发生了什么?(PHP5) PH...
摘要:要成为一名真正的程序员,算法知识是必不可少的,本文列出了程序员必须知道的10大基础实用算法以及讲解,想要从猿进化为狮,就来看看吧。 ...
做 PHP 开发,选择合适的 PHP 库非常重要,优秀的 PHP 库可以为你节省很多代码和编码时间。本文在是在上一篇文章《PHPer 进击学习之路:各种实用的 PHP 开源库推荐(1)》基础上做的补充,希望对你的学习工作有帮助。 11、PHP 邮件发送包&...
了解 PHP 协程实现...
1. 什么是消息队列 消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式 2. 为什么使用消息队列 消息队列技术...
Beanbun Beanbun 是用 PHP 编写的多进程网络爬虫框架,具有良好的开放性、高可扩展性。 项目地址:文档地址:
GitHub 地址: Demo地址: 几个月前在社区发布了我也来分享一个自己撸的管理后台开发框架吧。 转眼几个月过去了,在迭...
PHP 是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,利于学习,使用广泛,主要适用于 Web 开发领域,是大多数后端开发者的首选。 ...
前言 设计模式是面向对象的最佳实践 实战 PHP实战创建型模式 ...
[[英] 带你了解 PHP 7 中的虚拟机 - 后端 - 掘金](
This article aims to provide an overview of the Zend Virtual Machine, as it is found in PHP 7. This is not a comprehensive descrip...
说明:这个课程——【16个PHP设计模式详解】:主要介绍16个常用的设计模式的基础概念和技术要点,通过UML类图帮助理解设计模式中各个类之间的关联关系,针对每种设计模式都使用PHP完成了一个代码示例,让你跟随实例轻松入门设计模式。 ...
一、代理与反向代理 现实生活中的例子 1、正向代理:访问google.com 如上图,因为google被墙,我们需要vpn翻墙才能访问google.com。 vpn对于“我们”来说,是可以感知到的(我们连接vpn)vpn对于"google服务器&...
[[工具]PHP 中的日期时间处理利器 - Carbon - 掘金](
Carbon介绍 Carbon是PHP中很人性化的时间日期处理插件,github拥有接近5000个 star。github地址为: Carbon基本用法 //1、基本应用 $now ...
fpm工作流程 fpm全名是FastCGI进程管理器(FastCGI是啥?了解下cgi和fastcgi)。 fpm启动后会先读php.ini,然后再读相应的conf配置文件,conf配置可以覆盖php.ini的配置。 启动fpm之后,会创建一个...
初學者學習 Laravel 時分兩種,一種是乖乖的將程式填入 MVC 架構內,導致 controller 與 model 異常的肥大,日後一樣很難維護;一種是常常不知道程式該寫在哪一個 class 內而猶豫不決,畢竟傳統 PHP 都是一個頁面一個檔案。本文整理...
Fresh approach to Machine Learning in PHP. Algorithms, Cross Validation, Neural Network, Preprocessing, Feature Extraction and muc...
欢迎 目前网络上充斥着大量的过时资讯,让 PHP 新手误入歧途,并且传播着错误的实践以及不安全的代码。PHP 之道 收集了现有的 PHP 最佳实践、编码规范和权威学习指南,方便 PHP 开发者阅读和查找。 使用 PHP 沒有规范化的方式。本网站...
laravel Laravel 5.3安装 开发环境满足以下要求: PHP版本 >= 5.6.4 ...
Tags:php 1. 缘由 最近在面试过程中发现一些面试者虽然工作了好些年了,但是有些php的基础一般,一些新的php的特性问了也没听说过或者听说了但是没有用过。自己在学习过程中发现有些知识是可以即查即用即可,但是有些是必须要有系统的掌握才可以在此基础上开...
文章所罗列的问题虽然看似简单,但是每个背后都涵盖了一个或几个大家容易忽视的基础知识点,希望能够帮助到你的面试和平时工作。...
下面是九个PHP中很有用的功能,不知道你用过了吗? 1. 函数的任意数目的参数 你可能知道PHP允许你定义一个默认参数的函数。但你可能并不知道PHP还允许你定义一个完全任意的参数的函数 下面是一个示例向你展示了默认参数的函数: // 两个默认参数的函数 fu...
为什么需要编码规范? 为了提高工作效率,保证开发的有效性和合理性。 为了提高代码可读性和可重复利用性,从而节约沟通成本。 本文主要参考了 PEAR 规范,并进行适当的简化和调整。 主要介绍,命名规范、注释规范、代码风格。 文件标记 所有PHP文件...
本文参照转译: https://murze.be/2017/02/laravels-tap-helper-functi...
前言 redis 等 nosql 简单高效的解决了高并发场景下的一系列问题,并很大程度的解放了持久化 DB 的业务压力。 实战 基于 redis 字符串 string 类型的简单缓存实战 基于 redis 列表 list 类型的简单队列实战 ...
在支付系统的微服务架构中,基础服务的构建是重中之重, 本文重点分析如何使用Apache Thrift + Google Protocol Buffer来构建基础服务。 一、RPC vs Restful在微服务中,使用什么协议来构建服务体系,一直是个热门话题。 ...
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 本篇文章,主要介绍利用PHP使用Redis,主要的应用场景。 简单字符串缓存实战 $redis->connec...
1 ...
DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。 不巧的是我司也在用,之前...
前言 以小说的笔法写的设计模式系列文章,你绝对看得懂![首发于公众号:"聊聊代码"] 设计模式系列·王小二需求历险记(一)设计模式系列·王小二需求历险记(二)设计模式系列·封装、继承、多态设计模式系列·初探设计模式之王小二的疑问设计模式系列...
一、背景介绍 前一阵公司业务有一个生成红包的需求,分为固定红包和随机红包两种,固定红包没什么好说的了,随机红包要求指定最小值,和最大值,必须至少有一个最大值,可以没有最小值,但任何红...
HTTPS介绍 超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure)是一种网络安...
目录 描述 ext 这是存放动态...
说明 性能一直是 Laravel 框架为人诟病的一个点,所以调优 Laravel 程序算是一个必学的技能。 接下来分享一些开发的最佳实践,还有调优技巧,大家有别的建议也欢迎留言讨论。 这里是简单的列表: 配置信息缓存 artisan config:c...
An open source, lightweight, and tracking-free comment engine. ...
作者 | 张宁编辑 | 迷鹿 张宁,OMG网络媒体产品技术部 高级WEB研发工程师,目前负责企鹅媒体平台 和 一些通用技术的研发 导语 企鹅媒体平台媒体名片页反爬虫技术实践,分布式网页爬虫技术、利用人工智能进行人机识别、图像识别码、频率访问控制、利用...
从65节到82节,我们用了18篇文章讨论并发,本节进行简要总结。 多线程开发有两个核心问题,一个是竞争,另一个是协作。竞争会出现线程安全问题,所以,本节首先总结线程安全的机制,然后是协作的机制。管理竞争和协作是复杂的,所以Java提供了更高层次的服务,比如并发...
收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需... ...
一,多线程的实现方式 方式一: 继承Thread类 /
* Created by 阿越 on 2017/4/16. */ class myThread extends Thread { ...
Postal is a complete and fully featured mail server for use by websites & web servers. Think Sendgrid, Mailgun or Postmark but...
加密的目的# 加密不同于密码,加密是一个动作或者过程,其目的就是将一段明文信息(人类或机器可以直接读懂的信息)变为一段看上去没有任何意义的字符,必须通过事先约定的解密规则才能将信息转换回有意义的可读信息,通过加密可以防止非授权的信息窃取。 2. 存储加密...
先说一些废话# PHP 5.5 以来,新的诸多特性又一次令 PHP 焕发新的光彩,虽然在本文写的时候已是 PHP 7 alpha 2 发布后的一段时间,但此时国内依旧是 php 5.3 的天下。不过我认为新的特性迟早会因为旧的版本的逐渐消失而变得越发重要,尤其...
PHP 是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,利于学习,使用广泛,主要适用于 Web 开发领域,是大多数后端开发者的首选。 ...
如何在MySQL中查找效率慢的SQL语句呢?这可能是困扰很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_...
前言 设计模式是面向对象的最佳实践 实战 PHP实战创建型模式 ...
1. 什么是消息队列 消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式 2. 为什么使用消息队列 消息队列技术...
TCP/IP协议:因特网互联协议,由网络层的IP协议和TCP协议组成,Internet最基本的协议、Internet国际互联网络的基础。 ##分层模型 为了减少网络设计的复杂性,大多数网络都采用了分层结构。在相同的网络中,处于第N层的机器之间使用第N层的协议...
前言 目标是每个月写一篇文章,对从事编程开发的基础知识做一个学习总结。这个月的计划本来是对基础的数据结构做一个沉淀,但是,但是,但是……这个月的的状态就是工作工作…既然这样就总结下这个月的工作吧。 工作内容 促销活动的...
原文地址:github.com/donnemartin/system-design-primer 译文出自:掘金翻译计划 译者:XatMassacrE、L9m、Airmacho、xiaoyusilen、jifaxu 请持续关注 中文维护链接 获取最新内容。 ...
网络上有很多关于如何配置 Nginx + FPM 的文章,但它们更多从操作的角度出发,告诉我们怎么做,但却没有告诉我们为什么要这么做,本文从 Nginx 与 FPM 的工作机制出发,探讨配置背后的原理,让我们真正理解 Nginx 与 PHP 是如何协同工作的。...
我的毕设项目的评论模块原来是采用多说插件完成的,但是我现在希望能够自己管理评论内容,所以自己开始写评论模块。具体准备采用与简书下评论类似的结构,即一级评论直接显示在文章下方,而二三级评论显示在一级评论的下方,如下图所示: ...
本文翻译自: ,文章所罗列的问题虽然看似简单,但是每个背后都涵盖了一个或几个大家容易忽视的基础知识点,希望能够帮助到你的面试和平时工作。 ...
一、基础入门 开篇 [1.1] 下载与安装 [1.2] 创建一个自己的项目(含四个脚本命令的使用说明) [1.3] 在线体验 [1.4] 文档、帮助和官网 [1.5] 对PhalApi框架的抉择 开发手册 ...
什么是设计模式 设计模式,是一种解决问题的思维,而并非某种特定的方法。是前人给我们总结的宝贵经验。学习设计模式是为了编写可复用、可拓展、高性能软件。设计模式是熟练运用OOP后自然而然形成的代码习惯。达到最高境后只有一句话:高内聚...
原文出处:nowamagic PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。 PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含...
写php有一年了,说实话这门语言入门实在是太简单了,以至于我都不想说我会php(这年头谁学这个不是分分钟的事). 但是任何一门语言,都有着其独特的魅力,如果你还没有发现,只能说你还只是停留在这门语言浅显的使用上(不服不行)。 ...
PHP程序员进阶学习书籍参考指南 @heiyeluren lastmodify: 2016/2/18 ...
引言: 前端持久化就是要将数据永久的保存在前端,让数据难以删除或者删除后能够重新恢复。存储的数据可以理解为是一种 “僵尸数据”,下面介绍一种前端持久化方法 -- evercookie。 一.evercookie简介: evercookie是由Samy Kamk...
PHP编程中的锁 最近看了《理解Linux进程》这本开源书,链接。该书描述了linux中的进程概念,对锁和进程间通信(IPC)有一些总结。不过该书的描述语言是golang...
做 PHP 开发,选择合适的 PHP 库非常重要,优秀的 PHP 库可以为你节省很多代码和编码时间。本文在是在上一篇文章《PHPer 进击学习之路:各种实用的 PHP 开源库推荐(1)》基础上做的补充,希望对你的学习工作有帮助。 11、PHP 邮件发送包&...
先说一些废话# PHP 5.5 以来,新的诸多特性又一次令 PHP 焕发新的光彩,虽然在本文写的时候已是 PHP 7 alpha 2 发布后的一段时间,但此时国内依旧是 php 5.3 的天下。不过我认为新的特性迟早会因为旧的版本的逐渐消失而变得越发重要,尤其...
前言 因为想做一个快速的后台开发模板框架(方便以后直接开发功能而不用纠结环境和页面框架搭建的选择),当时在权限控制方面纠结于spring security和shiro,但是由于对这2个框架理解都不深,只是停留在基础的使用上面,而且一般的...
PHP-小顶堆-TopN 介绍 在以往工作或者面试的时候常会碰到一个问题,如何实现海量TopN,就是在一个非常大的结果集里面快速找到最大的前10或前100个数,同时要保证内存和速度的效率...
PHP 是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,利于学习,使用广泛,主要适用于 Web 开发领域,是大多数后端开发者的首选。 ...
加密的目的# 加密不同于密码,加密是一个动作或者过程,其目的就是将一段明文信息(人类或机器可以直接读懂的信息)变为一段看上去没有任何意义的字符,必须通过事先约定的解密规则才能将信息转换回有意义的可读信息,通过加密可以防止非授权的信息窃取。 2. 存储加密...
1. 什么是消息队列 消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式 2. 为什么使用消息队列 消息队列技术...
背景 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求;特别一点的如订单、骑手、优惠...
Beanbun Beanbun 是用 PHP 编写的多进程网络爬虫框架,具有良好的开放性、高可扩展性。 项目地址:文档地址:
1 阅前热身 为了更加形象的说明同步异步、阻塞非阻塞,我们以小明去买奶茶为例。 同步与异步 ...
本文介绍,PHP运行在FastCGI模式时,FPM提供的方法:fastcgi_finish_request。 在说这个方法之前,我们先了解PHP有哪些常用的运行模式? PHP运行模式 CGI 通用网关接口 / Common Gateway Interfac...
一、代理与反向代理 现实生活中的例子 1、正向代理:访问google.com 如上图,因为google被墙,我们需要vpn翻墙才能访问google.com。 vpn对于“我们”来说,是可以感知到的(我们连接vpn)vpn对于"google服务器&...
最近有很多关于 Progressive Web Apps(PWAs)的消息,很多人都在问这是不是(移动)web 的未来。我不想陷入native app 和 PWA 的纷争,但是有一件事是确定的 --- PWA极大的提升了移动端表现,改善了用户体验。 好消息是...
操作系统及MySQL数据库的实时性能状态数据尤为重要,特别是在有性能抖动的时候,这些实时的性能数据可以快速帮助你定位系统或MySQL数据库的性能瓶颈,就像你在Linux系统上使用「top,sar,iostat」等命令工具一样,可以立刻定位OS的性能瓶颈是在IO...
本文是源自 Github 上 Kamran Ahmed 建立的一个仓库。在文中,作者为他的老教授分享了一组成为前端与后端开发者以及 Devops 人员需要掌握的学习路线图,以便与他的学生们分享他们的观点。 同时,有任何改进的建议或意见也欢迎给作者提 P...
Become an Auth Boss. Learn about different authentication methodologies on the web. Table of Contents Introductio...
Ultra-simplified explanation to design patterns! ...
异常与错误 异常是指程序运行中不符合预期情况以及与正常流程不同的状况。错误则属于自身问题,是一种非法语法或者环境问题导致的、让编译器无法通过检查设置无法运行的情况。 由于php最开始是没有异常处理...
Facade,中文译为门面、外观,所以本文要讲的 Facade Pattern 翻译时经常看到有两个名字,门面模式和外观模式。 这是一个在 JavaScript 中被经常用到的设计模式: class modA {} class modB {} ...
This article is part of a series on Dependency Injection in general and on a lightweight implementation of a Container in PHP in p...
最近项目需要使用php开发,php开发中比较流行的业务框架有Laravel, yii, CakePHP. 最后决定使用ThinkPhp的原因是上述三种并没有用过,为了支持国产就直接ThinkPHP 搞起了。裸用php同样可以完成业务开发。但是业务上涉及到两三位...
Swoole 2.0正式版发布了。2.0版本最大的更新是增加了对协程(Coroutine)的支持。正式版已同时支持PHP5和PHP7。基于Swoole2.0协程PHP开发者可以已同步的方式编写代码,底层自动进行协程调度,转变为异步IO。解决了传统异步编程嵌套回...
fpm工作流程 fpm全名是FastCGI进程管理器(FastCGI是啥?了解下cgi和fastcgi)。 fpm启动后会先读php.ini,然后再读相应的conf配置文件,conf配置可以覆盖php.ini的配置。 启动fpm之后,会创建一个...
我在前面几篇中,很详细的讲述了php-fpm的各种介绍,和安装。今天来看一下它的配置文件php-fpm的各种配置以及一些常见的优化。 php-fpm的安装目录 下面是我的平时的环境搭建php的各种安装目录,大家的基本也差不多。 centos等linux平台 /...
关于PHP目前比较常见的五大运行模式: 1)CGI(通用网关接口 / Common Gateway Interface) 2)FastCGI(常驻型CGI / Long-Live CGI) 3)CLI(命令行运行 / Command Line Interfac...
昨天,遇到了一个需求,用户点击了某个按钮以后,后台发起一个post请求到我这里,我接受传递过来的数据。一开始同事是用公司框架公共封装的http_request()方法进行发送的,代码如下: public function http_request( $url...
概念 闭包(closures)是指在创建时封装的状态的函数,匿名函数(Anonymous functions)是指没有名称的函数。在PHP中,闭包和匿名函数被看成一种东西。理论上是不同的,可以理解闭包是由匿名函数构成的一种“结构”。 像string,int等,...
what is 自动加载? 或许你已经对自动加载有所了解。简单描述一下:自动加载就是我们在new一个class的时候,不需要手动去写require来导入这个class.php文件,程序自动帮我们加载导入进来。这是php5.1.2(好像是)版本新加入一个功能,他...
利用 Composer 完善自己的 PHP 框架(二)——发送邮件 本教程示例代码见 回顾上一篇文章中,我们手工建造了一个简...
注:本文为“小米安全中心”原创,转载请联系“小米安全中心”上期回顾:基于burp插件的安全测试PHP作为世界上最好的语言(⊙﹏⊙),在WEB开发中应用广泛,同时也经常会产生各种漏洞,那么我们该怎样有效的防护这些漏洞呢?今天就来讨论下PHP开发安全防护。 当年P...
提到闭包和匿名函数似乎一下子就想到了 javascript ,但其实在很多语言中都有闭包的特性。但是 javascript 坑爹的变量作用域让闭包变得非常重要。而其他语言完善私有共有变量和继承让闭包似乎没有什么卵用。但是为了有点B格,还是看了看 php 的闭包...
最近重新开始学习算法,因为觉得这个一个本质的思想性的东西,无论何时,都可以从此收益,于是打算记录一下自己学习算法的一些体会。二分法应该算是算法里最基本的一种方法了,常用于在一个有序数组中查找某个值第一次出现的位置、最后出现的位置、或者是一段区间。有序数组中如果...
堆是一种非常常用的数据结构,常常用来实现优先队列。下面来说一下,堆的一些特性。堆(二叉堆)的成立条件如下:具有n个元素的序列:{k1,k2,ki,…,kn} ,(ki <= k2i,ki <= k2i+1) 或者 (ki >= k2i,ki ...
文章所罗列的问题虽然看似简单,但是每个背后都涵盖了一个或几个大家容易忽视的基础知识点,希望能够帮助到你的面试和平时工作。...
上一节 主要系统讲了反射的用法,虽然讲解了用法,但是没有对其在项目中的实际使用做讲解,不学以致用,不如不学。在好多框架底层实现上面使用了反射,所以要理解和分析框架底层源码的话,必须掌握反射,不然的话理解十分的困难。 下面我们讲下反射在实际开发中...
Yesf是一个基于Swoole的PHP框架。提供了以下功能: MVC模式和路由分发 插件支持 多端口监听 异步任务 Yesf is a PHP framework based on Swoole. The following functions are...
之前简单介绍了动态规划的概念和解题步骤,但是学习中感觉动态规划的应用范围太灵活了,这里就挑一些常见的题目多练习一下。 1、最长公共子序列(字符串相关) 给出两个字符串,找到最长公共子序列(LCS),返回LCS的长度。例如:例如:给出"ABCD"和"EDCA",...
1.1 什么是Composer 一句话:Composer是PHP的一个依赖管理工具,类似于java中的maven, node 中npm, iOS中的cocoapod。它会在你的项目中为你安装这些依赖的库文件代码,如果想了解Composer如何安装,以及入门使用...
在php请求接口的时候,我们经常需要考虑的一个问题就是数据的安全性,因为数据传输过程中很有可能会被用fillder这样的抓包工具进行截获。一种比较好的解决方案就是在客户端请求发起之前先对要请求的数据进行加密,服务端api接收到请求数据后再对数据进行解密处理,返...
感觉写这篇还挺是时候的,虽然本应该在上一篇之后就应该写这篇的。一直拖到现在,拖到了网易”被拖“。 上篇中说到使用aes加密,但是无论如何他还是很容易破解的,而且可以说无难度破解,首先如果想在传输过程中破解,就算你是传输的加密的数据,但是他只要同时劫持到你的js...
声明 本文翻译自 PHP 开发组成员 Nikita Popov(@nikic) 的博客,文章根据中文习惯做了一定的调整。 原文:PHP’s new hashtable implementation Disclaimer This article is ...
昨天没什么事,先看一下电影,就用php写了一个爬虫在视频网站上进行视频下载地址的抓取,半个多小时,大约抓取了3万多条ftp地址数据,效果还是可以的。这里总结一下抓取过程中遇到的问题1:通过访问浏览器来执行php脚本这种访问方式其实并不适合用来爬网页,因为要受到...
特别声明: 以下文档均针对 payment 2.0 以上版本,并且PHP需要5.5以上(含)。 代码中所有编码均使用 utf-8 。 通过几天的时间,终于把payment 2.0的基本结构搭好了。今天刚完成支付宝 即时到帐 接口的开发。赶紧把使用文档给补上...
什么是 OpCode 缓存 OpCode 缓存是PHP性能增强的扩展,它们通过将自己注入PHP的执行生命周期,并缓存编译阶段的结果,以便以后重用。近通过启用 OpCode 缓存即可看到3倍的性能提升并不罕见。 什...
上一篇文章我们实现通过JWT实现了在Laravel中进行Token的认证,下面我们来实现一下Rbac权限管理的功能。我们之前的后台项目的权限管理功能都是靠开发一行一行代码码出来的,这种方式的不仅开发速度比较的慢,而且容易出错,不利于以后的扩展。所以新项目我们使...
PHP程序员进阶学习书籍参考指南 @heiyeluren lastmodify: 2016/2/18 ...
PHP编程中的锁 最近看了《理解Linux进程》这本开源书,链接。该书描述了linux中的进程概念,对锁和进程间通信(IPC)有一些总结。不过该书的描述语言是golang...
命名空间主要是为了解决代码中类和函数可能存在冲突的问题,而这个特性其他语言一早就有,PHP则是姗姗来迟,它的出现催生了 PSR-4 的诞生,从而也催生了 Composer 的兴起,所以是非常重要的特性。 命名空间的定义 ...
最近在用Laravel框架进行开发,感觉Laravel最大的设计特点就是使用了容器来动态的实现类的加载。说实话,之前我自己并没有接触过容器这么"高大上"的概念,最近一接触第一感觉是‘晕’,不过慢慢理解下来,感觉还是蛮有意思的,下面是我的一点...
什么是设计模式 设计模式,是一种解决问题的思维,而并非某种特定的方法。是前人给我们总结的宝贵经验。学习设计模式是为了编写可复用、可拓展、高性能软件。设计模式是熟练运用OOP后自然而然形成的代码习惯。达到最高境后只有一句话:高内聚...
重要使命 经过十几天的忙碌,张小五手上的项目终于如期上线,虽然很累,但内心无比的充实与喜悦。喝了杯热咖啡,小五在椅子上慵懒地躺着,享受着这份静谧的时光。 "嗨,小五,这几天累坏了吧?""哈哈,是有点累,不过还好。" &q...
工欲善其事必先利其器。如果你想快速的开发项目,必须选一个合适你的开发工具。这里主要说一下PhpStorm对laravel的支持。 Laravel Composer支持 ...
原文出处:nowamagic PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。 PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含...
最近,我们要对项目部的后台管理系统进行升级,现有的后台是项目部大牛自己搞的框架实现的,稳定运行了N年,但是也还是挡不住新的需求,只能重新搞一个。。。。为了提交开发的速度决定采用现在比较流行的Laravel框架。这次我们也决定时髦一回,不再采用PHP加载渲染静态...
定时任务 Scheduled Tasks 是 Laravel 提供的组件之一,稍微上点规模的项目应该都会用到,比如开发微信应用时通过定时任务去刷新access token,比如每天定时发推送提醒用户要记得签到。对于定时任务的基本用法,官网文档已经描述得很详细了...
很多人学了许久的PHP,但对于框架和CMS的认识比较模糊。 这个其实很重要,应该全面而清晰的认识。本人结合自己多年的开发项目经验,斗胆总结一些,供后来学习者参考: 1:各自代表 框架代表:ThinkPHP(简称TP,以及它的最新版TP5),Laravel,YI...
Cookie 简介 Cookie是存储在客户端浏览器中的数据,我...
Grafika是一个PHP图像处理库,是基于Imagick和GD,可以用于改变图片大小,剪裁,比较,添加水印等等功能。还有感知哈希,高级图像过滤,绘制贝塞尔曲线等功能,可谓非常强大。 由于功能太多,所以分成几篇文章写。 ...
持续集成解决的问题 统一代码发布 自动构建工程 多机自动化部署 ...
说明:这个课程——【16个PHP设计模式详解】:主要介绍16个常用的设计模式的基础概念和技术要点,通过UML类图帮助理解设计模式中各个类之间的关联关系,针对每种设计模式都使用PHP完成了一个代码示例,让你跟随实例轻松入门设计模式。 ...
这里总结一下,PHP实现get/post请求中的注意点。在我们实现get/post请求的时候,需要注意发送内容的编码格式问题(1):get请求是将需要发送的数据转化为key=value键值对的形式,然后进行urlencode编码(进行urlencode编码主要...
欢迎大家关注腾讯云技术社区-掘金主页哦~开通专栏第一天,果断给大家推一篇干货~~~ 王亚军,腾讯工程师,负责OMG无线新闻、腾讯视频图片服务等的业务运维工作。 谷歌大神又出开源新技术啦,这次是对JPEG格式的图片采用全新算法重新编码,输出的图片还是JPE...
trait 是在PHP5.4中为了方便代码复用的一种实现方式,但目前我在看的的PHP项目中较少看的有程序员去主动使用这个实现方式,在laravel中有很多 trait 的使用,关于trait 在 laravel 的使用请参看 Laravel 在哪些地方用了 t...
欢迎 目前网络上充斥着大量的过时资讯,让 PHP 新手误入歧途,并且传播着错误的实践以及不安全的代码。PHP 之道 收集了现有的 PHP 最佳实践、编码规范和权威学习指南,方便 PHP 开发者阅读和查找。 使用 PHP 沒有规范化的方式。本网站...
前言 曾经记得鸟哥Laruence提过不建议使用”魔术方法”,自此之后一旦涉及使用魔术方法的地方,我都会下意识的想一下,这样写真的好吗?由于这一到两年来一直忙于工作和学习新的知识,所以在这道坎儿上一直没有做深入的探索一直恍恍惚惚过去了,今年是我进行深入...
我们在常见的PHP的框架如YII、TP中通常写好一个类只需写好相应的命名空间就可以实现类的使用。那么你知道为什么不再需要使用include文件了吗?框架是怎么帮你做到这个文件的引用的呢?其中的原理就是——类的自动加载。 如果没有...
Laravel服务之任务调度 1、简介 在以前,开发者需要为每一个需要调度的任务编写一个Cron条目,这是很让人头疼的事。你的任务...
CAS 是目前比较流行的单点登录协议,官方提供了 php 版本的 client 端 phpCAS,到目前为止其编码风格还一直停留在 PEAR 时代,连命名空间都没有使用。好在 phpCAS 支持 composer 引入,做过几个 Laravel 项目引入也没有...
Laravel 版本:5.4.0 Laravel 在引入 composer 自动加载 后,进行了极为重要的一步,Application 实例化。该类的全称是 IlluminateFoundationApplication,查...
在研究 Laravel 源码的过程中,我遇到的第一个问题就是:Laravel 的中使用到的那些类是如何被加载进来的? 在 Laravel 的入口文件的第二行代码中,引入了 bootstrap 文件夹下的 app.php 文件。而...
1 ...
从0开始构建一个属于你自己的PHP框架 英文版 为什么我们要去构建一个自己的PHP框架?可能绝大多数的人都会说“市面上已经那么多的框架了,还造什么轮子?”。我的观点“造轮子不是目的,造轮子的过程中汲取到知识才是目的...
1 ...
<span type="button" class="copyCode code-tool" data-toggle="tooltip" data-placement="top" data-clipboard-text="/
* PHP队列算法 * ...
命名空间主要是为了解决代码中类和函数可能存在冲突的问题,而这个特性其他语言一早就有,PHP则是姗姗来迟,它的出现催生了 PSR-4 的诞生,从而也催生了 Composer 的兴起,所以是非常重要的特性。 命名空间的定义 ...
工欲善其事必先利其器。如果你想快速的开发项目,必须选一个合适你的开发工具。这里主要说一下PhpStorm对laravel的支持。 Laravel Composer支持 ...
现在有很多关于Docker的争吵,这是正常的。因为Docker带来了一个重大飞跃,app的集装箱化活用,将搭建例如google和facebook那样强大的数据中心的能力带到了普通的开发者或系统管理员的手中。 Docker使用源生...
(一):面向对象编程OOP OOP(Object-Oriented Programming), 面向对象的编程)技术为编程人员敞开了一扇大门,使其编程的代码更简洁、更易于维护,并且具有更...
做 PHP 开发,选择合适的 PHP 库非常重要,优秀的 PHP 库可以为你节省很多代码和编码时间。本文在是在上一篇文章《PHPer 进击学习之路:各种实用的 PHP 开源库推荐(1)》基础上做的补充,希望对你的学习工作有帮助。 11、PHP 邮件发送包&...
这篇来自于看到朋友转的58沈剑的一篇文章:1分钟实现“延迟消息”功能 在实际工作中也不止遇见过一次这个问题,我在想着以前是怎么处理的呢?我记得当初在上家公司的时候直接使用的是laravel的queue来实现的。当然,这里说的laravel的queue实际上也是...
0x00 背景 php对象注入是一个非常常见的漏洞,这个类型的漏洞虽然有些难以利用,但仍旧非常危险,为了理解这个漏洞,请读者具备基础的php知识。 0x01 漏洞案例 如果你觉得这是个渣渣洞,那么请看一眼这个列表,一些被审计狗挖到过该漏洞的系统,你可以发现都是...
一、背景介绍 前一阵公司业务有一个生成红包的需求,分为固定红包和随机红包两种,固定红包没什么好说的了,随机红包要求指定最小值,和最大值,必须至少有一个最大值,可以没有最小值,但任何红...
定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时发布文档,定时清理垃圾信息等,现在的网站大多数都是采用PHP动态语言开发的,而对于PHP的实现决定了它没有Java和.Net这种AppServer的概念,而http协议是一个无状态的协议,PHP只能被...
说明 性能一直是 Laravel 框架为人诟病的一个点,所以调优 Laravel 程序算是一个必学的技能。 接下来分享一些开发的最佳实践,还有调优技巧,大家有别的建议也欢迎留言讨论。 这里是简单的列表: 配置信息缓存 artisan config:c...
自动依赖注入 什么是依赖注入,用大白话将通过类型提示的方式向函数传递参数。 实例 1 首先,定义一个类: ...
mysql有多种存储引擎,目前常用的是 MyISAM 和 InnoDB 这两个引擎,除了这两个引擎以为还有许多其他引擎,有官方的,也有一些公司自己研发的。这篇文章主要简单概述一下常用常见的 MySQL 引擎,一则这是面试中常被问到的问题,二则这也是数据库设计中...
PHP-小顶堆-TopN 介绍 在以往工作或者面试的时候常会碰到一个问题,如何实现海量TopN,就是在一个非常大的结果集里面快速找到最大的前10或前100个数,同时要保证内存和速度的效率...
随着API的迅速发展,如何编写出更加规范的API文档说明则显的尤为重要。 你是否还通过手写的方式来生成和编写这些文档呢? 那么你就OUT啦! 工欲善其事,必先利其器。 本文分享一款工具:PHP_DOC。 可在线实时查看API接口的参数、返回和说明,无须手动维护...
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 本篇文章,主要介绍利用PHP使用Redis,主要的应用场景。 简单字符串缓存实战 $redis->connec...
为什么需要编码规范? 为了提高工作效率,保证开发的有效性和合理性。 为了提高代码可读性和可重复利用性,从而节约沟通成本。 本文主要参考了 PEAR 规范,并进行适当的简化和调整。 主要介绍,命名规范、注释规范、代码风格。 文件标记 所有PHP文件...
前言 最近又在推动公司内部PHPer们代码规范化,今天我整理了一下贴出来以供大家参考。 编码规范 PHP代码文件必须以 <?php 标签开始。 <?php //...
欢迎 目前网络上充斥着大量的过时资讯,让 PHP 新手误入歧途,并且传播着错误的实践以及不安全的代码。PHP 之道 收集了现有的 PHP 最佳实践、编码规范和权威学习指南,方便 PHP 开发者阅读和查找。 使用 PHP 沒有规范化的方式。本网站...