小编rap*_*2-h的帖子

mailto in href:我应该添加rel noopener,noreferrer吗?

假设我有这个 HTML 代码:

<a href="mailto:me@example.org" target="_blank"></a>
Run Code Online (Sandbox Code Playgroud)

据我所知,出于安全和隐私原因,最佳实践告诉我必须添加rel="noopener noreferrer"外部的每个链接。我是否必须将mailto链接视为外部链接?

html mailto security privacy

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

更改Laravel加密中的密码

以前,Laravel使用MCRYPT_RIJNDAEL_128密码进行加密(<5.0).现在是AES-256-CBC(> = 5.1).Mcrypt似乎是放弃软件,我们不应该使用它.

我有一个为Laravel <5.1编写的应用程序并迁移到Laravel 5.1.我可以更改密码,还是会破坏所有内容?

编辑:

换句话说,我可以使用填充的数据库,连接的用户等切换MCRYPT_RIJNDAEL_128AES-256-CBCLaravel生产应用程序,而不会出现服务中断/降级或错误吗?

encryption laravel laravel-5

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

函数在PHP 7中返回void

PHP 7增加了对返回类型声明的支持:

function sum($a, $b): float {
    return $a + $b;
}
Run Code Online (Sandbox Code Playgroud)

无论如何要申报程序吗?(没有回报的功能)

function printLn($a): void { // <-- TypeError
    echo "$a\n";
}
Run Code Online (Sandbox Code Playgroud)

php return-type php-7

7
推荐指数
0
解决办法
2538
查看次数

渴望加载:在具有雄辩关系的枢轴上使用`with`

有4个表:

  • bundles:ID,名称
  • products:ID,名称
  • prices:ID,名称
  • bundle_product:id,bundle_id,product_id,price_id

有3种型号:

  • Bundle
  • Product
  • Price

A中Product有一个Pricewhen Bundle。我想拥有所有bundles与它们相关联的products 和关联的prices我可以获取所有捆绑销售的产品及其价格ID:

// I created a Bundle Model with a products method
class Bundle extends Model
{
    public function products()
    {
        return $this->belongsToMany(Product::class)->withPivot('price_id');
    }
}

// Then I call this in a controller
$all_bundles = Bundle::with('products')->get();

// Then I can get the price Id of the first product of the first bundle
$price_id = Bundle::with('products')->first() …
Run Code Online (Sandbox Code Playgroud)

php laravel eloquent laravel-5

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

在异步函数内的回调中调用await

这是一些代码(这是一个过于简化的示例,我知道这很愚蠢):

function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

async function test() {
    [1, 2, 3].map(() => {
        console.log('test');
        await sleep(1000);
    });
}
test();
Run Code Online (Sandbox Code Playgroud)

目的是:

  1. 显示test然后等待一秒钟
  2. 然后显示test然后等待一秒钟
  3. 然后显示test然后等待一秒钟

但是运行此代码会导致失败:

等待是保留字

我知道我可以通过使用for循环来解决它:

async function test() {
    for(let i = 0; i < 3; i++) {
        console.log('test');
        await sleep(1000);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是有没有办法以一种更加“实用”的方式来做到这一点。我的意思是,我可以避免for循环并在地图内等待吗?

javascript asynchronous functional-programming node.js async-await

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

是否有v-cloak逆?

根据VueJS文档,v-cloak"指令可用于隐藏未编译的胡须绑定,直到Vue实例准备就绪." 换句话说,我可以隐藏一个div或类似的东西,它将在vue准备好时显示.

VueJS是否提供了反向? VueJS准备好之前隐藏的东西?

javascript vue.js vue-component vuejs2

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

如何处理包含500多个项目的Symfony表单集合

我有表单集合,需要处理超过500个实体实例.在我将超时增加到60秒并且增加了max_input_vars形式工作之后,但是它的速度有多慢.渲染形式很慢,但提交这个大形式是痛苦的屁股.

我正在考虑创建纯HTML格式,但还有其他一些缺点作为验证.那么,是否有任何正确的方法通过symfony形式处理大量数据?

控制器:

public function ratesCardAction() {
    $bannerList = $this->data;

    $em = $this->getDoctrine()->getManager();
    $form = $this->createForm(new AdvertiserRatesType($bannerList));
    if ('POST' == $this->getRequest()->getMethod()) {
        $form->handleRequest($this->getRequest());
        $advertiserCampaign = $form->getData();
        if ($form->isValid()) {
            foreach ($advertiserCampaign['campaignsAdZones'] as $campaignAdZone) {
               $em->persist($campaignAdZone);
            }
            $em->flush();
        }
    }

    return array(
        'form'   => $form->createView()
    );
}



class AdvertiserRatesType extends AbstractType {

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder ->add('campaignsAdZones', 'collection', array(
            'type'   => new AdvertiserRatePerCountryType(),
            'data'   => $this->rates,
            'empty_data'  => null,
            'options'  => array(
                'attr' => array('class' => 'campaignAdZoneItem') …
Run Code Online (Sandbox Code Playgroud)

php forms bulkinsert bulk symfony

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

如何在PHP函数中获取当前递归级别

如何在PHP函数中获取当前的递归级别?我的意思是,有这样的"神奇"(或最终正常)功能:

function doSomething($things) {
    if (is_array($things)) {
        foreach ($things as $thing) {
            doSomething($thing);
        }
    } else {
        // This is what I want :
        echo current_recursion_level();
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用另一个函数参数($level在本例中):

function doSomething($things, $level = 0) {
    if (is_array($things)) {
        foreach ($things as $thing) {
            $level++;
            doSomething($thing, $level);
        }
    } else {
        echo $level;
    }
}
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有内置函数(或技巧)来做到这一点.也许有些东西debug_backtrace(),但它似乎不是一个简单或快速的解决方案.

我没有找到这个信息,也许它根本就不存在......

php recursion

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

如何在流明5.2中设置时区?

我没有找到关于如何在Lumen 5.2中设置默认时区的任何相关信息(仅限技巧).有没有干净的方法来做到这一点?

php laravel lumen lumen-5.2

6
推荐指数
4
解决办法
9324
查看次数

过滤,直到第一次满足某些条件

这不是一个真实世界的例子,我过度简化了它.给这个数组:

const a = [1,2,3,4,5,6,7,8,4,5]; // Etc. Random numbers after.
Run Code Online (Sandbox Code Playgroud)

我想过滤它只有那些匹配一个模式(比如说这个简单的例子大于3),直到第一次追加(比方说元素大于7)

所以对于这个例子,我只想要:[4,5,6,7].但是filter,我会有尾随45:

const a = [1,2,3,4,5,6,7,8,4,5].filter((v) => v > 3)
// returns: [4, 5, 6, 7, 8, 4, 5]
Run Code Online (Sandbox Code Playgroud)

所以我想从一个数组中获取项目并在一个条件后最终停止.如何在第一次不满足条件后过滤然后停止?(没有for循环,我想保持它"功能性")

const a = [1,2,3,4,5,6,7,8,4,5,1,2,976,-1].awsome_function();
// returns: [4, 5, 6, 7, 8] because it stopped after the first 8.
Run Code Online (Sandbox Code Playgroud)

javascript

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