小编Ale*_*lex的帖子

对同一变量的多个赋值

为什么我用这段代码得到解析错误:

$func = "do_{$something}" = $func();

它应该是正确的,因为

$func = "do_{$something}";
$func = $func();
Run Code Online (Sandbox Code Playgroud)

作品...

php variables function

4
推荐指数
2
解决办法
80
查看次数

使用一个查询更新多行

如何一次更新数百行?

喜欢: UPDATE table SET a = ? WHERE b = ? AND c = 1

但对于许多行.该?参数是数组...

我读了这个答案,但它使用CASE而我认为我不能这样做......


现在我有这样的事情:

foreach($values as $key => $value)
  $res = $pdo->prepare('UPDATE table SET a = ? WHERE b = ? AND c = 1');
  $res->execute(array($value, $key));
}
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

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

获取实例化类的文件名

假设我get_class($this)在抽象类方法中得到了类名.

我怎样才能获得定义此类的文件名?(完整路径)

我知道我可以将它作为参数传递给我的子类并创建一个可在父类中访问的属性,但我想知道PHP是否内置了一些内容

php abstract-class class

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

ZipArchives存储绝对路径

我可以使用相对路径压缩文件吗?

例如:

$zip->addFile('c:/wamp/www/foo/file.txt');

ZIP应该有一个目录结构,如:

foo
 -> file.txt
Run Code Online (Sandbox Code Playgroud)

并不是:

wamp
 -> www
     -> foo
         -> file.txt
Run Code Online (Sandbox Code Playgroud)

喜欢它是默认的...

ps:我的完整代码就在这里(我正在使用ZipArchive将目录内容压缩成zip文件)

php directory zip ziparchive

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

复合键的索引是否足够?

这就是我的表格:

CREATE TABLE pics(
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  name TEXT,
  page INTEGER,
  w INTEGER,
  h INTEGER,
  FOREIGN KEY(page) REFERENCES pages(id) ON DELETE CASCADE,
  UNIQUE(name, page)
);

CREATE INDEX "myidx" ON "pics"("page");  # is this needed?
Run Code Online (Sandbox Code Playgroud)

所以UNIQUE(name, page)应该创建一个索引.但是这个索引是否足以进行page仅涉及该字段的快速查询?就像选择一组"照片"一样WHERE page = ?.还是JOIN pages.id ON pics.page?或者我应该只为页面字段创建另一个索引(myidx)?

sql sqlite indexing performance composite-key

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

从静态方法中创建实例

在 PHP 中是$instance = new static();

你如何在nodejs中做到这一点?

从静态方法

javascript static class node.js

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

具有所有功能异步的任何缺点?

较新的节点js具有async等待,这真的很酷,因为它使代码看起来更好。

我想知道让每个类方法都异步是个好主意,即使它不需要返回承诺也是如此吗?

在我的用例中,我实际上有点需要,因为我试图在多个子进程之间共享依赖关系,并且我使用了代理和子进程通信的组合来实现这一点。显然,我需要承诺,因为我需要等待流程响应或发送消息。

但这是否可能有长期的潜在副作用?

更明确地说,我仅是出于酷语法的目的而执行此操作。

const database = CreateProxy('database');
await database.something();
Run Code Online (Sandbox Code Playgroud)

从另一个过程。

与一些something仅从父进程请求的代码(例如

process.send('getSomethingFromDb');
Run Code Online (Sandbox Code Playgroud)

两者都使用消息传递,但是第一个使它看起来好像不在表面上

javascript asynchronous child-process node.js promise

4
推荐指数
3
解决办法
689
查看次数

Vue.js - 清除数组内容和反应性问题

所以几年前这是不好的做法

array = [];
Run Code Online (Sandbox Code Playgroud)

因为如果数组在某处被引用,该引用没有更新或类似的东西。

正确的方法应该是 array.length = 0;

反正现在javascript已经更新了,有个框架叫Vue.js

Vue 不会捕获, array.length = 0;因此该属性不会是响应式的。但它确实抓住了array = [];

我的问题是,我们现在可以使用 array = [];,还是 javascript 仍然损坏?

javascript arrays vue.js vue-component vuejs2

4
推荐指数
2
解决办法
6679
查看次数

Vue计算属性

如果我需要在一个函数中访问20次计算的属性,是否最好先将其值分配给局部变量?

这样会提高性能吗?

javascript vue.js computed-properties

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

PHP - 添加/删除回车符到基本64编码的字符串

我有一个verrrrrrrrry长base64编码字符串,显示在textarea中.问题是这个字符串没有任何空格或回车符,因此它显示在一行带有丑陋的水平滚动条.

我可以在base64_encode()之后和输出到textarea之前手动添加回车符,然后在从textarea中检索此字符串之后删除这些CR(在解码之前)吗?

php string base64 encoding textarea

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