Her geliştiricinin bilmesi gereken en iyi Laravel paketleri

In: Genel


Laravel, en popüler ve yaygın olarak kullanılanlardan biridir. PHP çerçeveleri. Laravel, web uygulamalarının çoğunda kullanılan kimlik doğrulama, yönlendirme, oturumlar, önbelleğe alma ve daha fazlası gibi ortak görevleri kolaylaştırarak geliştirme maliyetinden ve zamandan çok tasarruf sağlar.

Laravel, eklentiler ve paketlerle gücünü genişletme esnekliğine sahiptir, hızla büyüyen geliştirici topluluğu sayesinde, belirli işlevler sağlayan ve uygulamanın herhangi bir yerinde serbestçe yeniden kullanılabilen tonlarca paketimiz var. İşte sunduğumuz en iyi Laravel paketlerinden bazıları

Laravel paketleri nelerdir?

Eklentiler olarak da bilinen paketler, işlevlerini genişletmek için mevcut yazılımlara entegre edilebilen kod parçalarıdır. Çoğu web uygulamasının kimlik doğrulama, Roller, İzinler gibi ortak işlevleri vardır, bunları her zaman tekrar kodlamak yerine, bu tekrarlayan görevlerle ilgilenen ve herhangi bir uygulamada kullanan paketler oluştururuz, aynı zamanda DRY (Tekrar Etme) olarak da bilinir. Kendiniz) yöntemi

Laravel’de paketler nasıl kurulur?

Bir paketi kurmak için, bağımlılık yöneticisi olarak da adlandırılan bir paket yöneticisine ihtiyacımız var, Laravel kullanıyor besteci paketleri ve sürümlerini Laravel’de kurmak ve yönetmek.

Laravel adlı bir dosya var composer.json tüm paketlerin ve sürümlerinin listelendiği yer. Composer, herhangi bir paketi kurmayı gerçekten kolaylaştırır; besteci.json dosyasına bir satır (paket adı ve sürümü) ekleyin veya kullanın composer require emretmek.

composer require packageowner/packagename
To use the installed package we initialize it:
$package = new Package;”

İşte harika ücretsiz en iyi Laravel Paketlerinden bazıları

sosyetik

Kullanıcıların çoğu, yoğun formları doldurmadan bir uygulamaya daha hızlı girmeyi sever, bu nedenle sosyal oturum açma web uygulamaları için olmazsa olmaz bir özellik haline gelmiştir. Socialite, OAuth kimlik doğrulamasını işlemenin basit ve kolay bir yolunu sunar. Kullanıcıların Facebook, Twitter, Google, GitHub ve BitBucket dahil olmak üzere en popüler sosyal ağlar ve hizmetlerden bazıları aracılığıyla oturum açmasına olanak tanır.

Laravel uygulamanıza sosyalite kurmak için kök dizinde bu komutu çalıştırın.

“composer require laravel/socialite”
Open the file config/app.php and add following in the providers array
“LaravelSocialiteSocialiteServiceProvider::class,”
In the aliases array of the same file, add
‘Socialite’ => LaravelSocialiteFacadesSocialite::class,

Şimdi sosyalite yüklendi, ancak onu kullanmak için OAuth sağlayıcıları için kimlik bilgileri eklememiz gerekiyor.

Aşağıdakileri ekleyin config/services.php

'facebook' => [
        'client_id'     => env('FACEBOOK_CLIENT_ID'),
        'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
        'redirect'      => env('FACEBOOK_URL'),
    ],
'twitter' => [
        'client_id'     => env('TWITTER_CLIENT_ID'),
        'client_secret' => env('TWITTER_CLIENT_SECRET'),
        'redirect'      => env('TWITTER_URL'),
    ],
'google' => [
        'client_id'     => env('GOOGLE_CLIENT_ID'),
        'client_secret' => env('GOOGLE_CLIENT_SECRET'),
        'redirect'      => env('GOOGLE_URL'),
    ],

Oauth kimlik bilgilerinizle aşağıdakileri .env dosyasına ekleyin

FACEBOOK_CLIENT_ID=
FACEBOOK_CLIENT_SECRET=
FACEBOOK_URL=http://localhost:8000/login/facebook/callback
TWITTER_CLIENT_ID=
TWITTER_CLIENT_SECRET=
TWITTER_URL=http://127.0.0.1:8000/login/twitter/callback
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_URL=http://localhost:8000/login/google/callback

Roller ve izinler

