小编Ste*_*e H的帖子

是否有一个call_user_func()等效于创建一个新的类实例?

如何创建一个具有给定数组参数的类以发送给构造函数?有点像:

class a {
    var $args = false;
    function a() {$this->args = func_get_args();}
}

$a = call_user_func_array('new a',array(1,2,3));
print_r($a->args);
Run Code Online (Sandbox Code Playgroud)

理想情况下,PHP4和PHP5都需要在不修改类的情况下工作.有任何想法吗?

php php4 class

21
推荐指数
2
解决办法
7863
查看次数

有没有办法触发标准缩放(不是无头)

我在关闭无头模式的情况下运行 puppeteer,以便在另一台计算机上自动化和远程控制可见的 Chromium 浏览器。

有没有办法像在 UI 菜单或ctrl +/crtl -命令中一样在浏览器上触发或模拟缩放?

注入 CSS 或使用各​​种记录的比例命令并不能完全复制这一点,例如,使用vh/vw单位定义的元素不会得到调整。


我目前的解决方案

Emulation.setDeviceMetricsOverride缩小时使用视口比例效果很好,但它似乎是在调整页面光栅的大小,而不是在目标大小下进行渲染,从而导致放大时文本模糊。

调整视口大小并使用Emulation.setPageScaleFactor可以很好地放大,但是在我的测试中似乎忽略了小于 1 的 pageScaleFactor。

这两种解决方案的一个问题是它需要提前知道浏览器窗口的宽度/高度,并依赖于不改变,而不是拥有流畅的视口。我也不确定我缺少标准浏览器缩放的其他哪些功能。

我的缩放代码现在是:


async applyFrameZoom(page, zoom) {
    // page is a puppeteer.Page instance
    // zoom is an integer percentage

    const session = await page.target().createCDPSession();

    let window = await session.send('Browser.getWindowForTarget', {
        targetId: page.target()._targetId
    });

    let width = window.bounds.width;
    let height = window.bounds.height;

    if (!zoom || zoom === 100) {
        // Unset any …
Run Code Online (Sandbox Code Playgroud)

puppeteer chrome-devtools-protocol

12
推荐指数
2
解决办法
1351
查看次数

我应该担心sqlite filesize吗?

在编写我自己的平面文件数据库时,我尝试保持文件大小尽可能小,在设计mySQL数据库时,我将所有表放入一个数据库(我相信mySQL将每个表存储在它自己的文件中).我是sqlite和我的道德冲突的新手 - 一个存储在一个文件中的整个数据库.

我知道sqlite的每个数据库的建议大小约为2GB,我不希望达到那个大小,但分割数据库有什么好处吗?例如,将数据库拆分为两个,一个具有各种设置表(多个表,行数较少),另一个具有各种内容表(少数表,每个表中有许多行).

我有文件系统有很好的了解,并且知道我不应该理会这么多关于它,但有一个直觉我只是不能动摇想要数据库分开.这是一种忽视或运行的感觉吗?

sqlite database-design

4
推荐指数
1
解决办法
1506
查看次数