【问题标题】:How to Generate Random String using Laravel Faker?如何使用 Laravel Faker 生成随机字符串?
【发布时间】:2018-09-03 00:50:26
【问题描述】:

有没有什么方法或方法可以使用 laravel faker 生成假字符串?

就像在 laravel 中一样,我们生成最多 20 个字符的字符串..

 str_random(20);

【问题讨论】:

    标签: laravel faker fake-repositories


    【解决方案1】:

    Faker 提供了几种方法,可以让你用随机字符替换给定字符串中的占位符:

    • lexify - 接受给定的字符串并替换 ?随机字母
    • asciify - 接受给定的字符串并将 * 替换为随机的 ascii 字符
    • numerify - 获取给定的字符串并用随机数字替换 #
    • bothify - 结合 lexify 和 numerify

    您可以尝试使用其中之一,具体取决于您对所需随机字符串的要求。 asciify 使用最大的字符集作为替换,因此使用该字符集最有意义。

    以下将为您提供 20 个 ascii 字符的随机字符串

    $faker->asciify('********************')
    

    【讨论】:

    • 你可以用str_repeat('*', 20)产生一个20倍*的字符串
    【解决方案2】:

    替代生成不带特殊字符的字符串。

    $faker->regexify('[A-Za-z0-9]{20}')
    

    【讨论】:

    • 您可以使用 like [A-z] 来简化正则表达式中的 [A-Za-z]。
    • @francisco 这些不一样。 A-z 是 ascii 65 到 122 的字符范围。您应该使用 /[A-Za-z]/ 或 /[a-z]/i,除非您希望包含这些字符:[ \ ] ^ _ `
    【解决方案3】:
    $faker->text($maxNbChars = 50);
    

    【讨论】:

    • 请解释一下你的答案
    • $faker->text(50);
    • 这是错误的,造句中间有空格。
    【解决方案4】:

    uze Faker\Provider\en_US\Text

    <?php
    
    realText($maxNbChars = 200, $indexSize = 2) // "And yet I wish you could manage it?) 'And what are they made of?' Alice asked in a shrill, passionate voice. 'Would YOU like cats if you were never even spoke to Time!' 'Perhaps not,' Alice replied."
    

    【讨论】:

      【解决方案5】:
      $faker->text()
      // generates 50 char by default: "Aut quo omnis placeat eos omnis eos."
      
      $faker->text(10);
      // generates 10 char by default: "Labore."
      

      所有文本似乎都是一个或多个带有空格的拉丁伪句子,并且(每个句子的)末尾总是一个点。

      【讨论】:

        猜你喜欢
        • 2015-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-18
        • 2014-02-09
        • 2017-08-01
        相关资源
        最近更新 更多