Çoğu zaman uygulamamızı yönetmek için bir yönetici paneline ihtiyaç duyarız ve uygulama için farklı kullanıcı türlerimiz vardır. Aynı uygulama, farklı ayrıcalıklara sahip olabilen farklı kullanıcı türleri tarafından kullanılır, uygulamanın ayrıcalıksız alanlarına erişimi kısıtlamak için roller ve izinler oluşturmamız gerekir.

Bu işlevselliği her uygulamada baştan yaratmak yerine, onu yönetmek için farklı paketlerimiz var. Spatie’nin Laravel-İzin Paketi bize bu işlevleri sağlar ve kullanımı çok kolaydır. Rol oluşturma, rollere izin atama, belirli kullanıcılara izin atama ve çok daha fazlasıyla ilgilenir.

Paketi besteci aracılığıyla yükleyebilirsiniz:

“composer require spatie/laravel-permission”
Open the file config/app.php and add following in the providers array
'providers' => [
    // ...
    SpatiePermissionPermissionServiceProvider::class,
];

DB’de rolleri ve izinleri yönetmek için geçişler oluşturur ve ayrıca bir yapılandırma dosyası yapılandırma/izinler oluşturur, bu dosyaları yayınlamak için aşağıdaki komutu çalıştırın.

php esnaf satıcısı:yayınla –provider=”SpatiePermissionPermissionServiceProvider”

Taşıma işlemlerini çalıştırın: Yapılandırma ve taşıma yayınlandıktan ve yapılandırıldıktan sonra, aşağıdakileri çalıştırarak bu paket için tablolar oluşturabilirsiniz:

“php artisan migrate”

Müdahale Resmi

Müdahale Resmi bir PHP görüntü işleme ve manipülasyon görüntü oluşturmak, düzenlemek ve oluşturmak için daha kolay ve daha etkileyici bir yol sağlayan kitaplık. Paket, kolay kullanım için ServiceProviders ve Cepheleri içerir. laravel entegrasyon.

Bu paketi kurmak için aşağıdaki komutu çalıştırın

“composer require intervention/image”

config/app.php dosyasını açın ve dosyadaki aşağıdaki kodu güncelleyin.

$providers => [
	......,
	'InterventionImageImageServiceProvider'
],
$aliases => [
	......,
	'Image' => 'InterventionImageFacadesImage'
]
Example:
// usage inside a laravel route
Route::get('/', function()
{
$img = Image::make('foo.jpg')->resize(300, 200);
return $img->response('jpg');
});

Laravel Meta Yöneticisi

Laravel Meta Manager’ı kullanarak web sitenizin SEO’sunu optimize edebilir, böylece web sitenizin arama motorunun ilk sayfasında daha üst sıralarda yer almasına yardımcı olabilirsiniz.

SEO Özellikleri

  • Standart Meta Etiketler
  • Facebook OpenGraph Meta Etiketleri
  • Twitter Kartı Meta Etiketleri
  • Dublin Çekirdeği Meta Etiketleri
  • Bağlantı Etiketleri

Bu paketi Composer ile kurmak için aşağıdakileri çalıştırın

“composer require davmixcool/laravel-meta-manager”

config/app.php dosyanızı aşağıdaki kodla güncelleyin

'providers' => [
        DavmixcoolMetaManagerMetaServiceProvider::class,
];

Ardından, Laravel Meta Manager’ın yapılandırmasını yayınlamak için aşağıdaki komutu çalıştırın.

php artisan vendor:publish --provider="DavmixcoolMetaManagerMetaServiceProvider" 

 Example
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        @include('meta::manager', [
            'title'         => 'My Example Title',
            'description'   => 'This is my example description',
            'image'         => '',
        ])
    </head>

Laravel Yedekleme

Bu Laravel paketi, bir uygulama içindeki tüm dosyalarınızın yedeğini oluşturur. Veritabanınızın dökümü ile birlikte belirttiğiniz dizinlerdeki tüm dosyaları içeren bir zip dosyası oluşturur. Herhangi bir dosya sisteminde bir yedek depolayabilirsiniz.

Bu paketi Composer ile kurmak için aşağıdakileri çalıştırın

besteci yedekleme yöneticisi/Laravel gerektirir

Ardından, kullanmak istediğiniz adaptörler için uygun paketleri seçmeniz gerekecektir.

