enzyme / name
Name manipulation library for PHP.
Requires
- php: >=5.5.0
- danielstjules/stringy: ^2.1
Requires (Dev)
- mockery/mockery: ^0.9.4
- phpunit/phpunit: ^4.8
- satooshi/php-coveralls: ^0.6.1
This package is not auto-updated.
Last update: 2025-03-01 21:48:44 UTC
README
Name manipulation library for PHP.
What is it?
If your website accepts user data in the form of First Name, Last Name and optionally Middle and/or Prefix (Dr., Mrs.) and then you would like to format the data - this package is for you.
Installation
composer require enzyme/name
Usage
Standard first and last names.
use Enzyme\Name\Simple; $name = Simple::fromString('Hubert Cumberdale'); echo $name->getFirst(); // Hubert echo $name->getLast(); // Cumberdale
Formatted first and last names.
use Enzyme\Name\Simple; use Enzyme\Name\Format; $name = Simple::fromString('Hubert Cumberdale'); $fmt = Format($name); echo $fmt->like('First'); // Hubert echo $fmt->like('First L.'); // Hubert C. echo $fmt->like('Last, F.'); // Cumberdale, H. // Quickfire option. echo Format::nameLike($name, 'First L.'); // Hubert C.
Formatted full names (with middle/prefix).
use Enzyme\Name\Simple; use Enzyme\Name\Format; $name = Simple::fromString('Dr. Hubert Alberto Cumberdale'); echo Format::nameLike($name, 'First M. Last'); // Hubert A. Cumberdale echo Format::nameLike($name, 'P. First M. Last'); // Dr. Hubert A. Cumberdale echo Format::nameLike($name, 'P. Last, F. M.'); // Dr. Cumberdale, H. A.
Name options
Simple
exposes the follow accessors which return Part
instances.
$name->getPrefix();
$name->getFirst();
$name->getMiddle();
$name->getLast();
Each Part
has two options:
$part->long()
Returns the long version of the name, eg: Hubert
$part->short()
Returns the short version of the name, eg: H.
You can build a new name in 3 ways:
Simple::fromString(...)
Simply pass in a string and it will 'intelligently' try and parse the name out from it.
Simple::fromArgs(...)
Simply pass in arguments and it will try and build the full name from them. The name is build based on the number of arguments passed in, so 1 argument equals to the first
name, 2 -> first last
, 3 -> first middle last
and 4 -> prefix first middle last
.
So to create the name Hubert Cumberdale
using the fromArgs
constructor, it would look like Simple::fromArgs('Hubert', 'Cumberdale');
.
The last option give you the most control, Simple::strict()
. It simply returns a new Simple
object which you then explicitly build up using the setters: $simple->prefix(...);
, $simple->first(...);
, $simple->middle(...);
and $simple->last(...);
. Each setter can be optionally called to build names of different configurations.
Formatter Options
The following examples use the name Mr. Hubert Alfred Smith Cumberdale
Marker | Returned Name |
---|---|
Prefix | Mr. |
P. | Mr. |
First | Hubert |
F. | H. |
Last | Cumberdale |
L. | C. |
Middle | Alfred Smith |
M. | A. S. |
Any other character will be left untouched. So for example you can create the name Cumberdale, H. A. S.
from the following format string Last, F. M.