alancole / gins
该软件包最新版本(1.0.0)没有可用的许可证信息。
一个用于收集人物性别和代词的PHP库。
1.0.0
2017-03-29 15:29 UTC
This package is auto-updated.
Last update: 2024-09-24 04:12:39 UTC
README
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();
扩展
添加性别和代词就像构建新的类一样简单,这些类扩展了基本类 Gender
或 Pronoun
。如果您想添加性别或代词,可以开始一个带有您自己的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