s3 or google cs
composer require league/flysystem-aws-s3-v3
Dropbox
composer require srmklive/flysystem-dropbox-v2
Rackspace
composer require league/flysystem-rackspace
Sftp
composer require league/flysystem-sftp
GCS
composer require superbalist/flysystem-google-storage
Scheduling Backups
It's possible to schedule backups using Laravel's scheduler.
protected function schedule(Schedule $schedule) {
     $environment = config('app.env');
     $schedule->command(
         "db:backup --database=mysql --destination=s3 --destinationPath=/{$environment}/projectname --timestamp="Y_m_d_H_i_s" --compression=gzip"
         )->twiceDaily(13,21);
 }

Ziggy – JavaScript’te Laravel rotalarınızı kullanın

Ziggy bir JavaScript sağlar route() JavaScript’te Laravel adlı rotalarınızı kullanmayı kolaylaştıran, laravel’inki gibi çalışan yardımcı işlev.

Bu paketi Composer ile kurmak için aşağıdakileri çalıştırın

“composer require tightenco/Ziggy”

Example
Laravel routes/web.php
Route::get('posts', fn (Request $request) => /* ... */)->name('posts.index');

app.js
route('posts.index'); 
With parameters

Laravel routes/web.php

Route::get('posts/{post}', fn (Request $request, Post $post) => /* ... */)->name('posts.show');
app.js

route('posts.show', 1);           // 'https://ziggy.test/posts/1'
route('posts.show', [1]);         // 'https://ziggy.test/posts/1'
route('posts.show', { post: 1 }); // 'https://ziggy.test/posts/1'

Laravel Etkinlik Günlüğü

Denetim ve güvenlik için uygulamaların çoğu verileri kaydeder. Laravel aktiviteleri loglar ve laravel.log dosyasına kaydeder. Spatie tarafından verileri günlüğe kaydetme ve DB’ye kaydetme ve gösterge tablosunda göstermek için alma işlevselliği sağlayan bir paket vardır.

bu spatie/laravel-activitylog paketi, uygulamanızın kullanıcılarının etkinliklerini günlüğe kaydetmek için kullanımı kolay işlevler sağlar. Ayrıca model olaylarını otomatik olarak günlüğe kaydedebilir. Paket, tüm etkinlikleri activity_log masa.

Bu paketi Composer ile kurmak için aşağıdakileri çalıştırın

“composer require spatie/laravel-activitylog”

Aşağıdaki komutla geçişleri yayınlayın

php artisan vendor:publish --provider="SpatieActivitylogActivitylogServiceProvider" --tag="activitylog-migrations"

Örnek

Aşağıdaki gibi giriş yapabilir ve aktivite yapabilirsiniz

activity()->log('Look, I logged something');

SpatieActivitylogModelsActivity modelini kullanarak tüm etkinliği alabilirsiniz.

Activity::all();

laravel kasiyer

Laravel, üyelik ve e-ticaret uygulaması oluşturmak için seçkin bir platformdur, bu uygulamaların en önemli kısmı bir ödeme yöntemidir. Satın almalar veya yinelenen üyelik ücretleri için ödeme almak için Stripe’in abonelik faturalama hizmetlerine etkileyici, akıcı bir arayüz sağlayan laravel kasiyerini kullanabiliriz.

Yazdığınız abonelik fatura kodu için neredeyse tüm ağır yükün üstesinden gelir. Temel abonelik yönetimine ek olarak, Cashier kuponları, abonelik takasını, abonelik “miktarlarını”, ödemesiz iptal sürelerini yönetebilir ve hatta fatura PDF’leri oluşturabilir.

Bu paketi Composer ile kurmak için aşağıdakileri çalıştırın

“composer require laravel/cashier”

Cashier, fatura verilerini DB’ye kaydetmek için kendi geçişlerini oluşturur, geçiş yapmak için aşağıdaki komutu kullanın.

“php artisan migrate”

Cashier ile birlikte gelen geçişlerin üzerine yazmanız gerekirse, bunları seller:publish Artisan komutunu kullanarak yayınlayabilirsiniz:

php artisan vendor:publish --tag="cashier-migrations".

Kasiyer kullanmak için faturalandırma modelimize “Faturalandırılabilir” özelliği eklememiz gerekiyor.

use LaravelCashierBillable;
class User extends Authenticatable
{
   use Billable;
}

Sonra API anahtarına ihtiyacımız var ve şeritten gizli bunları size .env dosyasına ekleyin

STRIPE_KEY=your-stripe-key
STRIPE_SECRET=your-stripe-secret

Laravel Hata Ayıklama Çubuğu

Laravel Debugbar, hata günlükleri dosyalarına bakmakla veya verileri incelemek için dd() ve ddd() gibi işlevleri kullanmakla zaman kaybetmeden uygulamalarında hata ayıklamanın daha iyi bir yolunu arayan laravel geliştiricilerinin temel paketlerinden biridir.

