W tym artykule poznasz 10 użytecznych bibliotek PHP, które mogą okazać się przydatne w Twoich przyszłych projektach. Nie przedłużając, przejdźmy do pierwszej z nich.

Doorman

Doorman pozwala na generowanie kodów dostępowych, które możesz rozdać testerom swojej aplikacji Laravel. Możesz powiązać kod z wybranym adresem email, udostępnić go dla wszystkich, ustawić ograniczoną ilość kluczy i datę wygaśnięcia dostępu.

Doorman::generate()->for('me@ashleyclarke.me')->make();

Grav

Grav został uznany za najlepszy otwartoźródłowy system CMS 2016 roku. Ten tytuł zawdzięcza prostocie użytkowania, szybkości i wielu przydatnym funkcjom takim jak np. wbudowane narzędzie do robienia backupów.

grav

Money

Money to biblioteka, która ułatwia pracę z pieniędzmi. Pozwala między innymi na formatowanie i wymianę walut.

use Money\Money;

$fiveEur = Money::EUR(500);
$tenEur = $fiveEur->add($fiveEur);

list($part1, $part2, $part3) = $tenEur->allocate(array(1, 1, 1));
assert($part1->equals(Money::EUR(334)));
assert($part2->equals(Money::EUR(333)));
assert($part3->equals(Money::EUR(333)));

CalendR

CalendR to prosty sposób na korzystanie z kalendarza w PHP.

<?php
$factory = new CalendR\Calendar;
$month = $factory->getMonth(2012, 01);
?>

<table>
    <?php foreach ($month as $week): ?>
    <tr>
        <?php foreach ($week as $day): ?>
            <td><?php echo $day ?></td>
        <?php endforeach ?>
    </tr>
    <?php endforeach ?>
</table>

Filterus

Filterus to prosta biblioteka służąca do filtrowania danych. Każda klasa filtrująca posiada dwie główne metody: filter (zwraca zmodyfikowaną wersję parametru) i validate (zwraca true/false).

$filter->filter($var)
$filter->validate($var)

Emoji

Ta biblioteka generuje obrazki emoji na podstawie tekstu. Może się przydać podczas tworzenia blogów, for internetowych itd.

$emoji = new Emoji(new EmojiIndex(), '//twemoji.maxcdn.com/36x36/%s.png');
$emoji->replaceEmojiWithImages('🎈 :balloon:');

libphonenumber for PHP

libphonenumber fo PHP to biblioteka PHP, która służy do parsowania, formatowania, przechowywania i walidacji międzynarodowych numerów telefonu.

// Wyświetla "+41446681800"
echo $phoneUtil->format($swissNumberProto, \libphonenumber\PhoneNumberFormat::E164);

// Wyświetla "044 668 18 00"
echo $phoneUtil->format($swissNumberProto, \libphonenumber\PhoneNumberFormat::NATIONAL);

// Wyświetla "+41 44 668 18 00"
echo $phoneUtil->format($swissNumberProto, \libphonenumber\PhoneNumberFormat::INTERNATIONAL);

Cartographer

Cartographer to biblioteka przydatna podczas generowania plików sitemap (mapa strony). Potrafi tworzyć mapy o dowolnej wielkości.

$sitemap = new Tackk\Cartographer\Sitemap();
$sitemap->add('http://foo.com', '2005-01-02', ChangeFrequency::WEEKLY, 1.0);
$sitemap->add('http://foo.com/about', '2005-01-01');

// Write it to a file
file_put_contents('sitemap.xml', (string) $sitemap);

// or simply echo it:
header ('Content-Type:text/xml');
echo $sitemap->toString();

Zxcvbn-PHP

Zxcvbn-PHP to tester siły hasła. Możemy jej użyć do walidacji hasła podczas rejestracji. Porównuje hasło z listą 10.000 najpopularniejszych haseł, popularnymi imionami, wyrazami, datami itd.

$zxcvbn = new Zxcvbn();
$strength = $zxcvbn->passwordStrength('password', $userData);
echo $strength['score'];
// wyświetli 0

$strength = $zxcvbn->passwordStrength('correct horse battery staple');
echo $strength['score'];
// wyświetli 4

Bob

Bob to narzędzie służące do automatyzacji określonych czynności w PHP.

task('default', ['hello']);

task('hello', function() {
	echo "Hello World!\n";
});