LMLPHP后院

白领掉头发的元凶竟然是它!震惊院内

maybe yes 发表于 2017-08-01 10:10

取了一个很俗的标题。

上世纪七八十年代,农民是国家的主力,农业大国,羊毛当然是农民的汗水。新世纪开始,白领大军正式成为了国家主力,羊毛自然是白领阶级的汗水。

文化的形成是个很复杂很必然的过程,压抑、帝国式无监管办公室文化在如今没有血性的年轻人身上是必然的。在一线城市拼搏(本不该用这个词,因为并不是在拼搏)的年轻人极大多数都是白领,他们大多数坐在办公室,看着屏幕,日复一日年复一年。

于是很多傻逼就认为,是电脑的辐射导致头发脱落,其实这种观点是不太正确的,有这个因素,它微乎其微。当今社会哪个人离得开手机屏幕?

真正的元凶是睡眠,白领的压力导致睡眠普遍不太好,熬夜和透支劳动导致体力消耗,于是脱发就产生了。一连几天的熬夜,洗个头就是一撮头发下来了。而如果一个白领浑浑噩噩混日子,头发脱落会少很多。

在 PHP 中打印 trace 信息技术

maybe yes 发表于 2017-07-30 19:05

看 PHP 官方提供了几个函数,但是都不怎么好用。比如 debug_print_backtrace 是直接打印,并不返回值,这样需要借助缓冲区才能实现,比较麻烦;debug_backtrace 返回的是数组,需要 implode 才可以使用,并且冗余信息太多。

高手在民间啊,也许很多人都意识到了这个不好用的问题,于是有了下面的解决方案:

$e = new Exception();
echo str_replace('/path', '', $e->getTraceAsString());

是不是超级爽,欠操的应该是 PHP 啊。

Java 中如何避免空指针异常技术

maybe yes 发表于 2017-07-27 11:02

在 Java 程序中,排名前几位的异常一定包含空指针异常,空指针异常是程序员之痛,甚至让人怀疑 Java 语言的设计问题。其实,空指针异常是可以根治的,写下这篇文章希望能给大家带来帮助。据网友总结,Java 空指针异常 NullPointerException 主要原因如下:

  • 引用空对象,即调用空对象的方法或引用空对象的属性
  • 将 java8 中基础类型的封装类赋值给对应的基础类

如何避免空指针异常:?

多留心,多判断

多使用 CollectionUtils,MapUtils,StringUtils.isNotEmpty() 等进行判断。

多余的性能担忧

很多网友担心性能问题,其实多几个简单判断对于计算机来讲可以忽略不计。

PHP7 返回值类型与声明不符报错技术

maybe yes 发表于 2017-07-25 10:52

PHP7 的函数和方法支持声明返回值类型,出于好奇,试了下如果在运行时返回值类型与声明不符会怎么样?

<?php

function test() : array{
    return 'lmlphp';
}

test();

如下致命错误:

PHP Fatal error:  Uncaught TypeError: Return value of test() must be of the type array, string returned in /home/may/work/code/repo/lmlphp.com/temp1.php:4
Stack trace:
#0 /home/may/work/code/repo/lmlphp.com/temp1.php(7): test()
#1 {main}
  thrown in /home/may/work/code/repo/lmlphp.com/temp1.php on line 4

在PHP中导入命名空间的函数技术

maybe yes 发表于 2017-07-25 10:31

PHP 5.6 之后支持命名空间导入函数了,算是一个新玩意儿,并且还支持命名空间常量的导入,这个都是命名空间刚出来那会儿不支持的。 

// importing a function (PHP 5.6+)
use function My\Full\functionName;

重命名

// aliasing a function (PHP 5.6+)
use function My\Full\functionName as func;

使用常量

// importing a constant (PHP 5.6+)
use const My\Full\CONSTANT;
2024-04-20 01:33:46 1713548026 0.006803