PHP یک زبان پشتیبان قدرتمند است که در بیش از 80 درصد از برنامه های کاربردی وب جهانی استفاده می شود. سادگی PHP آن را به یکی از برترین زبانهای برنامهنویسی تبدیل میکند، زیرا از ساختار برنامهنویسی آسان و قابلیتهای پسندیده برای توسعه وب استفاده می کند. مانند هر زبان دیگری PHP از کتابخانه ها استفاده می کند. کتابخانه ها در PHP مجموعه ای از کدهای از پیش نوشته شده هستند که کاربران می توانند از آن ها برای بهینه سازی وظایف استفاده کنند.
اما، نوشتن کد PHP اغلب به یک کار خسته کننده تبدیل می شود. زیرا، در بسیاری از موارد، PHP نیاز به کدنویسی از ابتدا برای هر تابع دارد. این برای توسعه دهندگان دردسرساز می شود و فرآیندی زمان بر است.
برای رفع این مشکل، کتابخانه های داخلی PHP در بازار معرفی شدند تا به طور موثری بار توسعه دهندگان را هنگام کدنویسی پروژه کاهش دهند. با استفاده از این کتابخانه ها، چندین تابع را می توان به راحتی در پروژه پیکربندی کرد و به توسعه دهندگان این امکان را می دهد تا روی سایر عملیات پیچیده تمرکز بیشتری داشته باشند.
توابع کتابخانه، مانند array_push بخشی از کتابخانه PHP هستند و هر کسی می تواند به آن دسترسی داشته باشد و از آن استفاده کند. با این حال، می توانید تابع خود را بنویسید و از آن در کد خود نیز استفاده کنید.
در این جا بیش از 40 مورد از بهترین کتابخانه های PHP را که هر توسعه دهنده باید بداند، گردآوری کرده ایم. با استفاده از آن ها، توسعه دهندگان می توانند کار خود را کاهش دهند. بیایید نگاهی به برخی از بهترین کتابخانه های PHP در زیر بیاندازیم:
رابط خط فرمان (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());
توسعه دهندگان اغلب هنگام یافتن فایل ها و پوشه های مورد نظر در پروژه با مشکلاتی مواجه می شوند. با استفاده از symphony finder component Finder، توسعه دهندگان می توانند به راحتی فایل ها و دایرکتوری ها را در پروژه پیدا کنند. این ویژگی های مختلف (نام، اندازه فایل، زمان اصلاح، پسوند، و غیره) را برای یافتن فایل ها یا دایرکتوری های مرتبط ارائه می دهد. علاوه بر این، دارای یک رابط دیداری است که به کاربران کمک می کند منابع مورد نظر را پیدا کنند.
composer require symfony/finder
می توانید فایل ها را در FTP و جریان های تعریف شده توسط کاربر پیدا کنید.
اگر میخواهید تمام رابطها، کلاسها، ویژگیها و غیره مربوط به 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 } }
لازم است لاگ ها را در فایل ها یا پوشه های خاصی ذخیره کنید. ذخیره آن ها در یک مکان خاص اغلب کار دشواری به نظر می رسد، اما با استفاده از این کتابخانه 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 به عنوان یک کلاینت 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، توسعه دهندگان می توانند به راحتی ورودی و خروجی متد ها را در عرض چند دقیقه آزمایش کنند. این یک کتابخانه ساده PHP است که نیاز به کدنویسی گسترده در برنامه های کاربردی وب را کاهش می دهد. استفاده از کتابخانه ها در پروژه نیز بسیار آسان است.
composer require webmozart/assert
این بسته ترجمه برای توسعه دهندگانی است که می خواهند برنامه های چند زبانه با پشتیبانی از زبان های مختلف بسازند. این تقاضای روزافزون دنیای مدرن برای ساخت یک محصول چند زبانه است و توسعه دهندگان با استفاده از این کتابخانه می توانند به راحتی پروژه های مورد نظر خود را به زبان های مختلف ایجاد کنند. این کتابخانه دارای اسناد کامل است و کار با آن آسان است.
composer require symfony/translation
برای ترجمه خودکار صفحات باید محل (local) را در کلاس سازنده تعریف کنید.
use Symfony\Component\Translation\Translator; $translator = new Translator('fr_FR');
PHPUnit شاید بهترین کتابخانه PHP برای انجام تست واحد در برنامه های کاربردی PHP باشد. برای آزمایش کد و خطاها و اشکالات احتمالی استفاده می شود. در حین انجام آزمایش واحد با PHPUnit، توسعهدهندگان میتوانند باگهای برنامههای مختلف را که ممکن است در طول اجرای زمان اجرا ایجاد شوند، برطرف کنند.
composer require phpunit/phpunit
اگر می خواهید میزان کد منبع یک برنامه را در طول یک آزمایش خاص اندازه بگیرید، این کتابخانه به شما در اندازه گیری آن کمک می کند. این کتابخانه یک مجموعه از کدهای PHP اجرا شده را در اختیار شما قرار می دهد تا بتوانید در مورد کد آزمایش شده و نحوه رفع خطاهای موجود در آن ایده بهتری کسب کنید.
composer require phpunit/php-code-coverage
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 یک کتابخانه تخصصی اعتبار سنجی 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
این کتابخانه به توسعه دهندگان کمک می کند تا متغیرهای محیطی را از 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'];
این کتابخانه ابزارهای اساسی را برای filesystem فراهم می کند. با استفاده از این کتابخانه، توسعه دهندگان می توانند به راحتی دایرکتوری ها، فایل ها و موارد دیگر را تنها در چند مرحله ایجاد کنند. همچنین به شما این امکان را می دهد که قواعد ویرایش فایل را تغییر دهید و با آن یک Symlink ایجاد کنید. برای نصب کتابخانه، فقط باید ازcomposer برای نصب استفاده کنید که یک فرآیند کاملا مستقیم است.
composer require symfony/filesystem
Twig یک موتور تمپلیت سریع، کارآمد و مطمئن برای PHP است. تمپلیت ها را به کدهای ساده PHP که به راحتی برای توسعه دهندگان قابل درک است، کامپایل می کند. این امر سربار کدهای پیچیده را کاهش می دهد و عملکرد برنامه را افزایش می دهد. علاوه بر این، بسایر قابل تنظیم است، زیرا به شما امکان می دهد برچسب ها، فیلترها و DSL سفارشی خود را با توجه به نیازهای برنامه تعریف کنید.
composer require twig/twig
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 به توسعه دهندگان اجازه می دهد تا از خدمات وب آمازون در برنامه های 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 با استفاده از پروتکل SFTP، انتقال اطلاعات کاملا ایمن را بین سرورها فراهم می کند. این کتابخانه PHP SFTP با آخرین نسخههای PHP سازگار است و به راحتی در برنامههای وب استفاده میشود.
composer require phpseclib/phpseclib
Laravel Tinker یک بسته قدرتمند لاراول است که به کاربران این امکان را می دهد تا مستقیما از خط فرمان با برنامه های لاراول هم کنش داشته باشند. استفاده از Eloquent ORM برای مدیریت مشاغل، رویدادها و موارد دیگر عالی است. این یک ابزار داخلی است و با استفاده از دستور Tinker artisan در composer به راحتی قابل دسترسی است.
composer require laravel/tinker
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-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 );
این کتابخانه برای لاراول 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 یک ابزار CMS منبع باز برای لاراول است. این به نویسنده امکان ایجاد، سرپرستی و شخصیسازی فرمان در گردشهای کاری دیجیتال را میدهد. همچنین به ناشران اجازه می دهد بدون محدودیت چیزی طراحی و کنترل کنند. هم چنین آزادی ایجاد یک ادمین قدرتمند را بدون تضعیف کنترل های توسعه دهنده با پیکربندی می دهد.
composer global require yanhaoli/create-twill-app:"1.0.*"create-twill-app new blog
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); } });
این بسته یک نسخه پشتیبان از برنامه شما ایجاد می کند. یک فایل فشرده از پشتیبان گیری ایجاد می شود که شامل تمام فایل های موجود در فهرست های مشخص شده است. هر فایل سیستمی توسط بسته پشتیبان پشتیبانی می شود و همچنین می تواند چندین نسخه پشتیبان در سیستم های فایل مختلف به طور همزمان ایجاد کند. هم چنین اگر مشکلی پیش بیاید، از طریق ایمیل، Slack یا سایر ارائه دهندگان به شما اطلاع می دهد.
composer require spatie/laravel-backup
برای انتشار فایل پیکربندی به config/backup.php اجرا کنید:
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"
این بسته کد 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
GraphQL یک زبان کوئری (پرسه ای) برای API ها است. کوئری های موجود در داده های موجود شما را برآورده می کند و درک گسترده ای از داده ها در API ها به شما می دهد. همچنین به کلاینت قدرت تعیین نیازها را می دهد و API را در طول زمان تکامل می دهد.
composer require nuwave/lighthouse
با دستور artisan زیر می توانید طرح پیش فرض Lighthouse را دریافت کنید:
php artisan vendor:publish --provider="Nuwave\Lighthouse\LighthouseServiceProvider" --tag=schema
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 کتابخانه ای است که با استفاده از 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 کمک می کند.
composer require jenssegers/mongodb
Stripe یک پلتفرم پرداخت الکترونیکی محبوب است که برای انجام تراکنش های آنلاین از طریق وب استفاده می شود. این بسته به طور ویژه برای برنامه های تجارت الکترونیک PHP برای تعامل با Stripe API ساخته شده است. این کتابخانه دسترسی سریع و کارآمد به Stripe API را فراهم می کند و اتصال انتها به انتها بین پلتفرم ها را ایمن می کند. این کتابخانه شامل مجموعه ای از کلاس های API از پیش تعریف شده است که با بیش تر نسخه های Stripe سازگار است.
composer require stripe/stripe-php
این کتابخانه PHP امکان اتصال سریع به خدمات وب Omnipay را فراهم می کند. یک API وب بسیار روان را مستقر می کند که کاملا آزمایش شده و پیشرفته است. خود بسته از کتابخانه قدرتمند PHP-HTTP برای درخواست HTTP استفاده می کند تا همه تراکنش ها ایمن و قابل اعتماد شوند.
composer require league/omnipay
Laravel Cashier یک رابط کاربری ساده و آسان برای خدمات صورتحساب اشتراک Stripe ارائه می دهد. تمام خدمات صورتحساب از پیش کدگذاری شده در کتابخانه ارائه میشوند تا نگران پیکربندی پیچیده صورتحساب پرداخت نباشید. با استفاده از Laravel Cashier، میتوانید به راحتی کوپنها، کدهای تخفیف، تعویض اشتراکها، فاکتورها و سایر عملیاتها را مدیریت کنید.
composer require laravel/cashier
اگر می خواهید Sylius را در برنامه PHP خود استفاده کنید، این کتابخانه به شما در ایجاد یک اتصال وب امن کمک می کند. با ساختار API قوی ساخته شده است تا برنامه های کاربردی وب را به طور ایمن با پلت فرم تجارت الکترونیک Sylius متصل کند. فقط کافی است به composer بروید و کتابخانه Sylius را نصب کنید، تمام تنظیمات پرداخت از قبل در آن پیکربندی شده اند تا توسعه دهندگان نیازی به انجام کارهای اضافی نداشته باشند.
composer create-project sylius/sylius
Aimeos یکی از پر استفاده ترین بسته های تجارت الکترونیک لاراول است. قابلیت های پیشرفته تجارت الکترونیک را برای برنامه موجود لاراول فراهم می کند. یک برنامه افزودنی مبتنی بر composer است که با تمام نسخه های Laravel 5+ سازگاری دارد. Aimeos اجزای اصلی فروشگاه آنلاین را در برنامه لاراول ترکیب می کند و ویژگی های تجارت الکترونیک بهینه شده را برای برنامه ها ارائه می دهد.
composer require aimeos/aimeos-laravel
بهینه سازی تصویر عملکرد برنامه را بهبود می بخشد و ارزش زیادی در Google Bot دارد. Spatie یک کتابخانه تخصصی بهینه سازی تصویر PHP برای برنامه های لاراول است. به راحتی می تواند PNG، JPG، SVG و GIF را با توجه به نیازهای مورد نیاز بهینه کند. این کتابخانه تصویر PHP با چندین ابزار بهینه سازی تصویر از جمله JpegOptim، Optipng، Pngquant2، SVGO و Gifsicle از پیش پیکربندی شده است. رابط کاربری بسیار ساده است و کار با آن حتی برای مبتدیان نیز آسان است.
composer require spatie/image-optimizer
Elasticsearch یک سیستم جستجوی متن کامل محبوب است که به طور گسترده توسط بیش تر توسعه دهندگان PHP در سراسر جهان استفاده می شود. Elasticsearch امکان جستجوی سریع داده ها در پایگاه داده خود را فراهم می کند. Elasticsearch یک کلاینت PHP برای Elasticsearch است، تنظیمات از پیش پیکربندی شده برای Elasticsearch را ارائه می دهد و فهرست بندی سریع داده ها را برای برنامه ها ارائه می دهد. این برنامه با تمام نسخه های PHP 5+ سازگار است و مستندات نصب دقیق را ارائه می دهد.
composer require ruflin/elastic
این یکی دیگر از ابزارهای عالی برای مدیریت بهینه سازی تصویر در برنامه های PHP است. با استفاده از این کتابخانه تصویری PHP، می توانید به راحتی تصاویر را به دلخواه شخصی سازی کنید. یک رابط کاربری آسان برای ایجاد، ویرایش و نوشتن تصاویر در اختیار شما قرار می دهد. برای ترکیب شدن آسان با برنامه های لاراول، کتابخانه تصویری PHP شامل Service Providers و Facades می شود زیرا فرآیند نصب بسته بدون دردسر را آسان می کنند.
composer require predis/predis
کوچک سازی یکی از مهم ترین جنبه های بهینه سازی فایل های CSS و JavaScript است. این کتابخانه به کاهش الگوهای برنامه نویسی کمک می کند و آن را مطابق با استانداردهای عملکرد وب بهینه می کند. این کتابخانه به توسعه دهندگان کمک می کند تا فایل های CSS و JavaScripting خود را کوچک کنند.
فضاهای خالی را حذف میکند، نظرات و سایر ویژگیهای غیرقابل توجه را از کد حذف میکند و اجرای آن را سبک و ساده میکند. بلوک های کد، دارایی های کوچک را در فایل های CSS ترکیب می کند و ساختارهای کدگذاری کمی را طبق بهترین استانداردها کوچک می کند.
composer require matthiasmullie/minify
Swap یک کتابخانه PHP مفید برای کار با نرخ تبدیل ارز است. این به شما امکان می دهد نرخ های مبادله را از پلتفرم های رایج ارز مانند Fixer، currencylayer و موارد دیگر بازیابی کنید. یکی از پرکاربردترین کتابخانه ها برای کار با نرخ ارز است، زیرا با کتابخانه های دیگر ترکیب شده است و دارای یک الگوی پیکربندی ساده برای کار است.
composer require florianv/swap
یک کتابخانه PHP PDF است که به شما کمک می کند اسناد PDF با کیفیت بالا تولید کنید. از تمام فرمت های صفحه استاندارد و سفارشی پشتیبانی می کند و کار با اسناد PDF را برای کاربران ساده می کند. این بسته چندین ویژگی فرمت بندی پیشرفته از جمله مدیریت خودکار سرصفحه و پاورقی صفحه، حاشیه نویسی، پیوندها، ستون های متعدد (در صورت نیاز)، رندر متن، و ویژگی های مختلف دیگر را ارائه می دهد. به طور خلاصه، این ابزار خوبی برای کار و مدیریت اسناد PDF در حال حرکت است.
composer require tecnickcom/tcpdf
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.