www.laruence.com Open in urlscan Pro
49.233.86.165  Public Scan

Submitted URL: http://www.laruence.com/
Effective URL: https://www.laruence.com/
Submission: On January 20 via api from US — Scanned from DE

Form analysis 2 forms found in the DOM

GET https://www.laruence.com/

<form role="search" method="get" class="search-form" action="https://www.laruence.com/">
  <label class="screen-reader-text" for="search-field">Search</label>
  <input id="search-field" type="search" class="search-field" value="" name="s" title="Search for:" placeholder="Search for...">
  <input type="submit" class="search-submit" value="Search">
</form>

GET https://www.laruence.com

<form action="https://www.laruence.com" method="get"><label class="screen-reader-text" for="cat">分类</label><select name="cat" id="cat" class="postform">
    <option value="-1">Select Category</option>
    <option class="level-0" value="2">GNU C/C++&nbsp;&nbsp;(11)</option>
    <option class="level-0" value="3">Js/CSS&nbsp;&nbsp;(24)</option>
    <option class="level-0" value="4">Linux/Unix&nbsp;&nbsp;(15)</option>
    <option class="level-0" value="5">MySQL/PostgreSQL&nbsp;&nbsp;(7)</option>
    <option class="level-0" value="6">PHP Extension&nbsp;&nbsp;(19)</option>
    <option class="level-0" value="7">PHP7&nbsp;&nbsp;(9)</option>
    <option class="level-0" value="733">PHP8&nbsp;&nbsp;(5)</option>
    <option class="level-0" value="8">PHP应用&nbsp;&nbsp;(188)</option>
    <option class="level-0" value="9">PHP源码分析&nbsp;&nbsp;(86)</option>
    <option class="level-0" value="10">转载&nbsp;&nbsp;(34)</option>
    <option class="level-0" value="11">随笔&nbsp;&nbsp;(111)</option>
  </select>
</form>

Text Content

Press "Enter" to skip to content
风雪之隅

左手代码右手诗

open menu mobile menu toggle button
 * 主页
 * PHP源码分析
 * PHP应用
 * JS/CSS
 * 随笔
 * 留言
 * 博客地图


PHP8.0的NAMED PARAMETER

Published on 10 May 2022 by laruence

年前花了点时间,对Yar的性能做了一些做了一些提升,但是也遇到一个让我有点不舒服的当初没有良好设计遗留的问题,就是在并行调用RPC的时候,现在的方法原型是:

 1. public static Yar_Concurrent_Client::call(string $uri, string $method, ?array $arguments = NULL, ?callable $callback = NULL, ?callable $error_callback = NULL, ?array $options = NULL):null|int|bool {}

是不是一看就很头大?

Filed in PHP应用, 随笔
with 25 Comments


关于PHP,关于REALSEE

Published on 12 April 2022 by laruence

从PHP8.0之后,我参与PHP开源就少了,从而博客也写的少了,不少朋友来问,所以觉得有必要用一篇文章说明下近况。

总的来说,本职工作发生了一些变化,导致工作上的事情,牵扯了太多的精力,从而没有办法有太多的精力投入PHP开源工作中。

而关于,工作的变化,我稍微详细的介绍下:

Filed in 随笔
with 40 Comments


PHP8新特性之MATCH表达式

Published on 13 July 2020 by laruence

PHP8 alpha2发布了,最近引入了一个新的关键字:match, 这个关键字的作用跟switch有点类似。

这个我觉得还是有点意思,match这个词也挺好看,那么它是干啥的呢?

Filed in PHP8, PHP应用, 随笔
with 77 Comments


一个关于IF ELSE容易迷惑的问题

Published on 9 July 2020 by laruence

这个本来是之前在微博上有个同学说他经常用来面试别人,大概是说,对于如下代码,你觉得会输出啥:

 1. $a = true;
 2. if ($a) {
 3.   echo "true";
 4. } else label: {
 5.   echo "false";
 6. }

当时没想写,今天中午又有人问我,我想那就介绍下这个原因吧.

Filed in 随笔
with 43 Comments


PHP 8新特性之JIT简介

Published on 27 June 2020 by laruence

PHP8 alpha1已经在昨天发布,相信关于JIT是大家最关心的,它到底怎么用,有什么要注意的,以及性能提升到底咋样?

Filed in PHP8, PHP应用
with 81 Comments


使用SSE2指令高效实现STRTOLOWER

Published on 16 June 2020 by laruence

PHP的类名,函数,方法名是不区分大小写的,也就是说无论你怎么定义函数名,实际上在引擎层面查找的时候都是会统一转换成小写形式来做的。
也就是说strtolower的应用是非常普遍的。

