小编emi*_*mix的帖子

JavaScript 中的方法重载

考虑示例 html 代码:

<head>
    ....
    <script src="/js/MyClass.js"></script>
    <script src="/js/extend.js"></script>
    <script>
        $(document).ready(function($) {
            var $obj=new MyClass();
            $obj.run();
        });
    </script>
</head>
<body>
Run Code Online (Sandbox Code Playgroud)

MyClass.js 文件:

var MyClass=function()
{
    this.run=function() {
        alert("MyClass");
    }
}
Run Code Online (Sandbox Code Playgroud)

扩展.js文件:

MyClass.prototype.run=function() {
    alert("Extend");
}
Run Code Online (Sandbox Code Playgroud)

为什么此代码会提醒“MyClass”而不是“Extend”?如何正确重写(重载)类方法?

javascript methods overriding prototype

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

Doctrine 获取扩展给定抽象类的所有模型的存储库

我有两个模型:NoteItemTaskItem。两者都来自AbstractStreamItem

abstract class AbstractCommentsItem
{
    …
}

class CommentItem extends AbstractCommentsItem
{
    …
}

class TaskItem extends AbstractCommentsItem
{
    …
}
Run Code Online (Sandbox Code Playgroud)

现在我想在一个getRepository命令中获取两个模型的存储库。

有可能吗?我考虑过单表继承,但不确定这是否是正确的方法。

php doctrine doctrine-orm

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

如何在Robot Framework中使用分隔符“|”分割字符串

我想使用机器人框架分割字符串,分隔符为|

代码:

${string} = 'Age:2|UNACCEPTED'
${str}    = Split String    ${string}    '\|'
Run Code Online (Sandbox Code Playgroud)

输出:

Expected: u'Age:2', u'UNACCEPTED'
Actual:   u'Age:2|UNACCEPTED'
Run Code Online (Sandbox Code Playgroud)

您能提供同样的帮助吗?

robotframework

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

在Symfony 3中的SQLFilter中获取用户

我从Symfony开始,我想制作一个多租户应用程序。

我想在一个表与我的公司表建立链接时,根据连接的用户所属的公司在SQL查询中自动过滤内容。

我找到了创建过滤器的方法,但是找不到在该过滤器中检索有关所连接用户公司的信息的方法。

我使用FOSuser,用自己的User类覆盖它。

我的config.yml

#app\config\config.yml

    doctrine:
        dbal:
           ...
        orm:
            auto_generate_proxy_classes: '%kernel.debug%'
            naming_strategy: doctrine.orm.naming_strategy.underscore
            auto_mapping: true
            filters:
                company:
                    class: 'Acme\CompanyBundle\Repository\Filters\CompanyFilter'
                    enabled: true
Run Code Online (Sandbox Code Playgroud)

我的过滤器

<?php
#src\Acme\CompanyBundle\Repository\Filters\CompanyFilter.php

namespace Acme\CompanyBundle\Repository\Filters;

use Doctrine\ORM\Mapping\ClassMetaData;
use Doctrine\ORM\Query\Filter\SQLFilter;
use Acme\UserBundle\Entity\UserEntity;
use Acme\CompanyBundle\Entity\CompanyEntity;

class CompanyFilter extends SQLFilter
{
    public function addFilterConstraint(ClassMetadata $targetEntity, $targetTableAlias)
    {
        if ($targetEntity->hasAssociation("company")) {

            // here how to get the connected user ???

            $company = $user->getCompany();
            $idCompany = $company->getId();
            return $targetTableAlias . ".company_id = '".$idCompany."'";


        }
        return "";
    }
}
Run Code Online (Sandbox Code Playgroud)

预先感谢您的帮助

doctrine symfony doctrine-orm

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

为什么不应该在Symfony4的生产环境中加载.env?

index.php 默认情况下,前端控制器具有

// The check is to ensure we don't use .env in production
if (!isset($_SERVER['APP_ENV'])) {
    (new Dotenv())->load(__DIR__.'/../.env');
}
Run Code Online (Sandbox Code Playgroud)

这是什么原因呢?为什么.env在生产环境中应该忽略文件?

php environment-variables symfony symfony4

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

获取xargs命令的序列号

echo a b c | xargs -n 1将输出:

a
b
c
Run Code Online (Sandbox Code Playgroud)

有没有办法获得序列号的输出,如下所示:

a1
b2
c3
Run Code Online (Sandbox Code Playgroud)

谢谢你!

哈吉

bash xargs

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

中间Docker镜像会占用磁盘空间吗?

