小编Dav*_*vіd的帖子


有没有办法使用反射类设置私有/受保护的静态属性?

我正在尝试为类的静态属性执行备份/恢复功能.我可以使用反射对象getStaticProperties()方法获取所有静态属性及其值的列表.这得到两个privatepublic static属性及其值.

问题是我尝试使用反射对象setStaticPropertyValue($key, $value)方法恢复属性时似乎没有得到相同的结果.private并且protected变量对于此方法不可见getStaticProperties().似乎不一致.

有没有办法使用反射类或任何其他方式设置私有/受保护的静态属性?

受审

class Foo {
    static public $test1 = 1;
    static protected $test2 = 2;

    public function test () {
        echo self::$test1 . '<br>';
        echo self::$test2 . '<br><br>';
    }

    public function change () {
        self::$test1 = 3;
        self::$test2 = 4;
    }
}

$test = new foo();
$test->test();

// Backup
$test2 = new ReflectionObject($test);
$backup = $test2->getStaticProperties();

$test->change();

// Restore
foreach ($backup as …
Run Code Online (Sandbox Code Playgroud)

php reflection visibility

58
推荐指数
2
解决办法
3万
查看次数

如何将char转换为其键码?

如何将字符转换为其各自的键码?

例如:

  • a65
  • b66
  • c67
  • d68

javascript jquery javascript-events

34
推荐指数
4
解决办法
5万
查看次数

如何使用php搜索文本if($ text contains"World")

如何使用PHP搜索文本?

就像是:

<?php

$text = "Hello World!";

if ($text contains "World") {
    echo "True";
}

?>
Run Code Online (Sandbox Code Playgroud)

除了替换if ($text contains "World") {工作条件.

php string search text

21
推荐指数
3
解决办法
9万
查看次数

下载GitLab私有存储库

我想用curlGitLab下载我的私人仓库.我知道我可以使用Gitlab API,但出于某种原因,它不起作用.

这可能吗?当我尝试这样做时,它总是返回登录页面.

git curl github gitlab

17
推荐指数
3
解决办法
3万
查看次数

访问顶部“对象可能为‘空’”的属性时出现新错误。升级到 TS 4.4.3 后

我最近将我的项目从 3.9.9 升级到 TypeScript 4.4.3。

"strictNullChecks": true,我的项目在其 中使用tsconfig.json,并在浏览器中运行,而不是在 Node.js 上的服务器端运行。

在 TypeScript 4.4.3 中,似乎类型声明top已更改为WindowProxy | null( node_modules/typescript/lib/lib.dom.d.ts)

这意味着无论我尝试访问2的属性,我都会收到以下错误1 ​​:TS Playgroundtop

const topUrl = top.window.location.href; // => Object is possibly 'null'.
Run Code Online (Sandbox Code Playgroud)

如何仅在可能为空时忽略此类错误top3


1据我所知,此错误警告我注意我的网站在 iframe 中加载的情况,因此top由于 XSS 而无法访问。这不是问题,因为我的'X-Frame-Options'设置为'sameorigin',因此将拒绝在跨源 iframe 中加载我的网站。

2我访问 的属性,top因为我在项目中经常使用 iframe,它会加载同一域上的子页面。

3我可以使用以下修复来解决这个问题Object is possibly 'null'.,但我不想这样做,因为我的项目相当大,而且这个修复将很乏味,而且改进很少。

let topUrl = top?.window.location.href || ''; …
Run Code Online (Sandbox Code Playgroud)

javascript typescript

8
推荐指数
1
解决办法
1257
查看次数

在IE中使用html音频:MEDIA12899:AUDIO/VIDEO:未知的MIME类型

Html如下:

<audio id="audioCap" preload="auto" type="audio/wav"></audio>
Run Code Online (Sandbox Code Playgroud)

JS:

$('#audioCap')[0].play();
Run Code Online (Sandbox Code Playgroud)

并设置"src"如下:

$('#audioCap').attr('src', 'http://blabla/captcha/captcha.wav?' + response);
Run Code Online (Sandbox Code Playgroud)

response身份在哪里?

这适用于除IE版本(9-11)之外的所有浏览器,这些浏览器也应该可以使用.我到了MEDIA12899: AUDIO/VIDEO: Unknown MIME type.我做了一些研究,发现它应该是服务器配置问题.我使用调试工具捕获了网络数据并检查了响应头.Content-Type显示为audio/wav真.我不知道还有什么可能导致这个错误.

html audio internet-explorer mime

6
推荐指数
1
解决办法
2万
查看次数

如何使用php中的pid杀死linux进程?

我面临一个关于从我的PHP代码中杀死Linux进程的问题.我正在使用proc_open()后台函数从我的PHP代码运行Scrapy工具.

它工作正常,但现在我想使用其进程ID杀死此进程.要做到这一点我使用的exec("sudo kill -9 $pid");地方$pid是,我从我的PHP代码获取进程ID.

问题是此进程是代表apache用户运行的.我认为可能存在一些权限问题,所以我将apache用户添加到sudoers文件中,apache ALL=(ALL) NOPASSWD:ALL但是我仍然无法杀死它.不知何故,同样的kill命令可以从我的putty控制台中运行.

我的代码在Amazon EC2实例上.

我的问题是,如何杀死php中pid标识的进程?

php linux apache amazon-ec2

5
推荐指数
2
解决办法
3万
查看次数

5
推荐指数
1
解决办法
5387
查看次数

如何获取 Python Scrapy Crawler 详细信息?

我正在使用 Python Scrapy 工具从网站中提取数据。我正在使用 .php 从我的 php 代码中触发 Scrapy proc_open()。现在我需要维护一个仪表板之类的东西。在 Scrapy 中有没有办法获取 Crawler 详细信息,例如:

  1. Crawler 运行所用的时间。
  2. 爬虫的启动和停止时间。
  3. 爬网状态(活动或停止)。
  4. 同时运行的爬虫列表。

php python scrapy

3
推荐指数
1
解决办法
1804
查看次数