-
演示代码:
<?php
$websiete = null;
$website->name = 'blogdaren';
dprint($website);
问题结果:
PHP Warning:Creating default object from empty value
问题原因:
在操作一个非对象类...
-
两者区别:
__call() 当调用的实例方法不存在或权限不足时,会自动调用 __call() 方法。
__callStatic() 当调用的静态方法不存在或权限不足时,会自动调用 __callStatic() 方法。
演示代码:
<?php
class User
{
public...
-
array_walk() 详见手册:
https://php.net/manual/en/function.array-walk.php
array_map() 详见手册:
https://php.net/manual/en/function.array-map.php
异曲同工的演示代码:
<?php
//array_walk的callb...
-
演示代码:
<?php
namespace Website;
class Domain
{
}
var_dump(class_exists('Domain')); //false
var_dump(class_exists('\Website\Domain')); //true
问题结论:
使用 class_exits() 时...
-
问题背景:
给定一个数组:[100, 200, 300],我们希望 json_encode() 以后返回如下结构的json对象:
{"0":100,"1":200,"2":300}
举个栗子:
<?php
$input = array(
'0' => 100,
'1' => 200,
'2' => 300,
)...
-
举例说明:
<?php
$origin = array(
'k1' => 'v1',
'k2' => 'v2',
'100',
);
$replace = array(
'k1' => 'new value',
'k3' => 'v3',
'200',
);
print_r(array_merge($ori...
-
解决方案:
# composer remove vendorName/packageName
解决方案:
# composer remove vendorName/packageName
解决方案:
# composer remove vendorName/packageName
解决方案:
# composer remove vendorName/packa...
-
问题背景:
编译安装rabbitmq扩展,结果报错:
configure: error: Please reinstall the librabbitmq distribution itself or (re)install librabbitmq development package if it available in your system
问题原因:
这是因为...
-
问题背景:
# composer require xxx/yyy
结果报错:
[InvalidArgumentException] ...
-
问题背景:
下面这段代码在PHP5中工作OK,但是升级到PHP7后,报题示错误。
<?php
class QDB_Adapter_Mysql extends QDB_Adapter_Abstract
{
public function __construct($dsn, $id)
{
set_exception_handler(array($t...
-
问题背景:
PHP中如何定义一个能在任意页面或脚本自由访问的全局函数或对象? 比如:我有多个PHP项目,但是我有一个很好用全局函数需要各个项目中使用,常见的做法就是在每个项目中分别 include 或 require进来,或者封装成标准工具类,借助composer引入等等,针对我这个简单的场景,我觉得这样搞还是有些麻烦。
解决方案:
1、将全局函数编写成PHP扩展【此法...
-
问题背景:
PHP编译安装完成之后会有一个 extension_dir 目录,这个目录的作用就是用来存放第三方扩展的。默认的php.ini配置文件中是是没有这个字段的,没有这个字段并不代表不存在,恰恰相反,当我们需要手动改变设置特定的目录时,就必须修改 php.ini 新增 extension_dir = /path/to/myextensiondir,但问题是: 默认情况...
-
问题背景:
1. 启动某个服务后,为了保证服务的稳定性,需要写一个监控脚本,用于检测服务进程是否正常。
2. 注意: 金牛座拿手PHP,所以我们监控脚本采用PHP编写,一贯的高效简单而优雅,你可以选用任何你喜欢的语言编写。
研究目的:
如题,通过编写一个简单的进程监控脚本并配合crontab来分享一些重要的注意事项。
脚本演示:
<?php
...
-
问题背景:
项目开发中可能会遇到各种各样的PHP扩展,但是这些扩展可能依赖不同的PHP版本,于是就出现了多个PHP版本共存的情况,所以我们有时希望在composer 安装依赖时指定特定的PHP版本。
解决方案:
-
问题背景:
在workerman官方社区有网友提出了这么一个问题,大体意思是在一次HTTP请求中服务端返回的body体中 "多了一些看似奇怪的字符",
详见: https://wenda.workerman.net/question/3465
问题原因:
"多了一些看似奇怪的字符",既然我用引号引起来了,说明这些字符并不奇怪,为什么?因为这是HTTP协...
我就遇到了这个问题,终于找到解决办法...