当然,PHP也做了很多的设计来避免对字符串做过多的字符串小写操作,比如如果我们在PHP代码中写下:

 1. CamelFunc();

这样的函数调用的时候, PHP会在编译时刻就把CamelFunc全部小写,然后存储在原始字面量之后(PHP-5.4 literals)。

Filed in GNU C/C++, PHP8, PHP应用, 随笔
with 15 Comments


PHP 8新特性之ATTRIBUTES(注解)

Published on 12 June 2020 by laruence

PHP8的Alpha版本,过几天就要发布了,其中包含了不少的新特性,今天呢,我想谈谈Attributes,为啥呢,
是昨天我看到很多群在转发一个文章,叫做《理解PHP8中的Attributes》,说实在的,这篇文章应该是直接从英文翻译过来的,写的晦涩难懂,很多同学看完以后表示,看的一头雾水,不知道在说啥。

于是我想,就用一篇文章来简单说说这是个啥。

Filed in PHP8, PHP应用, 随笔
with 76 Comments


使用OSC52实现ITERM2远程PBCOPY

Published on 21 May 2020 by laruence

最高效的码字方式,一定有一个特点,那就是手指离开键盘的次数尽可能的少。 并且手指码字的时候的在键盘的跨度尽可能的短,
这也是我认识不少老牌程序员用Vim也不用ESC, 而是使用ctrl+[, 甚至还有....

Filed in GNU C/C++, 随笔
with 19 Comments


YAF 3.2 发布

Published on 18 April 2020 by laruence

经过俩周多的重构,终于一咬牙今天发布了Yaf 3.2.0 beta, 要不然一直在想各种可能的优化点,不停的写,没完了, 🙂

这次的重构的最初出发点是把原来的Yaf对象从PHP的原生对象,改成了自定义的对象:

Filed in PHP应用, 转载
with 22 Comments


使用PHP SOCKET开发YAR TCP服务

Published on 1 April 2020 by laruence

Yar支持HTTP和TCP俩种Transporter, HTTP的是基于CURL,PHP中的Yar默认就是走的HTTP Transporter,
这个大家应该都不陌生, 但是基于TCP的, 可能大家会用的少一些。
今天我们尝试用PHP来写一个TCP的Server,来介绍下如何实现对Yar RPC协议的处理,
这个例子可以方便的结合Swoole等异步PHP框架,实现一个高性能的Yar TCP Server。 这个过程中,
会让大家了解Yar的RPC通信协议,以及捎带了解下Socket编程。

Filed in PHP7, PHP应用
with 31 Comments


POSTS NAVIGATION

1 2 … 30 Next


SIDEBAR

Laruence

PHP开发组核心成员, Zend顾问, PHP7及PHP8 JIT核心作者. Yaf等开源项目作者.



Search


开源项目

Yaf:  PHP Framework in PHP extension
Yar:  Light, concurrent RPC framework
Yac:  PHP Contents cache
Yaconf:  PHP Configurations Container
Taint:  XSS code sniffer
Lua:  Embedded lua interpreter
MsgPack:  MessagePack in PHP extension
Couchbase:  Libcouchbase wrapper
See also:  laruence@github


最新评论

 * Hengist Wang on 关于调用约定(cdecl、fastcall、stcall、thiscall) 的一点知识
 * 拍黄瓜 on PHP 8新特性之Attributes(注解)
 * 陶路 on 博客迁移到腾讯云
 * tattvamretreat on 深入理解Zend SAPIs(Zend SAPI Internals)
 * Sobha Town Park on PHP 8新特性之JIT简介


个人公众号


标签

Apache apc bug C++ core curl Extension IE javascript js json mysql nginx opcache
Performance PHP PHP5.4 PHP5.4新特性 PHP7 PHP8 PHP 8 PHP extension php原理 PHP应用 PHP扩展
php源码 php源码分析 SAPI session valgrind vim yac Yaf Yaf_Loader Yar zval 优化 低概率core
内核 原理 开发php扩展 性能 性能优化 扩展开发 正则


分类

分类 Select Category GNU C/C++  (11) Js/CSS  (24) Linux/Unix  (15)
MySQL/PostgreSQL  (7) PHP Extension  (19) PHP7  (9) PHP8  (5) PHP应用  (188)
PHP源码分析  (86) 转载  (34) 随笔  (111)


LINKS

 * Licence
 * Sitemaps
 * Site Feed
 * Yaf Manual
 * SSE Intrinsics Guide
 * X86 Instruction Reference
 * Realsee


访客地图



© 风雪之隅/ 博客声明/ 京ICP备15032766号/PHP 8.1.0-NTS(JIT)/ Theme By Compete Themes