This repository contains the necessary data to work with Font Awesome in PHP.
Requirements:
- Font Awesome 4.7.0
- PHP 5.3+.
License
- MIT - Details
composer require awps/font-awesome-php
require_once 'src/load.php';
The library contains 2 main classes that are created for public:
Awps\FontAwesome()
- Uses a static array of FA icons.(Recommended)Awps\FontAwesomeReader( $css_path )
- Generates the array fromfont-awesome.css
file. You must define the path to this file.
Create an instance:
// Using the reader to dynamically get the icons array. It's resource intensive and you must cache the result.
$css_path = __DIR__ . '/css/font-awesome.css';
$icons = new Awps\FontAwesomeReader( $css_path );
// .... or better use the static class
$icons = new Awps\FontAwesome();
Next it's easy. You can get the array of icons just by doing this.
$icons->getArray();
// Result:
/*
array (
'fa-glass' => '\\f000',
'fa-music' => '\\f001',
'fa-search' => '\\f002',
...
*/
$icons->getAllData();
// Result:
/*
array (
'fa-glass' =>
array (
'unicode' => '\\f000',
'name' => 'Glass',
'class' => 'fa-glass',
),
'fa-music' =>
array (
'unicode' => '\\f001',
'name' => 'Music',
'class' => 'fa-music',
),
...
*/
$icons->getCssClasses();
// Result:
/*
array (
'fa-glass' => 'fa-glass',
'fa-music' => 'fa-music',
'fa-search' => 'fa-search',
...
*/
$icons->getUnicodeKeys();
// Result:
/*
array (
'fa-glass' => '\\f000',
'fa-music' => '\\f001',
'fa-search' => '\\f002',
'fa-envelope-o' => '\\f003',
...
*/
$icons->getReadableNames();
// Result:
/*
array (
'fa-glass' => 'Glass',
'fa-music' => 'Music',
'fa-search' => 'Search',
...
*/
Attention: This modifies the original array. You can reset it back using ->reset()
method.
$icons->sortByName();
// Result:
/*
array (
'fa-500px' => '\\f26e',
'fa-address-book' => '\\f2b9',
'fa-address-book-o' => '\\f2ba',
'fa-address-card' => '\\f2bb',
'fa-address-card-o' => '\\f2bc',
'fa-adjust' => '\\f042',
...
*/
Return the total number of icons from original array.
Get the unicode by icon class.
Example:
$icons->getIconUnicode( 'fa-address-card' );
// Result
// '\f2bb'
Get the readable icon name by class.
Example:
$icons->getIconName( 'fa-address-card' );
// Result
// 'Address card'
Get the details of a single icon by class.
Example:
$icons->getIcon( 'fa-address-card' );
// Result
/*
array (
'unicode' => '\\f2bb',
'name' => 'Address card',
'class' => 'fa-address-card',
)
*/
Get the details of a single icon by unicode.
Example:
$icons->getIconByUnicode( '\\f004' )
// Result
/*
array (
'unicode' => '\\f004',
'name' => 'Heart',
'class' => 'fa-heart',
)
*/
Reset the current array to its original state
Example:
$icons->sortByName();
// Array is sorted:
$icons->getArray();
/*
array (
'fa-500px' => '\\f26e',
'fa-address-book' => '\\f2b9',
'fa-address-book-o' => '\\f2ba',
'fa-address-card' => '\\f2bb',
...
);
*/
// Reset it
$icons->reset();
// This one will return the original array
$icons->getArray();
// Result:
/*
array (
'fa-glass' => '\\f000',
'fa-music' => '\\f001',
'fa-search' => '\\f002',
...
);
*/