如果 docker 文件中有 RUN 命令,那么它确实会创建一些中间映像。我的问题是这样的中间图像是否占用了您的硬盘驱动器的任何内存?如果是的话,docker build --rm应该够了吧?

docker dockerfile

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

Docker 不设置 MariaDB 密码

在我的 docker-compose.yml

version: '3'
services:
  db:
    image: mariadb:latest
    volumes:
      - ./dc_test_db:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: secret
Run Code Online (Sandbox Code Playgroud)

当我通过以下方式连接时:

sudo docker exec -it docker_db_1 mysql -u root -p 
Run Code Online (Sandbox Code Playgroud)

我必须让密码为空才能登录。怎么了?

mariadb docker

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

使用 foreach 循环创建新变量

我懂了

$data   = json_decode($json, true)["value1"];
Run Code Online (Sandbox Code Playgroud)

在此之后,我对 name 值的响应进行排序:

foreach($data as $test) {
echo $test['name'];
}
Run Code Online (Sandbox Code Playgroud)

这向我显示了我需要的所有名称,这非常有效。

Output: name1 name2 name3
Run Code Online (Sandbox Code Playgroud)

问题:我该怎么做才能在新的单个变量中获取 foreach 输出,以便我可以通过脚本的其余部分使用它们?

Expl.: $name_1 = name1;
Run Code Online (Sandbox Code Playgroud)

也许我完全错了。

非常感谢写第一个项目的新手。

php variables foreach json loops

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

如何从base64编码图像获取高度和宽度?

我需要从base64编码的图像中获取高度和宽度.

根据其他网站getimagesizefromstring()应该做的伎俩,但对我来说它根本不起作用.

示例代码:

    <?php
    $image = "data:image;base64,/9j/4AAQdihdiwd......";
    $data = getimagesizefromstring($image);
    echo $data[0]; // no output
    print_r($data); // no output
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

php base64

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

更新异步等待中的值

我开发了这一小段代码,它获取当前的lat和lon,并将它们传递给Google Map URL以获取地图数据.

lat和lon变量最初设置为undefined,然后在调用navigator.geolocation.getCurrentPosition时更新它们的值.此函数确实通过位置对象正确返回数据.然而,不知何故,变量的值不会更新,并且在传递给URL时它们仍未定义.

问题出在哪儿?

const getLocationDetails = async () => {

    let lat = undefined;
    let lon = undefined;

    await navigator.geolocation.getCurrentPosition( position => {
        lat = position.coords.latitude;
        lon = position.coords.longitude;
    });
    const res = await fetch(`https://maps.googleapis.com/maps/api/geocode/json?latlng=${lat},${lon}`,
        { method: 'GET' });
    const response = await res.json();

};
Run Code Online (Sandbox Code Playgroud)

javascript async-await

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

Symfony 5 中处理异常时未定义的 getException 方法

我创建了一个异常类,如下所示:

<?php

declare(strict_types=1);

namespace App\Exception;

use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpKernel\Event\ExceptionEvent;
use Symfony\Component\HttpKernel\Exception\HttpException;
use function strpos;

final class HTTPExceptionListener
{
    public function onKernelException(ExceptionEvent $event): void
    {
        $exception = $event->getException();
        if (! ($exception instanceof HttpException) || strpos($event->getRequest()->getRequestUri(), '/api/') === false) {
            return;
        }

        $response = new JsonResponse(['error' => $exception->getMessage()]);
        $response->setStatusCode($exception->getStatusCode());
        $event->setResponse($response);
    }
}
Run Code Online (Sandbox Code Playgroud)

我已将以下内容添加到我的services.yaml文件中:

 App\Exception\HTTPExceptionListener:
        tags:
            - { name: kernel.event_listener, event: kernel.exception }
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

Attempted to call an undefined method named "getException" of class "Symfony\Component\HttpKernel\Event\ExceptionEvent".

php symfony5

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

如何选择具有最高价值的标题?

所以在像这样的简单表格中,如何选择具有最高价值的标题?

|_title_||_value_|
|_title1_||_50652_|
|_title2_||_57465_|
|_title3_||_68565_|
|_title4_||_14645_|
Run Code Online (Sandbox Code Playgroud)

就像在这种情况下title3具有最高值,所以我想用SQL代码选择title3,但我不知道如何

我尝试过的:

SELECT title FROM table HAVING MAX(value);
Run Code Online (Sandbox Code Playgroud)

我认为这是我能做到的,但它不起作用

这可能不是那么难,但我完全不熟悉SQL

如果有人可以帮我解决这个问题,我真的很感激

mysql sql

0
推荐指数
3
解决办法
121
查看次数