PHP低级错误:Function name must be a string
印象中,对 PHP 的这种错误很少遇到,可是一旦遇到,一下子还找不出问题所在。 当一个人在开发的过程中很疲惫的时候,低级错误犯了,眼睛看着屏幕,不知所以然,于是全网寻找答案。下面的代码会出现 PHP Error:Function name must be a string。 <?php $_GET('name'); $_POST('name'); $_COOKIE('name'); ?> 函数名方法...
为什么PHP程序越写越讨厌
先吐槽一下。PHP 起初就是 C 语言写的一个小工具,用来处理和生成 HTML 文档,后来加上了一些语言的特性。一开始代码质量很差,以至于 PHP7 可以性能大幅提升 50% 以上。最没有意义的一个模块 session 竟然捆绑在 PHP 核心包中。PHP 的 session 模块一无是处,到现在为止我没发现这个东西有任何意义,并且里面有很多难用难学难理解的垃圾函数,不知道坑了多少人。两个傻逼函数 i...
Java 中如何避免空指针异常
Utils,MapUtils,StringUtils.isNotEmpty() 等进行判断。多余的性能担忧很多网友担心性能问题,其实多几个简单判断对于计算机来讲可以忽略不计。如何优雅的写出 Java 代码这个需要不断的积累和细腻的重构,一般需要 Java 大神才能回答这个问题,普通人还是老老实实的做好安全检查吧,稳定最重要。...
PHP数组式访问接口ArrayAccess
assign by reference to overloaded object,可以通过使用定义一个方法来实现引用赋值。 ArrayAccess 对象不支持自增自减操作符,这样会导致一个错误,如下代码示例。 Objects implementing ArrayAccess do not support the increment/decrement operators ++ and --, unl...
CSS3实现加载中旋转动画示例
CSS3 实现的动画更加流畅,更加细腻真实。本文摘录一个 CSS3 实现的渐变旋转加载中效果,开发过安卓的人都知道,安卓实现动画效果还是很繁琐的,使用 Js+dom 实现动画更加是复杂且不流畅。下面放代码:效果如下:.loader { width: 40px; height: 40px; border-radius: 50%; background: #ff7d2b; background: line...
通过 UA 来识别浏览器和操作系统
是不太准的。一般这种只适用于浏览器请求识别,如果是 APP 客户端一般也不会设置这样的字段,至少会换种方式或名字。如果要更加准确的判断这些信息,应该在客户端完成识别。即使意义不大,还得尝试去做。写这种代码,比较费时间,因为不仅仅是技术,而是需要大量的搜集工作。找了一些开源的软件包,大的吓人,有些竟然依赖网络请求,这样就很慢且不稳定。发现一个网上的接口,一看就是专业的。useragentstring.c...
PHP Fatal error: Can't use function return value in write context
经常写代码的你,是否遇到过这样的错误: FastCGI sent in stderr: "PHP message: PHP Fatal error: Can't use function return value in write context in ...这是与 php 版本有关的报错,不能使用函数返回值作为函数参数,5.5 之后就不会有。if (empty(self::conn())) re...
使用 CSS 3 transition 实现动画效果
到的,关键是坚持。就比如我,明知道喜欢的男生视我为空气,但我还是坚持每天给他发短信说早安、午安和晚安,就这么坚持了一个月,我终于把原本每个月都用不完的短信套餐用完了呢。 实现上面效果的重点 CSS3 代码如下: <style> div#transition_animate_div { height: 50px; overflow: hidden; background: pink; line-heig...
代码分享解决Laravel中MySQL WhereIn之too many placeholders
MySQL 执行的时候 WhereIn 太多的 ID 参数,导致 PDO 报错。解决方法,分批量执行,然后将结果合并。 下面以 range 函数做了一个简单的例子,计算 1 到 100 的加法。 public function cu(){ $arr = range(1, 100); $cl = function ($part_ids) { return array_sum($part_ids); }...
告别 startssl 拥抱 letsencrypt
n/acme-challenge { alias /var/www/dehydrated; } [...] }Apache reload:$ /etc/init.d/apache2 reload克隆代码:$ git clone https://github.com/lukas2511/dehydrated cd letsencrypt域名配置:$ echo 'lmlphp.com blog.lmlp...