40 کتابخانه‌ای که هر توسعه‌دهنده PHP باید با آن‌ها آشنا باشد!

Best PHP Libraries Every Developer Should Know

18 اسفند 1400
Best-PHP-Libraries-Every-Developer-Should-Know

PHP یک زبان پشتیبان قدرتمند است که در بیش از 80 درصد از برنامه های کاربردی وب جهانی استفاده می شود. سادگی PHP آن را به یکی از برترین زبان‌های برنامه‌نویسی تبدیل می‌کند، زیرا از ساختار برنامه‌نویسی آسان و قابلیت‌های پسندیده برای توسعه‌ وب استفاده می‌ کند. مانند هر زبان دیگری PHP از کتابخانه ها استفاده می کند. کتابخانه ها در PHP مجموعه ای از کدهای از پیش نوشته شده هستند که کاربران می توانند از آن ها برای بهینه سازی وظایف استفاده کنند.

اما، نوشتن کد PHP اغلب به یک کار خسته کننده تبدیل می شود. زیرا، در بسیاری از موارد، PHP نیاز به کدنویسی از ابتدا برای هر تابع دارد. این برای توسعه دهندگان دردسرساز می شود و فرآیندی زمان بر است.

برای رفع این مشکل، کتابخانه های داخلی PHP در بازار معرفی شدند تا به طور موثری بار توسعه دهندگان را هنگام کدنویسی پروژه کاهش دهند. با استفاده از این کتابخانه ها، چندین تابع را می توان به راحتی در پروژه پیکربندی کرد و به توسعه دهندگان این امکان را می دهد تا روی سایر عملیات پیچیده تمرکز بیشتری داشته باشند.

توابع کتابخانه، مانند array_push بخشی از کتابخانه PHP هستند و هر کسی می تواند به آن دسترسی داشته باشد و از آن استفاده کند. با این حال، می توانید تابع خود را بنویسید و از آن در کد خود نیز استفاده کنید.

40 کتابخانه برتر PHP - فهرست بهترین کتابخانه های PHP

  • Symfony Console Component
  • Symfony Finder Component
  • Psr/log
  • Monolog
  • Guzzle
  • Assert
  • Symfony/translation
  • PHPUnit
  • PHP-code-coverage
  • Swiftmailer
  • Email-validator
  • PHP dotenv
  • Symfony Filesystem Component
  • Twig
  • Faker
  • AWS SDK for PHP
  • PHPseclib
  • Laravel Tinker
  • Predis
  • PHP AMQP Library
  • Laravel-Permission Library
  • Twill Library
  • OAuth 2.0
  • Laravel Backup
  • PHP Rector
  • Lighthouse
  • Laravel Admin LTE
  • Swagger PHP library
  • Laravel/Passport MongoDB
  • Stripe-PHP
  • Omnipay
  • Laravel Cashier
  • Sylius
  • Laravel Aimeos
  • Spatie Image Optimizer
  • Elastica
  • Intervention/image
  • Minify
  • Swap
  • Tcpdf

در این جا بیش از 40 مورد از بهترین کتابخانه های PHP را که هر توسعه دهنده باید بداند، گردآوری کرده ایم. با استفاده از آن ها، توسعه دهندگان می توانند کار خود را کاهش دهند. بیایید نگاهی به برخی از بهترین کتابخانه های PHP در زیر بیاندازیم:

بهترین کتابخانه های PHP برای برنامه های وب

Symfony Console Component

Symfony Console Component

رابط خط فرمان (CLI) یکی از عناصر اصلی فریم ورک های PHP از جمله Laravel، Symfony، CodeIgniter و غیره است. این کتابخانه یک رابط خط فرمان ساده را فراهم می کند. استفاده از آن در برنامه بسیار ساده است و برای ساخت رابط های خط فرمان قابل آزمایش ساخته شده است.

دستور استفاده:

composer require symfony/console

پیاده سازی:

ابتدا باید یک اسکریپت PHP ایجاد و از کد زیر استفاده کنید:

<?php

// application.php



require __DIR__.'/vendor/autoload.php';

use Symfony\Component\Console\Application;

$application = new Application();

$application->run();

اکنون باید دستورها را با استفاده از توابع add  استفاده کنید:

$application->add(new GenerateAdminCommand());

Symfony Finder Component

توسعه دهندگان اغلب هنگام یافتن فایل ها و پوشه های مورد نظر در پروژه با مشکلاتی مواجه می شوند. با استفاده از symphony finder component Finder، توسعه دهندگان می توانند به راحتی فایل ها و دایرکتوری ها را در پروژه پیدا کنند. این ویژگی های مختلف (نام، اندازه فایل، زمان اصلاح، پسوند، و غیره) را برای یافتن فایل ها یا دایرکتوری های مرتبط ارائه می دهد. علاوه بر این، دارای یک رابط دیداری است که به کاربران کمک می کند منابع مورد نظر را پیدا کنند.

