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-phprequire_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.cssfile. 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',
...
);
*/