LARAVEL (paket geliştirme)

LARAVEL (paket geliştirme)

Paketler laravel işlevsellik eklemek birincil yoludur. Paketler gibi tarihleri ile çalışmak için harika bir yol şey olabilir Carbon veya benzeri bütün bir BDD test çerçevesi Behat .

Tabii ki, paketlerin farklı türleri vardır. Bazı paketler tek başına olan, herhangi bir çerçeve, sadece laravel ile çalışmak anlamına gelir. Karbon ve Behat Hem tek başına paketleri örnekleridir. Bu paketlerin herhangi basitçe bunları isteyerek laravel ile kullanılabilir composer.jsondosyası.

Öte yandan, diğer paketler özellikle laravel ile kullanılmak üzere tasarlanmıştır. Bu paketler özellikle laravel uygulama geliştirmek için tasarlanan yolları, kontrolörler, görüşlerini ve konfigürasyonuna sahip olabilir. Bu kılavuz öncelikle laravel özgü olanlar gelişimini kapsar.

Tüm laravel paketleri yoluyla dağıtılır Packagist ve Besteci bu yüzden bu harika PHP paket dağıtım araçları hakkında öğrenme esastır.

 

Görünümler

Paketin iç yapısı tamamen size bağlıdır; Ancak genellikle her paket bir veya daha fazla içerecektir servis sağlayıcıları . Servis sağlayıcı herhangi birini içeren IoC paket yapılandırma, görünümler ve çeviri dosyaların bulunduğu yere kadar bağlamaları yanı sıra talimatları.

Görünümler

Paket görünümleri genellikle "ad" sözdizimi çift iki nokta üst üste kullanılarak başvurulan:

return view('package::view.name');

Tek yapmanız gereken tek şey, belirli bir ad alanı için görünümler bulunduğu laravel söylemek. Paketiniz "kurye" adlı Örneğin, servis sağlayıcının aşağıdakileri ekleyin olabilir bootyöntemle:

public function boot()
{
    $this->loadViewsFrom('courier', __DIR__.'/path/to/views');
}

Şimdi aşağıdaki sözdizimini kullanarak paket görünümleri yükleyebilirsiniz:

return view('courier::view.name');

Kullandığınızda loadViewsFromyöntemi, laravel aslında kaydeder iki uygulamanın bir tane: görüşlerinizi yerleri resources/views/vendordizin ve belirttiğiniz dizininde bir tane. Yani, bizim kullanarak courierörnek: Bir paket görünümü isterken görüş özel versiyonu geliştirici tarafından sağlanmış ise, laravel ilk kontrol edecektir resources/views/vendor/courier. Görünüm özelleştirilmemişse Sonra, laravel sen çağrınızda Belirtilen paket görünümü dizini arayacaktır loadViewsFrom. Son kullanıcılar / özelleştirmek paketin görüşlerini geçersiz kılmak için bu kolaylaştırır.

Yayıncılık Görüntüleme

Için paketin görüşlerini yayınlamak için resource/views/vendordizine, kullanmak gerekir publishesdan yöntemi bootservis sağlayıcınızın yöntemi:

public function boot()
{
    $this->loadViewsFrom('courier', __DIR__.'/path/to/views');

    $this->publishes([
        __DIR__.'/path/to/views' => base_path('resources/views/vendor/courier'),
    ]);
}

Paketinizin kullanıcıları laravel en yürütmek Şimdi, vendor:publishkomutu, görüşleriniz dizini belirtilen konuma kopyalanır.

Not: Sen kullanabilir publishesyayımlamak için yöntem herhangi istediğiniz herhangi bir yere dosya türünü.

 

Çeviriler

Paket çeviri dosyaları tipik bir çift kolon sözdizimi kullanılarak başvurulan:

return trans('package::file.line');

Tek yapmanız gereken tek şey, belirli bir ad alanı için çeviriler bulunduğu laravel söylemek. Paketiniz "kurye" adlı Örneğin, servis sağlayıcının aşağıdakileri ekleyin olabilir bootyöntemle:

public function boot()
{
    $this->loadTranslationsFrom('courier', __DIR__.'/path/to/translations');
}

Senin içinde olduğunu unutmayın translationsklasörde, aşağıdaki gibi her dil için başka dizinleri olurdu enesruvb

Şimdi aşağıdaki sözdizimini kullanarak paket çevirileri yükleyebilirsiniz:

return trans('courier::file.line');

 

Yapılandırma

Genellikle, uygulamanın kendi için paketin yapılandırma dosyasını yayınlamak isteyecektir configdizine. Bu paketin kullanıcıların kolayca varsayılan yapılandırma seçeneklerini geçersiz kılmak için izin verecektir.

Sadece kullanmak, bir yapılandırma dosyası yayınlamak için publishesgelen yöntemini bootservis sağlayıcınız yöntemi:

$this->publishes([
    __DIR__.'/path/to/config/courier.php' => config_path('courier.php'),
]);

Paketinizin kullanıcıları laravel en yürütmek Şimdi, vendor:publishkomutu, dosya belirtilen konuma kopyalanır. Yapılandırma yayınlandıktan sonra Elbette, herhangi bir diğer yapılandırma dosyası gibi erişilebilir:

$value = config('courier.option');

Ayrıca uygulamanın kopya ile kendi paket yapılandırma dosyası birleştirme tercih edebilir. Bu, kullanıcıların aslında konfigürasyonun yayınlanan nüshasında geçersiz kılmak istiyorsanız sadece seçenekleri eklemenize olanak verir. Yapılandırmaları birleştirmek için kullanmak mergeConfigFromservis sağlayıcınızın içinde yöntemini registeryöntemiyle:

$this->mergeConfigFrom(
    'courier', __DIR__.'/path/to/config/courier.php'
);

 

Yönlendirme

Basitçe, senin paketi için yolları dosyası yüklemek için includekendisine servis sağlayıcınızın içinden bootyöntemle.

Bir Servis Sağlayıcı A Rotalar Dosya dahil

public function boot()
{
    include __DIR__.'/../../routes.php';
}

Not: Paket denetleyicileri kullanıyorsa, onlar düzgün yapılandırılmış olduğundan emin olun gerekecektir composer.jsondosyanın otomatik yüklenen bölüm.

1 Yorum Yapıldı

  1. berbat 2020-11-06 13:07:36

    Kopyala yapıştır,translate.Mükemmel!

Yorum Yollayın