O PHP é uma poderosa linguagem de backend utilizada em mais de 80% das aplicações Web a nível mundial. A simplicidade do PHP torna-o uma das linguagens de programação de topo, uma vez que utiliza uma estrutura de programação fácil de compreender e funcionalidades web fáceis de desenvolver. Sim, como qualquer outra linguagem, o PHP usa bibliotecas. As bibliotecas PHP são colecções de código pré-escrito que os utilizadores podem utilizar para otimizar tarefas. A Standard PHP Library (SPL) é uma coleção de interfaces e classes que se destinam a resolver problemas comuns.
Mas escrever código PHP torna-se muitas vezes uma tarefa aborrecida. Porque, em muitos casos, o PHP requer uma codificação de raiz para cada função. Isto torna-se um pouco incómodo para os programadores e é um processo que consome muito tempo.
Para facilitar esta situação, foram introduzidas no mercado bibliotecas PHP incorporadas para reduzir eficazmente a carga dos programadores enquanto codificam o projeto. Utilizando estas bibliotecas PHP, podem ser facilmente configuradas várias funções de desenvolvimento no projeto, permitindo que os programadores se concentrem mais nas outras operações complexas.
Funções de biblioteca, como array_push, são parte das bibliotecas PHP e podem ser acessadas e usadas por qualquer um. No entanto, podes compor a tua própria função e utilizá-la no teu código também.
- Componente de consola Symfony
- Componente Symfony Finder
- Psr/log
- Monólogo
- Bebe
- Afirmação
- Symfony/tradução
- PHPUnit
- Cobertura de código PHP
- Swiftmailer
- Validador de e-mail
- PHP dotenv
- Componente do sistema de ficheiros Symfony
- Galho
- Faker
- AWS SDK para PHP
- PHPseclib
- Laravel Tinker
- Predis
- Biblioteca PHP AMQP
- Biblioteca Laravel-Permission
- Biblioteca de sarja
- OAuth 2.0
- Cópia de segurança do Laravel
- PHP Reitor
- Farol
- Laravel Admin LTE
- Biblioteca PHP Swagger
- Laravel/Passaporte MongoDB
- Stripe-PHP
- Omnipay
- Caixa Laravel
- Sylius
- Laravel Aimeos
- Spatie Image Optimizer
- Elastica
- Intervenção/imagem
- Reduzir
- Troca
- Tcpdf
Pára de perder tempo com os servidores
A Cloudways trata da gestão de servidores por ti, para que te possas concentrar na criação de excelentes aplicações e em manter os teus clientes satisfeitos.
Por isso, compilámos aqui as 30 melhores bibliotecas PHP que todos os programadores devem conhecer. Utilizando-as, os programadores podem reduzir o seu trabalho funcional, uma vez que vêm pré-configuradas com várias funções. Vamos dar uma vista de olhos a algumas das melhores bibliotecas PHP abaixo:
As melhores bibliotecas PHP para integrar com aplicações Web
Componente de consola Symfony
A interface de linha de comando (CLI) é um dos elementos centrais das principais estruturas PHP, incluindo Laravel, Symfony, CodeIgniter e outras. Esta biblioteca fornece uma interface de linha de comando fácil de compreender no Symfony. A sua integração na aplicação também é bastante simples e é feita precisamente para construir interfaces de linha de comando testáveis.
Comanda o compositor: composer require symfony/console
Implementação
Primeiro, tens de criar um script PHP e definir a consola da seguinte forma:
<?php // application.php requer __DIR__.'/vendor/autoload.php'; utiliza Symfony\Component\Console\Application; $application = new Application(); $application->run();
Agora tens de registar os comandos utilizando as funções add().
$application->add(new GenerateAdminCommand());
Componente Symfony Finder
Os programadores têm frequentemente dificuldades em localizar os ficheiros e pastas pretendidos no projeto. Utilizando este componente Finder, os programadores podem encontrar facilmente ficheiros e diretórios dentro do projeto. Fornece diferentes atributos (nome, tamanho do ficheiro, tempo de modificação, extensão, etc.) para encontrar ficheiros ou diretórios relacionados. Além disso, possui uma interface intuitiva que ajuda os utilizadores a encontrar os recursos desejados.
Comanda o compositor: composer require symfony/finder
Implementação
Vamos supor que precisas de encontrar todos os ficheiros e pastas no diretório raiz. Podes fazê-lo da seguinte forma:
Também podes encontrar ficheiros em FTP e fluxos definidos pelo utilizador
Psr/log
Se quiseres encontrar todas as interfaces, classes, caraterísticas, etc. relacionadas com o PS-3, esta biblioteca de registo em PHP ajuda-te a encontrar todos esses recursos com apenas alguns cliques. A biblioteca não é um registador em si, mas é uma interface que forma um sistema de registo. Esta biblioteca de registo em PHP vem com documentação completa para que os programadores possam trabalhar facilmente com ela.
Comanda o compositor: composer require psr/log
Implementação
Podes utilizar o logger para registar dados, como no trecho de código abaixo:
<?php
utiliza Psr\Log\LoggerInterface;
classe Foo
{
private $logger;
função pública __construct(LoggerInterface $logger = null)
{
$this->logger = $logger;
}
função pública doSomething()
{
se ($this->logger) {
$this->logger->info('A fazer trabalho');
}
// faz algo útil
}
}
Monólogo
É necessário guardar os registos em determinados ficheiros ou pastas. Guardá-los num determinado local parece muitas vezes ser uma tarefa difícil, mas usando esta biblioteca de registo PHP podes facilmente guardar os teus registos nos locais definidos. Monolog ajuda-te a enviar os teus registos para ficheiros definidos, sockets, caixas de entrada, bases de dados e outros serviços web. Utiliza uma interface PSR-3 que te permite digitar os registos com as tuas bibliotecas PHP para manter a máxima interoperabilidade.
Comanda o compositor: composer require monolog/monolog
Implementação
A utilização básica para registar um erro e um aviso com o registo PSR pode ser definida da seguinte forma:
<?php
utiliza Monolog\Logger;
utiliza Monolog\Handler\StreamHandler;
// cria um canal de registo
$log = new Logger('name');
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));
// adiciona registos ao registo
$log->warning('Foo');
$log->error('Bar');
Bebe
A Guzzle funciona como um cliente PHP específico para enviar pedidos HTTP aos servidores Web. Utilizando esta biblioteca, os programadores podem facilmente enviar pedidos HTTP para se integrarem com serviços Web. A biblioteca fornece uma interface simples para criar cadeias de consulta, pedidos POST, cookies HTTP e outros atributos. Também permite que os programadores enviem pedidos síncronos e assíncronos a partir da mesma interface.
Comanda o compositor: composer require guzzlehttp/guzzle
Implementação
Anteriormente, escrevemos alguns artigos sobre o uso da API da Cloudways no Guzzle. Deixa-me mostrar o exemplo de utilização da API Guzzle para obter a autenticação e depois executar diferentes métodos para obter servidores e aplicações. Podes ler o artigo completo aqui. Vamos dar uma olhada no exemplo:
<?php
Classe CloudwaysAPIClient
{
private $client = null;
const API_URL = "https://api.claudwoys.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();
}
função pública prepare_access_token()
{
tenta
{
$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;
}
apanha (RequestException $e)
{
$response = $this->StatusCodeHandling($e);
devolve $resposta;
}
}
Afirmação
Utilizando a biblioteca Assert, os programadores podem testar facilmente a entrada e a saída dos métodos em poucos minutos. É uma biblioteca PHP 8 simples que minimiza a necessidade de codificação extensiva em aplicações Web modernas, melhorando a eficiência e o desempenho. A integração da biblioteca no projeto também é bastante fácil, uma vez que fornece documentação completa para a integração. Apresenta algumas mensagens de erro incorporadas por defeito, que podes alterar posteriormente de acordo com os requisitos de erro personalizados.
Comanda o compositor: composer require webmozart/assert
Symfony/tradução
Este pacote de tradução é muito útil para os programadores que pretendem criar aplicações multilingues suportadas por várias línguas. É uma exigência crescente do mundo moderno construir um produto multilingue e, utilizando esta biblioteca, os programadores podem facilmente criar projectos desejados com diferentes idiomas. A biblioteca vem com documentação completa e é fácil de trabalhar.
Comanda o compositor: composer require symfony/translation
Implementação
Tens de definir o locale na classe do construtor para traduzir as páginas automaticamente.
utiliza Symfony\Component\Translation\Translator;
$translator = new Translator('fr_FR');
PHPUnit
PHPUnit é talvez a melhor biblioteca PHP para efetuar testes unitários em aplicações Web PHP. É utilizada para testar o código da aplicação quanto a possíveis erros e bugs. Ao efetuar os testes unitários com o PHPUnit, os programadores podem resolver vários erros da aplicação que podem surgir durante a execução em tempo de execução. Assim, a biblioteca é vital para avaliar os núcleos da aplicação e corrigi-los atempadamente com as soluções necessárias.
Comanda o compositor: composer require phpunit/phpunit
Cobertura do código PHP
Se quiseres medir a quantidade de código-fonte de um programa que é executado durante um determinado teste, esta biblioteca ajuda-te a medir esse grau de código. A biblioteca fornece-te uma coleção e uma funcionalidade de renderização do código PHP executado, para que possas ter uma ideia melhor sobre o pedaço de código testado e como resolver os erros nele contidos.
Comanda o compositor: composer require phpunit/php-code-coverage
Swiftmailer
O Swiftmailer é uma biblioteca de correio eletrónico PHP rica em funcionalidades, construída principalmente para facilitar a operação de correio em qualquer aplicação web. A biblioteca fornece uma abordagem avançada orientada para objectos combinada com uma multiplicidade de funcionalidades de correio para enviar e-mails através da web. A caraterística mais significativa do Swiftmailer é que protege os e-mails de ataques de injeção de cabeçalhos sem remover o conteúdo dos dados do pedido, o que o torna um sistema de correio muito eficiente.
Comanda o compositor: composer require swiftmailer/swiftmailer
Implementação
A utilização básica do swift mailer para enviar e-mails é:
require_once '/path/to/vendor/autoload.php';
// Cria o transporte
$transport = (novo Swift_SmtpTransport('smtp.example.org', 25))
->setUsername('o teu nome de utilizador')
->setPassword('a tua palavra-passe');
// Cria o Mailer usando o teu Transport criado
$mailer = new Swift_Mailer($transport);
// Cria uma mensagem
$message = (new Swift_Message('Wonderful Subject'))
->setFrom(['[email protected]' => 'John Doe'])
->setTo(['[email protected]', '[email protected]' => 'Um nome'])
->setBody('Aqui está a mensagem propriamente dita');
// Envia a mensagem
$resultado = $mailer->envia($mensagem);
Validador de e-mail
Email-validator é uma biblioteca de validação PHP especializada usada para validar e-mails através de vários recursos de validação escolhidos. A biblioteca fornece vários tipos de validação para e-mails, incluindo RFC Validation, NoRFCWarningsValidation, SpoofCheckValidation e outros. A biblioteca também fornece uma funcionalidade de validação DNS através da qual podes validar e enviar spam para os e-mails com a verificação DNS.
Comanda o compositor: composer require egulias/email-validator
Implementação
Tens de definir a estratégia ou o método de validação a seguir no código. Neste momento, tens 6 tipos de validações disponíveis que podes ver na documentação oficial:
A utilização básica é a seguinte:
utiliza o Egulias\EmailValidator\EmailValidator;
utiliza Egulias\EmailValidator\Validation\RFCValidation;
$validator = new EmailValidator();
$validator->isValid("[email protected]", new RFCValidation()); //verdadeiro
PHP dotenv
Esta biblioteca ajuda os programadores a exportar variáveis de ambiente de .env para getenv(), $_ENV e $_SERVER. A biblioteca foi recentemente actualizada para a última versão V3, que agora também suporta variáveis de várias linhas. A biblioteca também permite que os programadores escolham que parte do ambiente querem ler e modificar de acordo com as necessidades da aplicação.
Comandos do compositor: composer require vlucas/phpdotenv
Implementação
Primeiro, tens de criar um ficheiro .env no nível da raiz do teu diretório. Em seguida, adiciona variáveis e valores nele, assim:
S3_BUCKET="devbucket" SECRET_KEY="abc123"
Agora carrega o ficheiro .env na aplicação desta forma:
$dotenv = Dotenv\Dotenv::create(__DIR__); $dotenv->carrega();
Agora podes aceder às variáveis criadas no ficheiro env com estes três métodos. Podes utilizar qualquer um deles.
$s3_bucket = getenv('S3_BUCKET');
$s3_bucket = $_ENV['S3_BUCKET'];
$s3_bucket = $_SERVER['S3_BUCKET'];
Componente do sistema de ficheiros Symfony
Esta biblioteca Filesystem fornece utilitários básicos para o sistema de ficheiros. Usando esta biblioteca, os programadores podem facilmente criar diretórios, ficheiros e muito mais em apenas alguns passos. Também te permite alterar os direitos de edição do ficheiro e criar uma ligação simbólica com ele. Para instalar a biblioteca, só tens de usar o compositor para a instalação, que é um processo bastante simples.
Comanda o compositor: composer require symfony/filesystem
Galho
Twig é um mecanismo de criação de modelos rápido, eficiente e seguro para PHP. Compila modelos em código PHP simples que é facilmente compreensível para os programadores. Isto reduz a sobrecarga de código de backend complexo e dá à aplicação um aumento de desempenho. Além disso, também é super personalizável, pois permite-te definir as tuas etiquetas, filtros e DSL personalizados de acordo com as necessidades da aplicação.
Comanda o compositor: composer require twig/twig
Faker
Faker é uma biblioteca PHP útil que permite aos programadores gerar conteúdo fictício para aplicações Web. Quer queiras encher a base de dados da aplicação com dados fictícios ou criar documentos XML de amostra, a Faker faz o trabalho por ti com dados de teste com bom aspeto. Suporta todas as versões PHP 5+ e requer uma instalação fácil do compositor apenas uma vez.
Comanda o compositor: composer require fzaninotto/faker
Implementação
Tens de utilizar Faker\Factory::create() para criar e inicializar um gerador falso que pode gerar dados acedendo a propriedades.
<?php // requer o carregador automático Faker require_once '/path/to/Faker/src/autoload.php'; // em alternativa, utiliza outro carregador automático compatível com PSR-4 // usa a fábrica para criar uma instância do Faker\Generator $faker = Faker\Factory::create(); // gera dados acedendo às propriedades ecoa $faker->nome; // 'Lucy Cechtelar'; eco $faker->endereço; // "426 Jordy Lodge // Cartwrightshire, SC 88120-6700" ecoa $faker->texto; // 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 // senta os mínimos sint.
AWS SDK para PHP
Esta biblioteca AWS específica permite que os programadores utilizem os Amazon Web Services em aplicações PHP. Usando este SDK da AWS, podes criar aplicações Web desejadas associadas ao Amazon S3, Glacier, DynamoDB e outros serviços da Amazon. Basta instalar este SDK usando o composer ou baixar um arquivo zip, todos os serviços da Amazon vêm pré-configurados nele e estão prontos para serem implantados com seu aplicativo PHP.
Mas, como estás na Cloudways, não vais precisar desta biblioteca para as tuas aplicações PHP. A Cloudways fornece hospedagem de sites PHP em serviços AWS completamente gerenciados para seus aplicativos implantados combinados com a pilha integrada de ferramentas da Web otimizadas.
Comanda o compositor: composer require aws/aws-sdk-php
Implementação
Primeiro, tens de inicializar o SDK incluindo ficheiros de fornecedores e, em seguida, podes criar diferentes casos de utilização, por exemplo, se quiseres carregar ficheiros. Vamos ver como podes fazer isto.
<?php // Requer o carregador automático do Composer. requer 'vendor/autoload.php'; utiliza o Aws\S3\S3Client; // Instancia um cliente Amazon S3. $s3 = new S3Client([ 'versão' => 'mais recente', 'region' => 'us-west-2' ]);
Agora carrega o ficheiro nos servidores AWS desta forma:
<?php
// Carrega um ficheiro acessível ao público. O tamanho e o tipo do ficheiro são determinados pelo SDK.
tenta {
$s3->putObject([
'Balde' => 'meu balde',
'Chave' => 'meu-objeto',
'Body' => fopen('/path/to/file', 'r'),
'ACL' => 'public-read',
]);
} catch (Aws\S3\Exception\S3Exception $e) {
echo "Houve um erro ao carregar o ficheiro.\n";
}
PHPseclib
Transferir ficheiros de um servidor para outro continua a ser sempre um processo arriscado, porque os hackers podem intervir entre o percurso e roubar informação confidencial. Para reforçar este processo, a PHPSeclib fornece uma transmissão de dados totalmente segura entre os servidores utilizando o protocolo SFTP. Esta biblioteca PHP SFTP é compatível com todas as versões mais recentes do PHP e é fácil de integrar em aplicações web.
Comanda o compositor: composer require phpseclib/phpseclib
Laravel Tinker
Laravel Tinker é um poderoso pacote Laravel construído para dar aos utilizadores a facilidade de interagir com aplicações Laravel diretamente a partir da linha de comandos. É perfeito para usar com o Eloquent ORM para gerir trabalhos, eventos e muito mais. É uma ferramenta de artesão incorporada e pode ser facilmente acedida utilizando o comando Tinker artisan no compositor.
Comanda o compositor: composer require laravel/tinker
Predis
Predis é um cliente Redis para aplicações PHP. É uma ferramenta de cache muito eficaz, criada precisamente para reduzir a sobrecarga de cache em aplicações Web. Podes usá-lo para clustering, configurações de replicação mestre-escravo, prefixação de chave transparente e muitas outras operações de otimização. Também suporta diferentes classes de ligação personalizadas para fornecer diferentes backends de rede e de protocolo.
Comanda o compositor: composer require predis/predis
Implementação
Para implementar predis no teu projeto PHP, primeiro tens de carregar a biblioteca no projeto.
// Anexa um caminho base se o Predis não estiver disponível no teu "include_path". requer 'Predis/Autoloader.php'; Predis\Autoloader::register();
Agora cria uma ligação de cliente como esta:
$client = new Predis\Client();
$cliente->configura('foo', 'bar');
$value = $client->get('foo');
Biblioteca PHP AMQP
php-amqplib é uma biblioteca concebida exclusivamente para PHP. É compatível com todas as frameworks de PHP e tem todas as funcionalidades para o cliente RabbitMQ.
Vários sistemas operativos são suportados pelo RabbitMQ, e tem várias bibliotecas de clientes oficiais disponíveis, uma delas é a php-amqplib. É um middleware orientado a mensagens cujas principais caraterísticas são: Enfileiramento e Orientação.
Comanda o compositor: composer require php-amqplib/php-amqplib
Implementação
<?php
Inclui (__DIR__ . '/config.php');
utiliza PhpAmqpLib\Connection\AMQPStreamConnection;
utiliza PhpAmqpLib\Connection\AMQPSocketConnection;
utiliza 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
);
Biblioteca Laravel-Permission
Esta biblioteca é para Laravel 5.8 e versões posteriores. Este pacote permite-te gerir o papel e as permissões do utilizador numa base de dados.
Comando do compositor: composer require spatie/laravel-permission
Implementação
Podes adicionar manualmente o fornecedor de serviços no teu ficheiro config/app.php:
'providers' => [ // ... Spatie\Permission\PermissionServiceProvider::class, ]; Deves publicar a migração com: php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"
Biblioteca de sarja
Twill é um conjunto de ferramentas CMS de código aberto para Laravel. Permite que o autor crie, faça a curadoria e personalize o comando nos fluxos de trabalho digitais. Permite também que os editores concebam e assumam o controlo sem qualquer restrição. Dá também a liberdade de produzir um administrador poderoso sem minar os controlos do programador com a configuração.
Comanda o compositor:
compositor global require yanhaoli/create-twill-app: "1.0.*" criar-uma-app novo blogue
OAuth 2.0
OAuth é uma norma aberta para a delegação de acesso. Dá acesso às informações do utilizador noutros sítios Web, mas sem revelar a palavra-passe. Uma biblioteca OAuth 2.0 leve e poderosa é construída para os utilizadores autenticarem e autorizarem o cliente da aplicação e protegerem a sua API.
Comanda o compositor: composer require league/oauth2-server
Implementação
Os exemplos aqui apresentados demonstram a sua utilização com a Slim Framework. Slim não é um requisito para usar esta biblioteca, apenas precisas de algo que gere pedidos e respostas HTTP compatíveis com PSR7.
O cliente redirecciona o utilizador para um ponto final de autorização.
$app->get('/authorize', function (ServerRequestInterface $request, ResponseInterface $response) use ($server) {
tenta {
$authRequest = $server->validateAuthorizationRequest($request);
$authRequest->setUser(new UserEntity()); // uma instância de UserEntityInterface
$authRequest->setAuthorizationApproved(true);
retorna $server->completeAuthorizationRequest($authRequest, $response);
}
apanha (OAuthServerException $exception)
{
devolve $exception->generateHttpResponse($response);
}
apanha (\Exception $exception)
{
$body = new Stream(fopen('php://temp', 'r+'));
$body->write($exception->getMessage());
Retorna $response->withStatus(500)->withBody($body);
}
});
Cópia de segurança do Laravel
Este pacote cria uma cópia de segurança da tua aplicação. É criado um ficheiro zip de backup contendo todos os ficheiros nos diretórios especificados. Qualquer sistema de arquivos é suportado pelo pacote de backup, e ele também pode criar vários backups em diferentes sistemas de arquivos ao mesmo tempo. Também te notifica via e-mail, slack ou outros provedores de notificação se algo der errado.
Comanda o compositor: composer require spatie/laravel-backup
Implementação
Para publicar o ficheiro de configuração em config/backup.php, executa:
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"
PHP Reitor
Este pacote atualiza e refatora instantaneamente o código PHP. Renomeia classes, namespaces e constantes, e atualiza o PHP 5.3 para o PHP 7.4 facilmente. Também migra projetos de Nette para Symfony e transforma Laravel estático em Injeção de Dependência. É usado com quase todas as estruturas PHP, ou seja, Laravel, Symfony, CakePHP, PHPUnit e muito mais.
Comanda o compositor: composer require rector/rector
Implementação
Quando a biblioteca é implementada pela primeira vez, podes executar um teste e depois alterar permanentemente o teu código através dos seguintes comandos.
#Vê primeiro a diferença vendor/bin/retor process src --dry-run # Se estiver tudo bem, aplica vendor/bin/retor process src
Farol
GraphQL é uma linguagem de consulta para as APIs. Realiza as consultas nos seus dados existentes e dá uma compreensão extensiva dos dados nas APIs. Também dá ao cliente o poder de especificar as necessidades e evolui a API ao longo do tempo.
Comanda o compositor: composer require nuwave/lighthouse
Implementação
Com o seguinte comando artisan, podes obter o esquema Lighthouse predefinido:
php artisan vendor:publish --provider="Nuwave\Lighthouse\LighthouseServiceProvider" --tag=schema
Laravel Admin LTE
Esta biblioteca permite uma fácil integração do AdminLTE com o Laravel 5 ou versões posteriores.
Comanda o compositor: composer require jeroennoten/laravel-adminlte
Implementação
<?php
namespace JeroenNoten\LaravelAdminLte;
utiliza Illuminate\Contracts\Events\Dispatcher;
utiliza Illuminate\Contracts\Container\Container;
utiliza o JeroenNoten\LaravelAdminLte\Menu\Builder;
utiliza JeroenNoten\LaravelAdminLte\Events\BuildingMenu;
classe AdminLte
{
Protegido $menu;
Protegido $filtros;
protegeu $events;
Protegido $container;
função pública __construct(
array $filtros,
Despachante $events,
Contentor $contentor
) {
$this->filtros = $filtros;
$this->eventos = $eventos;
$this->container = $container;
}
função pública menu()
{
se (! $this->menu) {
$this->menu = $this->buildMenu();
}
devolve $this->menu;
}
função protegida buildMenu()
{
$builder = new Builder($this->buildFilters());
Se (method_exists($this->events, 'dispatch')) {
$this->events->dispatch(new BuildingMenu($builder));
} else {
$this->events->fire(new BuildingMenu($builder));
}
retorna $builder->menu;
}
função protegida buildFilters()
{
Retorna array_map([$this->container, 'make'], $this->filters);
}
}
Biblioteca PHP Swagger
Swagger é uma biblioteca que ajuda a gerar documentação interactiva para API restful usando anotações phpdoc. É compatível com OpenAPI 3.0, pois extrai código e anotações existentes usando uma interface CLI.
Comanda o compositor: composer require zircote/swagger-php
Implementação
/** * @OA\Info(title="A minha primeira API", version="0.1") */ /** * @OA\Get( * path="/api/resource.json", * @OA\Response(response="200", description="Um exemplo de recurso") * ) */
Laravel/Passaporte MongoDB
É um fornecedor de serviços que ajuda a adicionar suporte para Laravel Passport e MongoDB.
Comanda o compositor: composer require jenssegers/mongodb
As melhores bibliotecas de comércio eletrónico PHP para integrar com aplicações Web
Stripe-PHP
Stripe é uma popular plataforma de pagamento eletrónico utilizada para realizar transacções online na web. Este pacote foi especialmente criado para aplicações de comércio eletrónico em PHP para interagir com a API Stripe. Essa biblioteca fornece acesso rápido e eficiente à API do Stripe e torna a conexão de ponta a ponta segura entre as plataformas. A biblioteca inclui um conjunto predefinido de classes API que são compatíveis com a maioria das versões do Stripe.
Comanda o compositor: composer require stripe/stripe-php
Também podes gostar: Integração do Laravel com o Stripe Payment Gateway
Omnipay
Esta biblioteca PHP de processamento de pagamentos permite uma ligação rápida aos serviços Web da Omnipay. Implementa uma API web muito simples que é totalmente testada por unidades, avançada e vem com documentação completa para facilitar o processo de configuração. O pacote em si usa a poderosa biblioteca PHP-HTTP para fazer pedidos HTTP de modo a que todas as transacções se tornem seguras e fiáveis.
Comanda o compositor: composer require league/omnipay
Caixa Laravel
O Laravel Cashier fornece uma interface simples e fácil de utilizar para os serviços de faturação de subscrições do Stripe. Todos os serviços de faturação vêm pré-codificados na biblioteca para que não tenhas de te preocupar com a configuração complexa da faturação de pagamentos. Utilizando a Laravel Cashier, podes lidar facilmente com cupões, códigos de desconto, troca de subscrições, facturas e outras operações.
Comanda o compositor: composer require laravel/cashier
Sylius
Se quiseres integrar a Sylius na tua aplicação PHP, esta biblioteca vai ajudar-te a construir uma ligação web segura. Foi criada com uma forte estrutura de API para ligar aplicações Web de forma segura à plataforma de comércio eletrónico da Sylius. Basta ires ao compositor e instalares a biblioteca Sylius. Todas as definições de pagamento vêm pré-configuradas para que os programadores não tenham de fazer trabalho extra.
Comanda o compositor: composer create-project sylius/sylius
Laravel Aimeos
O Aimeos é um dos pacotes de comércio eletrónico mais utilizados para o Laravel. Fornece funcionalidades avançadas de comércio eletrónico à aplicação Laravel existente. É uma extensão baseada em compositor com compatibilidade com todas as versões Laravel 5+. Integra os componentes centrais da loja online na aplicação Laravel e fornece funcionalidades de comércio eletrónico optimizadas para as aplicações.
Comanda o compositor: composer require aimeos/aimeos-laravel
Spatie Image Optimizer
A otimização de imagens melhora o desempenho da aplicação e tem um grande valor para o Google Bot. Spatie é uma biblioteca PHP especializada em otimização de imagens para aplicações Laravel. Consegue facilmente otimizar PNGs, JPGs, SVGs e GIFs de acordo com as necessidades. Esta biblioteca de imagens PHP vem pré-configurada com várias ferramentas de otimização de imagens, incluindo JpegOptim, Optipng, Pngquant2, SVGO e Gifsicle. A interface é bastante simples e é fácil de trabalhar mesmo para principiantes.
Comanda o compositor: composer require spatie/image-optimizer
Elastica
O Elasticsearch é um sistema popular de pesquisa de texto completo amplamente utilizado pela maioria dos programadores de PHP em todo o mundo. Permite a pesquisa rápida de dados a partir dos registos armazenados na sua base de dados. Este pacote é um cliente PHP para o Elasticsearch, fornece definições pré-configuradas para o Elasticsearch e permite uma indexação rápida de dados para aplicações. É compatível com todas as versões PHP 5+ e vem com documentação de instalação detalhada.
Comanda o compositor: composer require ruflin/elastica
Intervenção/imagem
Esta é outra grande ferramenta para lidar com a otimização de imagens em aplicações PHP. Utilizando esta biblioteca de imagens PHP, podes personalizar facilmente as imagens como quiseres. Fornece uma interface fácil de usar para criar, editar e compor imagens. Para te integrares facilmente nas aplicações Laravel, a biblioteca de imagens PHP inclui ServiceProviders e Facades, que facilitam um processo de instalação de pacotes sem complicações.
Comanda o compositor: composer require predis/predis
Reduzir
A minimização é um dos aspectos mais importantes da otimização de ficheiros CSS e JavaScript. Ajuda a reduzir os padrões de programação de sobrecarga do ficheiro e optimiza-o de acordo com os padrões de desempenho da Web. Esta biblioteca ajuda os programadores a minificar os seus ficheiros CSS e JavaScript.
Remove os espaços em branco, retira os comentários e outros atributos despercebidos do código, tornando-o leve e simples de executar. Combina declarações, pequenos activos em ficheiros CSS e reduz algumas estruturas de codificação de acordo com as melhores normas.
Comanda o compositor: composer require matthiasmullie/minify
Troca
Swap é uma biblioteca PHP útil para trabalhar com taxas de câmbio. Permite-te obter essas taxas de câmbio a partir de plataformas de moeda populares como Fixer, currencylayer e outras. É uma das bibliotecas mais utilizadas para trabalhar com taxas de câmbio, uma vez que também está integrada com outras bibliotecas e tem um padrão de configuração simples para trabalhar.
Comanda o compositor: composer require florianv/swap
Tcpdf
Esta biblioteca PHP PDF ajuda-te a gerar documentos PDF de alta qualidade. Suporta todos os formatos de página padrão e personalizados, tornando simples para os utilizadores trabalharem com documentos PDF. O pacote fornece várias funcionalidades avançadas de formatação, incluindo gestão automática de cabeçalhos e rodapés de página, anotações, ligações, colunas múltiplas (se necessário), renderização de texto e várias outras funcionalidades. Em suma, é uma excelente ferramenta para trabalhar e gerir documentos PDF em movimento.
Comanda o compositor: composer require tecnickcom/tcpdf
Melhora a velocidade da tua aplicação PHP em 300%
Cloudways oferece-te servidores dedicados com armazenamento SSD, desempenho personalizado, uma pilha otimizada e muito mais para tempos de carregamento 300% mais rápidos.
Palavras finais
Isto leva-nos ao fim deste artigo. Listei em pormenor todas as bibliotecas PHP populares com que podes trabalhar. Também podes ler sobre os benchmarks de PHP. Estas bibliotecas PHP foram criadas principalmente para facilitar a carga de trabalho dos programadores e para que se concentrem mais nas tarefas funcionais essenciais. Além disso, ajuda os programadores a configurar rapidamente várias operações, juntamente com as melhores funcionalidades.
Se quiseres sugerir mais algumas bibliotecas/pacotes para esta lista, ou se quiseres partilhar as tuas ideias sobre o assunto, estás à vontade para as escrever na secção de comentários abaixo.
Q. O que é uma biblioteca PHP?
R: A Biblioteca PHP Padrão é uma coleção de sub-rotinas, classes e interfaces usadas para desenvolver aplicações web.
Q. Qual é o objetivo das bibliotecas PHP?
R: A biblioteca PHP é um pacote de código que se destina a ser reutilizado por muitos programas. As bibliotecas fornecem ferramentas que provavelmente precisarás ao escrever uma aplicação. Para reduzir o tempo de desenvolvimento, os programadores podem utilizar bibliotecas PHP em vez de escrever código para adicionar funcionalidades ao Web site.
Shahzeb Ahmed
Um criativo de dia (com uma chávena de chá) e um criativo de noite. Ahmad Kamran é um escritor de conteúdos sazonais e Executivo de Marketing Sénior na Cloudways. Podes encontrá-lo na sua secretária a escrever, a criar estratégias ou a jogar jogos. E, caso não o encontres aqui, ele estará nas montanhas ou à beira do rio.