Symfony Finder Component

دستور استفاده:

composer require symfony/finder

پیاده سازی:

می توانید فایل ها را در FTP و جریان های تعریف شده توسط کاربر پیدا کنید.

Psr/log

Psr/log

اگر می‌خواهید تمام رابط‌ها، کلاس‌ها، ویژگی‌ها و غیره مربوط به PS-3 را پیدا کنید، این کتابخانه PHP به شما کمک می‌کند همه آن منابع را تنها با چند کلیک پیدا کنید. کتابخانه به خودی خود یک Logger نیست، بلکه رابطی است که یک سیستم گزارش را تشکیل می دهد. این کتابخانه PHP با اسناد کامل ارائه می شود تا توسعه دهندگان بتوانند به راحتی با آن کار کنند.

دستور استفاده:

composer require psr/log

پیاده سازی:

می توانید از لاگر برای ورود به سیستم مانند قطعه کد زیر استفاده کنید:

<?php

use Psr\Log\LoggerInterface;

class Foo

{

private $logger;

public function __construct(LoggerInterface $logger = null)

{

$this->logger = $logger;

}

public function doSomething()

{

if ($this->logger) {

$this->logger->info('Doing work');

}

// do something useful

}

}

Monolog

لازم است لاگ ها را در فایل ها یا پوشه های خاصی ذخیره کنید. ذخیره آن ها در یک مکان خاص اغلب کار دشواری به نظر می رسد، اما با استفاده از این کتابخانه PHP می توانید به راحتی لاگ های خود را در مکان های تعریف شده ذخیره کنید. Monolog به شما کمک می‌کند تا گزارش‌ها را به فایل‌های تعریف‌شده، سوکت‌ها، صندوق‌های ورودی، پایگاه‌های داده و سایر سرویس‌های وب ارسال کنید. از یک رابط PSR-3 استفاده می کند که به شما امکان می دهد تا سیاهه های مربوط به کتابخانه های خود را تایپ کنید تا حداکثر قابلیت همکاری را حفظ کنید.

دستور استفاده:

composer require monolog/monolog

پیاده سازی:

استفاده اساسی برای ثبت یک خطا و هشدار با PSR log را می توان به صورت زیر تعریف کرد:

<?php



use Monolog\Logger;

use Monolog\Handler\StreamHandler;



// create a log channel

$log = new Logger('name');

$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));



// add records to the log

$log->warning('Foo');

$log->error('Bar');

Guzzle

Guzzle

Guzzle به عنوان یک کلاینت PHP خاص برای ارسال درخواست های HTTP به سرورهای وب کار می کند. با استفاده از این کتابخانه، توسعه دهندگان می توانند به راحتی درخواست های HTTP را برای ادغام با سرویس های وب ارسال کنند. این کتابخانه یک رابط ساده برای ساخت رشته های کوئری، درخواست های POST، کوکی های HTTP و سایر ویژگی ها ارائه می دهد. همچنین به توسعه دهندگان اجازه می دهد تا درخواست های همزمان و ناهمزمان را از یک رابط ارسال کنند.

دستور استفاده:

composer require guzzlehttp/guzzle

پیاده سازی:

اجازه دهید مثالی از Guzzle API را برای احراز هویت ببینیم و سپس روش‌های مختلف را برای دریافت سرورها و برنامه‌ها اجرا کنیم. می توانید مقاله کامل را این جا بخوانید. بیایید به مثال نگاه کنیم:

<?php 

Class CloudwaysAPIClient