Bu, PHP Debug Bar’ı Laravel ile entegre etmek için bir pakettir. Hata ayıklama çubuğunu kaydetmek ve çıktıya eklemek için bir ServiceProvider içerir. Varlıkları yayınlayabilir ve laravel aracılığıyla yapılandırabilirsiniz. Laravel ile çalışmak için bazı Toplayıcıları önyükler ve Laravel’e özel birkaç özel DataCollector uygular. Yönlendirmeleri ve Ajax İsteklerini gösterecek şekilde yapılandırılmıştır.

Bu paketi Composer ile kurmak için aşağıdakileri çalıştırın

composer require barryvdh/laravel-debugbar –dev

app/config.php içinde sağlayıcı ve takma ad ekleyin

'providers' => [
	....
	BarryvdhDebugbarServiceProvider::class,
],

'aliases' => [
	....
	'Debugbar' => BarryvdhDebugbarFacade::class,
]

Hata ayıklayıcıyı etkinleştirmek için .env dosyasında APP_DEBUG=True yapın

Debugbar::info($object);
Debugbar::error('Error!');
Debugbar::warning('Watch out…');
Debugbar::addMessage('Another message', 'mylabel');

Laravel komşuluk listesi

Bu Laravel Eloquent uzantısı, ortak tablo ifadelerini (CTE) kullanarak özyinelemeli ilişkiler sağlar.

Kısa biçimde CTE olarak da adlandırılan Ortak Tablo İfadesi, bir SELECT, INSERT, UPDATE veya DELETE deyiminde başvurabileceğiniz geçici bir adlandırılmış sonuç kümesidir.

Bu paketi Composer ile kurmak için aşağıdakileri çalıştırın

composer require staudenmeir/laravel-adjacency-list:"^1.0"

Paket tarafından sağlanan ilişkilerden bazıları şunlardır:

  • ataları(): Modelin özyinelemeli ebeveynleri.
  • atalarıAndSelf(): Modelin özyinelemeli ebeveynleri ve kendisi.
  • Bloodline(): Modelin ataları, torunları ve kendisi.
  • çocuklar(): Modelin doğrudan çocukları.
  • ChildrenAndSelf(): Modelin doğrudan çocukları ve kendisi.
  • torunları(): Modelin özyinelemeli çocukları.
  • soyundanAndSelf(): Modelin özyinelemeli çocukları ve kendisi.
  • parent(): Modelin doğrudan ebeveyni.
  • parentAndSelf(): Modelin doğrudan ebeveyni ve kendisi.
  • rootAncestor(): Modelin en üstteki ebeveyni.
  • kardeşler(): Ebeveynin diğer çocukları.
  • kardeşlerAndSelf(): Ebeveynin tüm çocukları.

Örnek Kullanım

$ancestors = User::find($id)->ancestors;

$users = User::with('descendants')->get();

$users = User::whereHas('siblings', function ($query) {
    $query->where('name', '=', 'John');
})->get();

$total = User::find($id)->descendants()->count();

User::find($id)->descendants()->update(['active' => false]);

User::find($id)->siblings()->delete();

Herhangi bir paketi kullanmadan önce önemli not

Paketler çok kullanışlı ve zaman kazandırıcı olmasına rağmen, körü körüne kullanılmamalıdır, herhangi bir paketi kullanmadan önce daima testler yapın ve incelemeleri kontrol edin.

Uygulamanızı yayınlamadan veya dağıtmadan önce her zaman bir paketin olası bir güvenlik açığı açıp açmadığını kontrol edin. Bir paket artık tüm bağımlılığını kaldırmıyorsa, gereksiz paketleri kullanmaktan kaçının.

toparlamak

Paket listemiz burada sona eriyor, ancak elbette çok daha fazlası var. Mevcut paketlerin bir listesini Packalyst’te bulabilirsiniz. Şu anda, listelenen 15000’den fazla paket var.

eğer arıyorsan Laravel kullanarak web uygulamaları geliştirmek, her zaman bizimle tartışabilirsiniz. Müşterilerimiz için uzman ve olgun web sitesi çözümleri sunuyoruz.

Bir cevap yazın

Ready to Grow Your Business?

We Serve our Clients’ Best Interests with the Best Marketing Solutions. Find out More

How Can We Help You?

Need to bounce off ideas for an upcoming project or digital campaign? Looking to transform your business with the implementation of full potential digital marketing?

For any career inquiries, please visit our careers page here.
[contact-form-7 404 "Bulunamadı"]