php 循环的使用 (php 99乘法表)

1、while循环 PHP 中最简单的循环 //指定的条件为真,while 循环执行代码块 (输出1~9) $i = 1;$max = 10;while($i<$max){ echo $i; echo '<br>'; $i++; } 2、do...while循环 //先执行一次,后检查条件,若条件为真,则重复循环 (输出1~9) $i = 1;$max = 10;do{ echo $i; echo '<br>'; $i++; }while($i<$max); 3、for循环 PHP 中最复杂的循...阅读全文

Segmentfault 2019-04-26 15:04:12 技术小白宅

Leetcode PHP题解--D43 589. N-ary Tree Preorder Traversal

D43 589. N-ary Tree Preorder Traversal 题目链接 589. N-ary Tree Preorder Traversal 题目分析 N维数组的先序遍历。 这题也不想多说什么了。是比较基础的题目了。 先序就是先根后子而已。没什么难的。 思路 在遍历子节点之前,先保存当前节点的信息。 最终代码 <?php class Solution { public $val = []; function preorder($root) { if(!$root){ return...阅读全文

Segmentfault 2019-04-26 12:04:09 skys215

马蜂窝火车票系统服务化改造初探

交通方式是用户旅行前要考虑的核心要素之一。为了帮助用户更好地完成消费决策闭环,马蜂窝上线了大交通业务。现在,用户在马蜂窝也可以完成购买机票、火车票等操作。 与大多数业务系统相同,我们一样经历着从无到有,再到快速发展的过程。本文将以火车票业务系统为例,主要从技术的角度,和大家分享在一个新兴业务发展的不同阶段背后,系统建设与架构演变方面的一些经验。 第一阶段:从无到有 在这个阶段,快速支撑起业务,填补业务空白是第一目标。基于这样的考虑,当时的火车票业务从模式上选择的是供应商代购;从技术的角度需要优先...阅读全文

Segmentfault 2019-04-26 11:04:13 马蜂窝技术

laravel 使用 zip压缩

第一步 laravel框架引入zip扩展包 composer require chumper/zipper 第二步 依赖注入 // config/app.php 文件 providers 加上 Chumper\Zipper\ZipperServiceProvider::class, aliases 加上 'Zipper' => Chumper\Zipper\Zipper::class, 第三部 使用方法 //引入 use Chumper\Zipper\Zipper; $zipper = new ...阅读全文

Segmentfault 2019-04-26 11:04:12 浪浪

对PHP SESSION的深刻认识

前言:在不久之前,本人去参加了某公司的实习面试,其中面试官问我关于 SESSION 实现的原理,当时我就懵逼了,因为在之前的开发中,我只知道 session 与 cookie 的区别在于:session 是保存在服务器端,cookie 保存在客户端。那 session 在服务端是怎么样保存的?session_id 又是什么?等等。我当时答不上来。回来后决定把这些搞懂。 为什么要使用 SESSION?是因为目前网络中所使用的http协议造成的,http协议是无状态协议,通俗点说就是当你发送一次请求...阅读全文

Segmentfault 2019-04-26 10:04:14 小时光

PHP伪协议总结

参考了这篇文章:php伪协议实现命令执行的七种姿势,并根据自己理解进行了总结,也算是加深一下印象,方便以后使用。 file:// 协议 条件: allow_url_fopen:off/on allow_url_include :off/on 作用:用于访问本地文件系统,在CTF中通常用来读取本地文件的且不受allow_url_fopen与allow_url_include的影响。include()/require()/include_once()/require_once()参数可控的情况下,如...阅读全文

Segmentfault 2019-04-26 00:04:11 我汤姆要报警了

php 使用rabbitmq 踩坑记录

环境 1.安装rabbit php使用 安装包,直接安装composer 安装php-amqplib/php-amqplib 这个包 生产着 连接mq server require_once __DIR__.'/vendor/autoload.php'; use PhpAmqpLib\Connection\AMQPStreamConnection; use PhpAmqpLib\Exchange\AMQPExchangeType; use PhpAmqpLib\Message\AMQPMessa...阅读全文

Segmentfault 2019-04-25 19:04:12 书写空白

运维笔记:PHP+nginx编译安装参考

前言 由于很多新手问我怎么做编译安装,所以就蛮整理一下。学会编译安装,无论是开发或者运维,都是皆要掌握的硬性要求。 PHP 依赖 yum install libxml2-devel bzip2-devel libcurl-devel libpng-devel libXpm-devel libjpeg-turbo-devel gmp-devel freetype-devel libvpx-devel krb5-devel zlib-devel pcre-devel pam-devel openss...阅读全文

Segmentfault 2019-04-25 15:04:15 Lowky

【PHP源码学习】2019-03-19 PHP引用

【PHP源码学习】2019-03-19 PHP引用 baiyan 全部视频:https://segmentfault.com/a/11... 原视频地址:http://replay.xesv5.com/ll/26... 由于这个系列的视频后面会再次细讲垃圾回收,那么我们今天先复习一下PHP中的引用,为后面做一个铺垫,后续的笔记会详细讲解垃圾回收器的相关运行原理。 PHP7中的引用 引用:可以通过不同的变量名,访问同一个变量内容。 PHP7中的引用通过让两个变量指向同一块内存空间实现了上述特性。在...阅读全文

Segmentfault 2019-04-25 15:04:15 NoSay

基于 Docker ,Gogs,Jenkins,Kubernetes 实践工程源代码的自动构建和持续集成与部署交付

本期目标 : 基于 Centos 7.6 , 封装出一个可用于运行 php 项目的开箱即用镜像本文不讨论 dockerfile 语法 , 并且假设你懂得基本的类unix 操作系统常识并拥有类unix 运行环境 (包括但不限于安装了mac 或 linux 的实体机 , 类unix虚拟机 , 安装了 MinGW 或 CygWin 的 windows 机器) , 并且认为你懂得基本的 docker 操作和有一定的 dockerfile 阅读能力 准备工作 建立工作目录 mkdir ~/docker-l...阅读全文

Segmentfault 2019-04-25 13:04:12 DevTTL

[译]如何基于Laravel构建Vue应用(一)

使用Laravel能优雅的构建API并且与Vue单页面应用程序(SPA)完美结合。在本教程中,我们将展示如何启动和运行Vue路由器以及用于构建SPA的Laravel后端。我们将重点关注所需的所有部分,然后在后续教程中,我们将进一步演示如何使用Laravel作为API层。 Vue SPA如何运行的: 第一个请求命中服务器端Laravel路由器 Laravel渲染SPA布局 后续请求利用history.pushStateAPI进行URL导航,而无需重新加载页面 Vue路由器可以配置为history模...阅读全文

Segmentfault 2019-04-25 12:04:13 seakee

关于PHP加解密的懒汉入门篇(API安全加强篇一)

懒汉 入门 这两点就足以说明这篇文章不想要着有什么高端大气的技术内容,我跟你讲,全是水。不可能有什么质数素数、椭圆曲线加密、迪菲-赫尔曼什么的,不可能有的。 首先我不懂,其次,反正你们也不懂。 不过这里还是要先说一点儿,就是很多泥腿子一直拿md5当加密算法来看待,但实际上md5是一种信息摘要算法(其实就是哈希),不是加密算法,因为md5不可逆,但是加解密是一个可逆的过程,所以以后这种低级错误还是不要犯的为好。 加密技术一直是技术圈中的一个独特领域和分支,其一些原理并不是随随便便就可以理解的来的。...阅读全文

Segmentfault 2019-04-25 11:04:12 elarity

MOCK API 的定义及实践(使用eolinker实现)

MOCK API 的定义 根据百度百科的定义,mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。这个虚拟的对象就是mock对象,mock对象就是真实对象在调试期间的代替品。 在瀑布流开发模式中,如果前端开发人员需要进行页面对接,需要后端先完成API的开发工作,如果没有mock,那么前后端开发的进度会互相影响。 通过 Mock API事先编写好 API 的数据生成规则,由工具动态生成 API 的返回数据。开发人员通过访问 Mock AP...阅读全文

Segmentfault 2019-04-24 18:04:15 neos

程序员如何在996之外获得收入

我技术之外的资本是零,如果你也是这样,那这篇文章适合你! 这是我的故事之一,希望对你有启发。如果你每天下班后就是躺在床上刷刷斗音,看看微博。但是又总想摆脱黑暗迷乱找不到出口,只能一天天的随波逐流看着自己慢慢沉沦。又或者临时兴起,想去健身,想去学习,三天之后回到原状。如果看到这里没感觉,那这一条如何,今年996,你说自己年轻可以接受,后年997你说我有老婆孩子咬咬牙也能忍了。大后年不好意思你连996的福报也没有了,你因年龄太大被公司扫地出门。是不是想去奋斗了~这不是焦虑,这是事实。我不知道从什么时...阅读全文

Segmentfault 2019-04-24 18:04:14 李古拉雷

个人免执照申请官方支付宝接口,即时到账!附支付demo

我们知道要想使用支付宝,要具备以下条件 具备个体工商户营业执照或者企业营业执照。 这样才能申请到支付宝接口的,对于个人开发者,根本就是一个大门槛,为了支付而去注册一家公司,有点成本高了,那么个人可以用支付宝吗?在这之前不可以,现在可以了!因为支付宝有服务商,有能力的企业可以申请成为支付宝官方签约的服务商,服务商签约后,就可以获得开发权限。 所以有一家公司:北京顶风科技有限公司,他成为了服务商,然后开发了PAYJS,用于开放接口给个人开发者接入官方支付宝!所以我们可以利用PAYJS的接口进行开发即...阅读全文

Segmentfault 2019-04-24 10:04:13 TANKING

MySQL - 扩展性负载均衡:眼花缭乱迷人眼

负载均衡的基本思路很简单: 在一个服务器集群中尽可能地的平均负载量。 基于这个思路,我们通常的做法是在服务器前端设置一个负载均衡器。负载均衡器的作用是将请求的连接路由到最空闲的可用服务器上。如图 1,显示了一个大型网站负载均衡设置。其中一个负责 HTTP 流量,另一个用于 MySQL 访问。 负载均衡有五个常见目的: 可扩展性。负载均衡对某些扩展很有帮助,比如读写分离时从备库读数据。 高效性。负载均衡因为能够控制请求被路由到何处,因此有助于更有效的使用资源。 可用性。灵活的负载均衡方案能够大幅提...阅读全文

Segmentfault 2019-04-24 10:04:12 北国风光

Laravel 开源学校管理系统

文章转自:https://learnku.com/laravel/t... Unified Transform 是一个开源的学校管理平台,使用Laravel 5.5(当前LTS)和 可在GitHub上获得 构建: 在较高的层次上,Unified Transform的主要功能包括: 角色: 超级管理员, 管理员, 老师, 学生, 图书管理员, 会计师 出勤 评分 注册 公告, 教学大纲 图书馆 考试 年级 账号 消息 这是一个大型的 Laravel 项目,因此您可能希望深入了解开源代码(包括测试)...阅读全文

Segmentfault 2019-04-24 10:04:12 Charlie_Jade

Leetcode PHP题解--D41 104. Maximum Depth of Binary Tree

104. Maximum Depth of Binary Tree 题目链接 104. Maximum Depth of Binary Tree 题目分析 返回给定的二叉树有多少层。 思路 每下一级,层树+1,并记录到类属性level中。并判断是否大于已知最深层树。 最终代码 <?php /** * Definition for a binary tree node. * class TreeNode { * public $val = null; * public $left = null; ...阅读全文

Segmentfault 2019-04-24 09:04:10 skys215

【PHP源码学习】2019-03-18 复习前面的内容

【PHP源码学习】2019-03-18 复习前面的内容 baiyan 全部视频:https://segmentfault.com/a/11... 原视频地址:http://replay.xesv5.com/ll/24... 本笔记中部分图片截自视频中的片段,图片版权归视频原作者所有。 malloc函数深入 在PHP内存管理1笔记中提到,malloc()函数会在分配的内存空间前面额外分配32位,用来存储分配的大小和几个标志位,如图: 那么究竟是否是这样的呢?我们写一段测试代码验证一下: #incl...阅读全文

Segmentfault 2019-04-23 22:04:14 NoSay