alancole/gins

该软件包最新版本(1.0.0)没有可用的许可证信息。

一个用于收集人物性别和代词的PHP库。

维护者

详细信息

github.com/waxim/Gins

源代码

问题

安装: 27

依赖项: 0

建议者: 0

安全性: 0

星标: 19

关注者: 3

分支: 5

开放问题: 2

类型:composer

1.0.0 2017-03-29 15:29 UTC

This package is auto-updated.

Last update: 2024-09-24 04:12:39 UTC


README

Build Status StyleCI

Gins

Gins(性别不是性别)是一个PHP库,它为您的用户和客户提供了一系列的性别和代词选项。我经常到达一个网站,看到“性别”表单字段,只有“男性/女性”作为选项。我们不再生活在这个世界里。因此,这个库试图帮助开发者解决这个问题。

这绝非全面,但希望随着时间的推移,人们会帮助扩展它,这将是二进制思维方式的一个明显改进。

性别

我们提供了一组全面的性别供您选择。

$genders = new Gins\Genders();

echo "<select name='gender'>";
foreach ($genders as $gender) {
    echo "<option value='" . $gender->getValue() . "'>";
        echo $gender->getTerm();
    echo "</option>";
}
echo "</select>";

性别还允许您传递一个值,并获取其术语。

$genders = new Gins\Genders();

try {
    $gender = $genders->findOrFailByValue("m");
    print $gender->getTerm(); // "Male"
} catch (GenderNotRegistered $e) {
    print "We couldn't find that gender"
}

或者传递一个术语,获取一个值。

$genders = new Gins\Genders();

try {
    $gender = $genders->findOrFailByTerm("Male");
    print $gender->getValue(); // "m"
} catch (GenderNotRegistered $e) {
    print "We're sorry but we don't have your gender listed,
    but we've logged its term and will get it added soon.";
}

某些性别可能假设一个代词以节省输入,如果您愿意,但通常最好询问人们他们喜欢如何被识别,因此您应该谨慎使用这些假设。

$pronoun = $gender->getPronoun();
print $pronoun->getNoun(); // "He"

您可以设置任何有效的代词对象作为代词。

$gender->setPronoun($noun);

代词

这是一个接受或使用的代词及其衍生的列表。英语中有5种标准代词衍生形式。主语“他/她”,宾语“他/她”,所有格“他的/她的”,所有格代词(复数)“他的/她的”,反身代词“他自己/她自己”

$pronouns = new Gins\Pronouns();

foreach ($pronouns as $noun) {
    print $pro->getNoun(); # He/She
    print $noun->getSubject(); # He/She
    print $noun->getObject(); # Him/Her
    print $noun->getPossessive(); # His/Her
    print $noun->getPossessivePlural(); # His/Hers
    print $noun->getReflexive(); #Himself/Herself
}
$noun = new Gins\Pronouns\He();

扩展

添加性别和代词就像构建新的类一样简单,这些类扩展了基本类 GenderPronoun。如果您想添加性别或代词,可以开始一个带有您自己的pull request,我会将其合并。

一旦您添加了自己的性别和代词,您可以在构造时或通过使用添加方法将它们传递给gins。

$custom_gender = new My\Custom\Gender();
$custom_gender_two = new My\Custom\GenderTwo();

$custom_pronoun = new My\Custom\Pronoun();

$genders->addGender($custom_gender);
$genders->addGender($custom_gender_two);

$all_genders = new Gins\Genders([$custom_gender, $custom_gender_two]); # Another way to do it,

$pronouns->addNoun($custom_pronoun);

$all_pronouns = new Gins\Pronouns([$custom_pronoun]); # Another way to do it.

虽然我们允许您添加自己的性别,但我们真的希望您能通过pull request添加任何缺失的性别。

安装

composer require waxim/gins

测试

phpunit