{

  private $client = null;

  const API_URL = "https://api.cloudways.com/api/v1";

  var $auth_key;

  var $auth_email;

  var $accessToken;

  public function __construct($email,$key)

  {

    $this->auth_email = $email;

    $this->auth_key = $key;

    $this->client = new GuzzleHttpClient();

    $this->prepare_access_token();

  }

  public function prepare_access_token()

  {

    try

    {

      $url = self::API_URL . "/oauth/access_token";

      $data = ['email' => $this->auth_email,'api_key' => $this->auth_key];

      $response = $this->client->post($url, ['query' => $data]);

      $result = json_decode($response->getBody()->getContents());

      $this->accessToken = $result->access_token;

    }

    catch (RequestException $e)

    {

      $response = $this->StatusCodeHandling($e);

      return $response;

    }
  }

Assert

Assert

با استفاده از کتابخانه Assert، توسعه دهندگان می توانند به راحتی ورودی و خروجی متد ها را در عرض چند دقیقه آزمایش کنند. این یک کتابخانه ساده PHP است که نیاز به کدنویسی گسترده در برنامه های کاربردی وب را کاهش می دهد. استفاده از کتابخانه ها در پروژه نیز بسیار آسان است.

دستور استفاده:

composer require webmozart/assert

Symfony/translation

Symfony/translation

این بسته ترجمه برای توسعه دهندگانی است که می خواهند برنامه های چند زبانه با پشتیبانی از زبان های مختلف بسازند. این تقاضای روزافزون دنیای مدرن برای ساخت یک محصول چند زبانه است و توسعه دهندگان با استفاده از این کتابخانه می توانند به راحتی پروژه های مورد نظر خود را به زبان های مختلف ایجاد کنند. این کتابخانه دارای اسناد کامل است و کار با آن آسان است.

دستور استفاده:

composer require symfony/translation

پیاده سازی

برای ترجمه خودکار صفحات باید محل (local) را در کلاس سازنده تعریف کنید.

use Symfony\Component\Translation\Translator;

$translator = new Translator('fr_FR');

PHPUnit

PHPUnit

PHPUnit شاید بهترین کتابخانه PHP برای انجام تست واحد در برنامه های کاربردی PHP باشد. برای آزمایش کد و خطاها و اشکالات احتمالی استفاده می شود. در حین انجام آزمایش واحد با PHPUnit، توسعه‌دهندگان می‌توانند باگ‌های برنامه‌های مختلف را که ممکن است در طول اجرای زمان اجرا ایجاد شوند، برطرف کنند.

دستور استفاده:

composer require phpunit/phpunit

PHP-code-coverage

PHP-code-coverage

اگر می خواهید میزان کد منبع یک برنامه را در طول یک آزمایش خاص اندازه بگیرید، این کتابخانه به شما در اندازه گیری آن کمک می کند. این کتابخانه یک مجموعه از کدهای PHP اجرا شده را در اختیار شما قرار می دهد تا بتوانید در مورد کد آزمایش شده و نحوه رفع خطاهای موجود در آن ایده بهتری کسب کنید.

دستور استفاده:

composer require phpunit/php-code-coverage

Swiftmailer

Swiftmailer

Swiftmailer یک کتابخانه PHP برای ارسال ایمیل با ویژگی های غنی است که در درجه اول برای آسان سازی فرستادن ایمیل در هر برنامه وب ساخته شده است. این کتابخانه از رویکرد شی گرا پیشرفته برای ارسال ایمیل استفاده می کند. مهم‌ترین ویژگی Swiftmailer این است که از ایمیل ها در برابر حملات تزریق هدر بدون حذف محتوا محافظت می‌کند، که آن را به یک سیستم پستی بسیار کارآمد تبدیل می‌کند.

دستور استفاده:

composer require swiftmailer/swiftmailer

پیاده سازی:

روش استفاده از mailer برای ارسال ایمیل به صورت زیر است:

require_once '/path/to/vendor/autoload.php';



// Create the Transport

$transport = (new Swift_SmtpTransport('smtp.example.org', 25))

  ->setUsername('your username')

  ->setPassword('your password');



// Create the Mailer using your created Transport

$mailer = new Swift_Mailer($transport);



// Create a message

$message = (new Swift_Message('Wonderful Subject'))

  ->setFrom(['john@doe.com' => 'John Doe'])

  ->setTo(['receiver@domain.org', 'other@domain.org' => 'A name'])

  ->setBody('Here is the message itself');



// Send the message

Email-validator

Email-validator

Email-validator یک کتابخانه تخصصی اعتبار سنجی PHP است که برای اعتبارسنجی ایمیل ها از طریق چندین ویژگی اعتبار سنجی انتخاب شده استفاده می شود. این کتابخانه انواع مختلفی از اعتبار سنجی را برای ایمیل ها فراهم می کند، از جمله RFC Validation، NoRFCWarningsValidation، SpoofCheckValidation و موارد دیگر. این کتابخانه همچنین یک ویژگی اعتبارسنجی DNS را ارائه می‌کند که از طریق آن می‌توانید ایمیل‌ها را با تایید DNS تایید کرده و یا اسپم کنید.

دستور استفاده:

composer require egulias/email-validator

پیاده سازی:

شما باید استراتژی یا روش اعتبارسنجی را در کد تعریف کنید. در حال حاضر 6 نوع اعتبارسنجی موجود دارید که می توانید در اسناد رسمی مشاهده کنید.

کاربرد اصلی به شرح زیر است:

use Egulias\EmailValidator\EmailValidator;

use Egulias\EmailValidator\Validation\RFCValidation;

$validator = new EmailValidator();

$validator->isValid("example@example.com", new RFCValidation()); //true

PHP dotenv

PHP dotenv

این کتابخانه به توسعه دهندگان کمک می کند تا متغیرهای محیطی را از env به getenv()، $_ENV و $_SERVER بفرستد. این کتابخانه هم چنین به توسعه دهندگان این امکان را می دهد که انتخاب کنند کدام قسمت از محیط را می خواهند بخوانند و با توجه به نیازهای برنامه تغییر دهند.

دستور استفاده:

composer require vlucas/phpdotenv

پیاده سازی:

ابتدا باید یک فایل env در سطح root دایرکتوری خود ایجاد کنید. در مرحله بعد متغیر و مقادیری را در آن به صورت زیر اضافه کنید:

S3_BUCKET="devbucket"

SECRET_KEY="abc123"

اکنون فایل env را در برنامه به صورت زیر بارگذاری کنید:

$dotenv = Dotenv\Dotenv::create(__DIR__);

$dotenv->load();

حال با این سه روش می توانید به متغیرهای ایجاد شده در فایل env دسترسی داشته باشید. شما می توانید از هر یک از آن ها استفاده کنید.

$s3_bucket = getenv('S3_BUCKET');

$s3_bucket = $_ENV['S3_BUCKET'];

$s3_bucket = $_SERVER['S3_BUCKET'];

Symfony Filesystem Component

Symfony Filesystem Component

این کتابخانه ابزارهای اساسی را برای filesystem فراهم می کند. با استفاده از این کتابخانه، توسعه دهندگان می توانند به راحتی دایرکتوری ها، فایل ها و موارد دیگر را تنها در چند مرحله ایجاد کنند. همچنین به شما این امکان را می دهد که قواعد ویرایش فایل را تغییر دهید و با آن یک Symlink ایجاد کنید. برای نصب کتابخانه، فقط باید ازcomposer  برای نصب استفاده کنید که یک فرآیند کاملا مستقیم است.

دستور استفاده:

composer require symfony/filesystem

Twig

Twig

Twig یک موتور تمپلیت سریع، کارآمد و مطمئن برای PHP است. تمپلیت ها را به کدهای ساده PHP که به راحتی برای توسعه دهندگان قابل درک است، کامپایل می کند. این امر سربار کدهای پیچیده را کاهش می دهد و عملکرد برنامه را افزایش می دهد. علاوه بر این، بسایر قابل تنظیم است، زیرا به شما امکان می دهد برچسب ها، فیلترها و DSL سفارشی خود را با توجه به نیازهای برنامه تعریف کنید.

دستور استفاده:

composer require twig/twig

Faker

Faker یک کتابخانه PHP مفید است که به توسعه دهندگان اجازه می دهد محتوای ساختگی برای برنامه های وب تولید کنند. چه بخواهید پایگاه داده برنامه را با داده های ساختگی پر کنید و چه بخواهید نمونه اسناد XML ایجاد کنید، Faker با داده های آزمایشی خوب این کار را برای شما انجام می دهد. این برنامه از تمام نسخه های PHP 5+  پشتیبانی می کند و فقط یک بار به نصب composer  آسان نیاز دارد.

دستور استفاده:

composer require fzaninotto/faker

پیاده سازی:

شما باید از Faker\Factory::create برای ایجاد و مقداردهی اولیه یک مولد fake استفاده کنید که می تواند با دسترسی به ویژگی ها داده تولید کند.

<?php

// require the Faker autoloader

require_once '/path/to/Faker/src/autoload.php';

// alternatively, use another PSR-4 compliant autoloader



// use the factory to create a Faker\Generator instance

$faker = Faker\Factory::create();



// generate data by accessing properties

echo $faker->name;

  // 'Lucy Cechtelar';

echo $faker->address;

  // "426 Jordy Lodge

  // Cartwrightshire, SC 88120-6700"

echo $faker->text;

  // Dolores sit sint laboriosam dolorem culpa et autem. Beatae nam sunt fugit

  // et sit et mollitia sed.

  // Fuga deserunt tempora facere magni omnis. Omnis quia temporibus laudantium

  // sit minima sint.

AWS SDK برای PHP

AWS SDK برای PHP

این کتابخانه خاص AWS به توسعه دهندگان اجازه می دهد تا از خدمات وب آمازون در برنامه های PHP استفاده کنند. با استفاده از این AWS SDK، می‌توانید برنامه‌های وب مورد نظر مرتبط با Amazon S3، Glacier، DynamoDB و سایر خدمات آمازون بسازید. به سادگی این SDK را با استفاده از آهنگساز نصب کنید یا یک فایل فشرده را دانلود کنید، تمام سرویس های آمازون از قبل در آن پیکربندی شده و آماده استقرار با برنامه PHP شما هستند.

اما، از آن جایی که در Cloudways هستید، برای برنامه های PHP خود به این کتابخانه نیاز نخواهید داشت. Cloudways میزبانی وب سایت PHP را بر روی سرویس های AWS کاملً مدیریت شده برای برنامه های کاربردی مستقر خود همراه با پشته یکپارچه ابزارهای وب بهینه سازی شده ارائه می دهد.

دستور استفاده:

composer require aws/aws-sdk-php

پیاده سازی:

ابتدا باید SDK را با گنجاندن فایل‌های فروشنده مقداردهی اولیه کنید و سپس می‌توانید موارد استفاده متفاوتی ایجاد کنید، مانند این که شاید بخواهید فایل‌ها را آپلود کنید. بیایید ببینیم چگونه می توانید این کار را انجام دهید.

<?php

// Require the Composer autoloader.

require 'vendor/autoload.php';
use Aws\S3\S3Client;


// Instantiate an Amazon S3 client.

$s3 = new S3Client([

    'version' => 'latest',

    'region'  => 'us-west-2'

]);

اکنون فایل را سرورهای AWS مانند زیر آپلود کنید:

<?php

// Upload a publicly accessible file. The file size and type are determined by the SDK.

try {

    $s3->putObject([

        'Bucket' => 'my-bucket',

        'Key'    => 'my-object',

        'Body'   => fopen('/path/to/file', 'r'),

        'ACL'    => 'public-read',

    ]);

} catch (Aws\S3\Exception\S3Exception $e) {

    echo "There was an error uploading the file.\n";

}

PHPseclib

PHPseclib

انتقال فایل ها از یک سرور به سرور دیگر همیشه یک فرآیند مخاطره آمیز باقی می ماند، زیرا هکرها می توانند در بین مسیر مداخله کنند و می توانند اطلاعات محرمانه را سرقت کنند. برای تقویت این فرآیند، PHPSeclib با استفاده از پروتکل SFTP، انتقال اطلاعات کاملا ایمن را بین سرورها فراهم می کند. این کتابخانه PHP SFTP با آخرین نسخه‌های PHP سازگار است و به راحتی در برنامه‌های وب استفاده می‌شود.

دستور استفاده:

composer require phpseclib/phpseclib

Laravel Tinker

Laravel Tinker

Laravel Tinker یک بسته قدرتمند لاراول است که به کاربران این امکان را می دهد تا مستقیما از خط فرمان با برنامه های لاراول هم کنش داشته باشند. استفاده از Eloquent ORM برای مدیریت مشاغل، رویدادها و موارد دیگر عالی است. این یک ابزار داخلی است و با استفاده از دستور Tinker artisan در composer به راحتی قابل دسترسی است.

دستور استفاده:

composer require laravel/tinker

Predis

Predis

Predis یک کلاینت Redis برای برنامه های PHP است. Predis یک ابزار ذخیره سازی بسیار موثر است که برای کاهش هزینه های ذخیره سازی در برنامه های وب ساخته شده است. می‌توانید از آن برای خوشه‌بندی، راه‌اندازی‌های تکثیر master-slave، پیشوند کلید شفاف و بسیاری از عملیات بهینه‌سازی دیگر استفاده کنید. هم چنین از کلاس های مختلف اتصال سفارشی برای ارائه شبکه های مختلف و پروتکل های پشتیبان پشتیبانی می کند.

دستور استفاده:

composer require predis/predis

پیاده سازی:

برای پیاده سازی predis در پروژه PHP خود ابتدا باید کتابخانه را در پروژه بارگذاری کنید.

// Prepend a base path if Predis is not available in your "include_path".

require 'Predis/Autoloader.php';

Predis\Autoloader::register();

در زیر یک اتصال کلاینت ایجاد می شود:

$client = new Predis\Client();
$client->set('foo', 'bar');
$value = $client->get('foo');

PHP AMQP

PHP AMQP 

php-amqplib یک کتابخانه است که فقط برای PHP طراحی شده است. با هر فریمورک PHP سازگار است و به طور کامل برای کلاینت RabbitMQ سازگار شده است.

چندین سیستم عامل توسط RabbitMQ پشتیبانی می شود و چندین کتابخانه رسمی کلاینت در دسترس است که یکی از آن ها php-amqplib است. این یک میان افزار پیام گرا است که ویژگی های اصلی آن عبارتند از: صف بندی و جهت گیری.

دستور استفاده:

composer require php-amqplib/php-amqplib

پیاده سازی:

<?php
Include (__DIR__ . '/config.php');
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Connection\AMQPSocketConnection;
use PhpAmqpLib\Connection\AMQPSSLConnection;
define ('CERTS_PATH', '/git/rabbitmqinaction/av_scratchwork/openssl');
$sslOptions = array (
$ssl_options = array (
  'cafile' => CERTS_PATH . '/rmqca/cacert.pem',
  'local_cert' => CERTS_PATH . '/phpcert.pem',
  'verify_peer' => true
);

Laravel-Permission

Laravel-Permission 

این کتابخانه برای لاراول 5.8 و نسخه های جدیدتر است. این بسته به شما امکان می دهد نقش و مجوزهای کاربر را در یک پایگاه داده مدیریت کنید.

پیاده سازی:

می توانید به صورت دستی ارائه دهنده خدمات را در فایل config/app.php خود اضافه کنید:

'providers' => [
// ...
    Spatie\Permission\PermissionServiceProvider::class,
];
You must publish the migration with:
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"

Twill

Twill 

Twill یک ابزار CMS منبع باز برای لاراول است. این به نویسنده امکان ایجاد، سرپرستی و شخصی‌سازی فرمان در گردش‌های کاری دیجیتال را می‌دهد. همچنین به ناشران اجازه می دهد بدون محدودیت چیزی طراحی و کنترل کنند. هم چنین آزادی ایجاد یک ادمین قدرتمند را بدون تضعیف کنترل های توسعه دهنده با پیکربندی می دهد.

دستور استفاده:

composer global require yanhaoli/create-twill-app:"1.0.*"create-twill-app new blog

OAuth 2.0

OAuth 2.0

OAuth یک استاندارد باز برای واگذاری دسترسی است. امکان دسترسی به اطلاعات کاربر در سایر وب سایت ها بدون فاش کردن رمز عبور را فراهم می کند. OAuth 2.0 یک کتابخانه سبک وزن و قدرتمند برای کاربران ساخته است تا برنامه را احراز هویت و مجوز کند و از API آن محافظت کنند.

دستور استفاده:

composer require league/oauth2-server

پیاده سازی:

مثال‌های این جا کاربرد آن را با Slim Framework نشان می‌دهد. Slim برای استفاده از این کتابخانه الزامی نیست، فقط به چیزی نیاز دارید که درخواست ها و پاسخ های HTTP سازگار با PSR7 را ایجاد کند.کلاینت کاربر را به نقطه پایانی مجوز هدایت می کند.

$app->get('/authorize', function (ServerRequestInterface $request, ResponseInterface $response) use ($server) {
  
    try {
                          	$authRequest = $server->validateAuthorizationRequest($request);
           	$authRequest->setUser(new UserEntity()); // an instance of UserEntityInterface
           	$authRequest->setAuthorizationApproved(true);
           	return $server->completeAuthorizationRequest($authRequest, $response);
        }
 
            	catch (OAuthServerException $exception)
            	{
           	return $exception->generateHttpResponse($response);
            	}
 
                            	catch (\Exception $exception)
            	{
                            	$body = new Stream(fopen('php://temp', 'r+'));
           	$body->write($exception->getMessage());
           	return $response->withStatus(500)->withBody($body);
       
  }
});

Laravel Backup

Laravel Backup

این بسته یک نسخه پشتیبان از برنامه شما ایجاد می کند. یک فایل فشرده از پشتیبان گیری ایجاد می شود که شامل تمام فایل های موجود در فهرست های مشخص شده است. هر فایل سیستمی توسط بسته پشتیبان پشتیبانی می شود و همچنین می تواند چندین نسخه پشتیبان در سیستم های فایل مختلف به طور همزمان ایجاد کند. هم چنین اگر مشکلی پیش بیاید، از طریق ایمیل، Slack یا سایر ارائه دهندگان به شما اطلاع می دهد.

دستور استفاده:

composer require spatie/laravel-backup

پیاده سازی:

برای انتشار فایل پیکربندی به config/backup.php اجرا کنید:

php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"

PHP Rector

PHP Rector

این بسته کد PHP را ارتقا داده و باز ویرایش می کند. کلاس ها، فضاهای نام و ثابت ها را تغییر نام می دهد و PHP 5.3 را به راحتی به PHP 7.4 ارتقا می دهد. هم چنین پروژه ها را از Nette به Symfony منتقل می کند و لاراول استاتیک را به Dependency Injection تبدیل می کند. تقریبا با هر فریمورک PHP مانند Laravel، Symfony، CakePHP، PHPUnit و موارد دیگر استفاده می شود.

دستور استفاده:

composer require rector/rector

پیاده سازی:

هنگامی که کتابخانه برای اولین بار پیاده سازی شد، می توانید یک اجرا داشته باشید و سپس از طریق دستورات زیر کد خود را برای همیشه تغییر دهید:

#see the diff firstvendor/bin/rector process src --dry-run# if it's ok, applyvendor/bin/rector process src

Lighthouse

Lighthouse

GraphQL یک زبان کوئری (پرسه ای) برای API ها است. کوئری های موجود در داده های موجود شما را برآورده می کند و درک گسترده ای از داده ها در API ها به شما می دهد. همچنین به کلاینت قدرت تعیین نیازها را می دهد و API را در طول زمان تکامل می دهد.

دستور استفاده:

composer require nuwave/lighthouse

پیاده سازی:

با دستور artisan زیر می توانید طرح پیش فرض Lighthouse را دریافت کنید:

php artisan vendor:publish --provider="Nuwave\Lighthouse\LighthouseServiceProvider" --tag=schema

Laravel Admin LTE

Laravel Admin LTE

Laravel Adminlte این کتابخانه ترکیب آسان AdminLTE با Laravel 5 یا نسخه های جدیدتر را فراهم می کند.

دستور استفاده:

composer require jeroennoten/laravel-adminlte

پیاده سازی:

<?php

namespace JeroenNoten\LaravelAdminLte;



use Illuminate\Contracts\Events\Dispatcher;


use Illuminate\Contracts\Container\Container;


use JeroenNoten\LaravelAdminLte\Menu\Builder;


use JeroenNoten\LaravelAdminLte\Events\BuildingMenu;


class AdminLte


{


  protected $menu;






  protected $filters;






  protected $events;






  protected $container;






  public function __construct(


    	array $filters,


    	Dispatcher $events,


    	Container $container


  ) {


    	$this->filters = $filters;


    	$this->events = $events;


    	$this->container = $container;


  }






  public function menu()


  {


    	if (! $this->menu) {


        	$this->menu = $this->buildMenu();


    	}






    	return $this->menu;


  }






  protected function buildMenu()


  {


    	$builder = new Builder($this->buildFilters());






    	if (method_exists($this->events, 'dispatch')) {


            $this->events->dispatch(new BuildingMenu($builder));


    	} else {


            $this->events->fire(new BuildingMenu($builder));


    	}






    	return $builder->menu;


  }






  protected function buildFilters()


  {


    	return array_map([$this->container, 'make'], $this->filters);


  }


}

Swagger PHP

Swagger PHP

Swagger کتابخانه ای است که با استفاده از phpdoc به تولید داکیومنت های هم کنشی برای restful API ها کمک می کند. این برنامه با OpenAPI 3.0 سازگار است، زیرا کد و حاشیه نویسی های موجود را با استفاده از یک رابط CLI استخراج می کند.

دستور استفاده:

composer require zircote/swagger-php

پیاده سازی:

/**
 * @OA\Info(title="My First API", version="0.1")
 */
 
/**
 * @OA\Get(
 * 	path="/api/resource.json",
 * 	@OA\Response(response="200", description="An example resource")
 * )
 */

Laravel/Passport MongoDB

Laravel/Passport MongoDB

یک ارائه دهنده خدمات است که به اضافه کردن پشتیبانی از Laravel Passport و MongoDB کمک می کند.

دستور استفاده:

composer require jenssegers/mongodb

بهترین کتابخانه های تجارت الکترونیک (Ecommerce) PHP برای برنامه های وب

Stripe-PHP

Stripe-PHP

Stripe یک پلتفرم پرداخت الکترونیکی محبوب است که برای انجام تراکنش های آنلاین از طریق وب استفاده می شود. این بسته به طور ویژه برای برنامه های تجارت الکترونیک PHP برای تعامل با Stripe API ساخته شده است. این کتابخانه دسترسی سریع و کارآمد به Stripe API را فراهم می کند و اتصال انتها به انتها بین پلتفرم ها را ایمن می کند. این کتابخانه شامل مجموعه ای از کلاس های API از پیش تعریف شده است که با بیش تر نسخه های Stripe سازگار است.

دستور استفاده:

composer require stripe/stripe-php

Omnipay

Omnipay

این کتابخانه PHP امکان اتصال سریع به خدمات وب Omnipay را فراهم می کند. یک API وب بسیار روان را مستقر می کند که کاملا آزمایش شده  و پیشرفته است. خود بسته از کتابخانه قدرتمند PHP-HTTP برای درخواست HTTP استفاده می کند تا همه تراکنش ها ایمن و قابل اعتماد شوند.

دستور استفاده:

composer require league/omnipay

Laravel Cashier

Laravel Cashier

Laravel Cashier یک رابط کاربری ساده و آسان برای خدمات صورتحساب اشتراک Stripe ارائه می دهد. تمام خدمات صورت‌حساب از پیش کدگذاری شده در کتابخانه ارائه می‌شوند تا نگران پیکربندی پیچیده صورت‌حساب پرداخت نباشید. با استفاده از Laravel Cashier، می‌توانید به راحتی کوپن‌ها، کدهای تخفیف، تعویض اشتراک‌ها، فاکتورها و سایر عملیات‌ها را مدیریت کنید.

دستور استفاده:

composer require laravel/cashier

Sylius

Sylius

اگر می خواهید Sylius را در برنامه PHP خود استفاده کنید، این کتابخانه به شما در ایجاد یک اتصال وب امن کمک می کند. با ساختار API قوی ساخته شده است تا برنامه های کاربردی وب را به طور ایمن با پلت فرم تجارت الکترونیک Sylius متصل کند. فقط کافی است به composer  بروید و کتابخانه Sylius را نصب کنید، تمام تنظیمات پرداخت از قبل در آن پیکربندی شده اند تا توسعه دهندگان نیازی به انجام کارهای اضافی نداشته باشند.

دستور استفاده:

composer create-project sylius/sylius

Laravel Aimeos

Laravel Aimeos

Aimeos یکی از پر استفاده ترین بسته های تجارت الکترونیک لاراول است. قابلیت های پیشرفته تجارت الکترونیک را برای برنامه موجود لاراول فراهم می کند. یک برنامه افزودنی مبتنی بر composer است که با تمام نسخه های Laravel 5+  سازگاری دارد. Aimeos اجزای اصلی فروشگاه آنلاین را در برنامه لاراول ترکیب می کند و ویژگی های تجارت الکترونیک بهینه شده را برای برنامه ها ارائه می دهد.

دستور استفاده:

composer require aimeos/aimeos-laravel

Spatie Image Optimizer

Spatie Image Optimizer

بهینه سازی تصویر عملکرد برنامه را بهبود می بخشد و ارزش زیادی در Google Bot دارد. Spatie یک کتابخانه تخصصی بهینه سازی تصویر PHP برای برنامه های لاراول است. به راحتی می تواند PNG، JPG، SVG و GIF را با توجه به نیازهای مورد نیاز بهینه کند. این کتابخانه تصویر PHP با چندین ابزار بهینه سازی تصویر از جمله JpegOptim، Optipng، Pngquant2، SVGO و Gifsicle از پیش پیکربندی شده است. رابط کاربری بسیار ساده است و کار با آن حتی برای مبتدیان نیز آسان است.

دستور استفاده:

composer require spatie/image-optimizer

Elastica

Elastica

Elasticsearch یک سیستم جستجوی متن کامل محبوب است که به طور گسترده توسط بیش تر توسعه دهندگان PHP در سراسر جهان استفاده می شود. Elasticsearch امکان جستجوی سریع داده ها در پایگاه داده خود را فراهم می کند. Elasticsearch یک کلاینت PHP برای Elasticsearch است، تنظیمات از پیش پیکربندی شده برای Elasticsearch را ارائه می دهد و فهرست بندی سریع داده ها را برای برنامه ها ارائه می دهد. این برنامه با تمام نسخه های PHP 5+ سازگار است و مستندات نصب دقیق را ارائه می دهد.

دستور استفاده:

composer require ruflin/elastic

Intervention/image

Intervention/image

این یکی دیگر از ابزارهای عالی برای مدیریت بهینه سازی تصویر در برنامه های PHP است. با استفاده از این کتابخانه تصویری PHP، می توانید به راحتی تصاویر را به دلخواه شخصی سازی کنید. یک رابط کاربری آسان برای ایجاد، ویرایش و نوشتن تصاویر در اختیار شما قرار می دهد. برای ترکیب شدن آسان با برنامه های لاراول، کتابخانه تصویری PHP شامل Service Providers و Facades می شود زیرا فرآیند نصب بسته بدون دردسر را آسان می کنند.

دستور استفاده:

composer require predis/predis

Minify

Minify

کوچک سازی یکی از مهم ترین جنبه های بهینه سازی فایل های CSS و JavaScript است. این کتابخانه به کاهش الگوهای برنامه نویسی کمک می کند و آن را مطابق با استانداردهای عملکرد وب بهینه می کند. این کتابخانه به توسعه دهندگان کمک می کند تا فایل های CSS و JavaScripting خود را کوچک کنند.

فضاهای خالی را حذف می‌کند، نظرات و سایر ویژگی‌های غیرقابل توجه را از کد حذف می‌کند و اجرای آن را سبک و ساده می‌کند. بلوک های کد، دارایی های کوچک را در فایل های CSS ترکیب می کند و ساختارهای کدگذاری کمی را طبق بهترین استانداردها کوچک می کند.

دستور استفاده:

composer require matthiasmullie/minify

Swap

Swap

Swap یک کتابخانه PHP مفید برای کار با نرخ تبدیل ارز است. این به شما امکان می دهد نرخ های مبادله را از پلتفرم های رایج ارز مانند Fixer، currencylayer و موارد دیگر بازیابی کنید. یکی از پرکاربردترین کتابخانه ها برای کار با نرخ ارز است، زیرا با کتابخانه های دیگر ترکیب شده است و دارای یک الگوی پیکربندی ساده برای کار است.

دستور استفاده:

composer require florianv/swap

Tcpdf

Tcpdf

یک کتابخانه PHP PDF است که به شما کمک می کند اسناد PDF با کیفیت بالا تولید کنید. از تمام فرمت های صفحه استاندارد و سفارشی پشتیبانی می کند و کار با اسناد PDF را برای کاربران ساده می کند. این بسته چندین ویژگی فرمت بندی پیشرفته از جمله مدیریت خودکار سرصفحه و پاورقی صفحه، حاشیه نویسی، پیوندها، ستون های متعدد (در صورت نیاز)، رندر متن، و ویژگی های مختلف دیگر را ارائه می دهد. به طور خلاصه، این ابزار خوبی برای کار و مدیریت اسناد PDF در حال حرکت است.

دستور استفاده:

composer require tecnickcom/tcpdf
نویسنده شوید

دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.