Laravel Yardımcısı Nasıl Oluşturulur

Laravel Yardımcısı Nasıl Oluşturulur

İşte ne resmi laravel sitesi yardımcılar hakkında diyor.

Laravel, çeşitli global “yardımcı” PHP işlevleri içerir. Bu işlevlerin çoğu çerçevenin kendisi tarafından kullanılır; ancak, uygun bulursanız bunları kendi uygulamalarınızda kullanmakta özgürsünüz.

Temel olarak, Laravel’deki yardımcılar, uygulamanızın herhangi bir yerinden arayabileceğiniz yerleşik yardımcı program işlevleridir. İhtiyacınız olan yardımcı çekirdek çerçeve tarafından sağlanmıyorsa, kendi yardımcı sınıflarınızı kodlayabilirsiniz.

Bu eğitimde özel bir Laravel yardımcısının nasıl oluşturulacağını öğreneceksiniz.

Laravel’deki Yardımcılar

Daha önce tartıştığımız gibi, Laravel çerçevesinin özünde pek çok yardımcı mevcuttur. Sağladıkları işlevselliğe göre birlikte gruplandırılırlar. İşte yardımcı grupların bir listesi.

diziler

Bu gruptaki yardımcılar, dizi öğelerini işlemek için işlevsellik sağlar. Çoğu zaman dizi öğeleri üzerinde farklı işlemler yapmak isteyeceksiniz. Bu yüzden, aradığınız şeyin zaten var olup olmadığını görmek için ilk bakmanız gereken yer burasıdır.

yollar

Bu kategorideki yardımcıları en faydalı buluyorum. Uygulama, depolama, yapılandırma ve benzeri gibi farklı dizinlerin tam yolunu döndürürler. Bahse girerim bu yardımcıların çoğunu zaten Laravel uygulamanızda kullanıyorsunuzdur.

Teller

Dize manipülasyonu, günlük uygulama geliştirmenizde kaçınılmaz bir şeydir. PHP’nin kendisi çok sayıda dize işleme işlevi sağlasa da, bu bölümde birkaç yararlı özellik daha bulacaksınız.

URL’ler

Bu kategoride çok az şey bulacaksınız, ancak bunlar uygulama boyunca kullanılıyor. Rota, varlık ve eylem URL’leri oluşturmak için kullanılırlar.

Çeşitli

Bu kategori, günlüğe kaydetmeden hata ayıklamaya ve çok daha fazlasına kadar çeşitli işlevler sağlayan yardımcıları içerir.

Laravel yardımcılarının tam bir referansı için, resmi görevliden daha iyi bir yer yoktur. belgeler.

Yerleşik Laravel Yardımcıları Nasıl Çağrılır

Bu bölümde, yerleşik Laravel yardımcılarını nasıl çağırabileceğinizi göstereceğim. Ne yaptıklarını ve bunları nasıl kullanabileceğinizi anlamak için birkaç Laravel yardımcısından geçeceğiz.

bu Str::ucfirst Yardımcı

bu Str::ucfirst helper, dizenin ilk karakterini büyük harfe dönüştürür. Aşağıdaki snippet’te gösterildiği gibi uygulamanızın herhangi bir yerinden çağırabilirsiniz.

Gördüğünüz gibi, bir Laravel yardımcısını çağırmak oldukça basittir.

Laravel’de yaygın olarak kullanılan başka bir yardımcıya bakalım.

bu url() Yardımcı

bu url helper, verilen yola tam nitelikli bir URL oluşturmanıza yardımcı olur.

Laravel yardımcılarını bu şekilde kullanabilirsiniz. Bir sonraki bölümde, özel bir Laravel yardımcısını nasıl oluşturabileceğinizi tartışacağız.

İlk Özel Yardımcınızı Oluşturun

Artık Laravel yardımcıları ve bunların ne için kullanıldığı hakkında temel bir anlayışa sahipsiniz. Bu bölümde, Laravel uygulamanızda global olarak kullanılabilecek kendi özel yardımcınızı nasıl oluşturabileceğinizi göstereceğim.

İşleri basit ve anlaşılması kolay tutmak için, bir kullanıcı kimliği alan ve yanıt olarak bir kullanıcı adı döndüren oldukça basit bir yardımcı olacaktır. Tabii ki, bu kulağa hoş gelmiyor, ancak konsepti göstermenin yeterli olduğuna inanıyorum ve daha karmaşık gereksinimleri karşılamak için her zaman genişletebilirsiniz.

senin bir sahip olduğunu varsayıyorum users veritabanınızdaki tablo ve en az iki alanı var—userid ve username.

Bir Laravel Yardımcısının İskeleti

Devam etmeden ve dosyaları oluşturmadan önce, makalenin geri kalanında oluşturacağımız dosyalara hızlıca bir göz atalım.

  • app/Helpers/Envato/User.php: Helper’ımızın mantığını içinde barındıran helper dosyamızdır.
  • app/Sağlayıcılar/EnvatoServiceProvider.php: Özel yardımcı dosyamızı yükleyen özel bir hizmet sağlayıcı dosyasıdır.
  • config/app.php: Bu dosyada, özel hizmet sağlayıcımızı bildireceğiz ve yardımcımızın tam nitelikli sınıf adını kullanmak zorunda kalmamak için yardımcımıza bir takma ad tanımlamamıza da yardımcı oluyor.
  • rotalar/web.php: Bu, yardımcımızı gerçekten test edeceğimiz oldukça standart bir Laravel rota dosyasıdır.

Yardımcı Dosyalar Oluşturun

Yardımcı dosyalarınızı uygulamanızın herhangi bir yerine yerleştirebilseniz de, daha sezgisel ve standart yol, dosyanızın altına girmesi gerektiğini önerir. uygulama dizin.

bu User Yardımcı Sınıf

Oluşturmak Yardımcılar/Envato altındaki dizin uygulama ve bir oluştur kullanıcı.php Aşağıdaki içeriğe sahip dosya. Tabii ki, doğrudan altına yerleştirebilirsiniz. uygulama veya uygulama/Yardımcılar dizin, ancak bu ekstra seviyeyi sağlamak, yardımcılarımızı organize etmemize olanak tanır – özellikle birçoğunuz olacaksa önemlidir.

Dosya oldukça standart bir ad alanı bildirimi ile başlar:

Özel yardımcımızın amacı, kullanıcı kimliğine dayalı bir kullanıcı adı almaktır. Bu nedenle, veritabanıyla etkileşime girmemiz gerekiyor ve bu da bizi aşağıdakileri dahil etmeye zorluyor. DB Cephe.

Laravel Cephelere aşina olmayanlar için, servis konteynerlerindeki nesnelere erişmenin başka bir uygun yolu. Alternatif olarak, bağımlılık enjeksiyonunu kullanabilirdiniz.

Devam edersek, yardımcımızın somut uygulaması geliyor. Gördüğünüz gibi, bir kullanıcı kimliğine dayalı olarak bir kullanıcı adı almanın mantığını tanımlayan statik bir yöntem var.

bu $user nesne, eşleşen kullanıcı kimliğiyle veritabanı kaydını tutar. Son olarak, yöntem, aşağıdaki ifadede yanıt olarak kullanıcı adını döndürür.

Yardımcı dosyamız söz konusu olduğunda bu kadar.

Özel Servis Sağlayıcı Oluşturun

Şimdi yardımcı dosyamızı oluşturduk, ancak soru şu ki onu nasıl kullanacaksınız? Aklıma iki hızlı çözüm geliyor:

  • Yardımcı dosya adımızı besteci.json, böylece otomatik olarak yüklenir. Ardından, yardımcı sınıfımızın statik yöntemini hemen çağırabilirsiniz.
  • Laravel çerçevesinin onu diğer bağımlılıklarla birlikte yüklemesi için özel yardımcı dosyanızı kaydetmenize izin veren bir Laravel hizmet sağlayıcısı oluşturabilirsiniz. Bu servis sağlayıcıyı Laravel yapılandırmasına kaydedin ve yardımcınızı kullanmak için bir takma ad oluşturun.

Tabii ki, ilkinin uygulanması oldukça hızlı ve kolaydır ve bunu yapmak isteyebilirsiniz, ancak daha profesyonel göründüğü ve daha sürdürülebilir olduğu için ikincisini önermeyi tercih ederim.

Yeni bir servis sağlayıcı oluşturmak için komut satırına gidin ve uygulamanızın kök dizininde aşağıdaki komutu çalıştırın.

altında başarıyla oluşturulduğunu onaylayan bir mesaj görmelisiniz. uygulama/Sağlayıcılar dizin.

Bu dosyayı açın ve orada zaten iki yöntem görmelisiniz. Bu makale bağlamında önemli olan, register yöntem. Evet, şu anda boş, o yüzden daha kullanışlı hale getirmek için bazı şeylerle besleyelim.

bu register yöntemi, bağımlılıklarınızı kaydetmek için kullanılır ve biz de tam olarak bunu yaptık. Özel yardımcı dosyamızı ekledik.

İşte nasıl app/Sağlayıcılar/EnvatoServiceProvider.php dosya değişikliklerden sonra bakmalıdır.

Yani şu ana kadar her şey oldukça iyi. Masada özel yardımcımız ve servis sağlayıcımız var.

Özel Hizmet Sağlayıcı Beyanı

Ardından, önyükleme sırasında yükleyebilmesi için hizmet sağlayıcımız hakkında Laravel’i bilgilendirmemiz gerekiyor. Hadi açalım config/app.php ve aşağıdaki girişi ekleyin providers dizi.

Yardımcımızı uygun bir şekilde kullanmak için bir takma ad da oluşturabiliriz. Bunu, aşağıdaki girişi ekleyerek yapalım. aliases dizi aynı dosyanın sonunda.

Bu girişi tanımlayarak yardımcımızı şu şekilde çağırabiliriz: EnvatoUser anahtar kelime. Oldukça uygun, ha? Neredeyse geldik! Buraya gelmek için tüm zor işleri yaptık ve şimdi özel yardımcımızın avantajlarından faydalanabiliriz.

İlk Özel Yardımcınız İş Başında

Yine, işleri basitleştirmek için, temel bir Laravel rotası tanımlayacağız ve oradan yardımcımızı arayacağız!

Devam edin ve aşağıdaki kodu ekleyin rotalar/web.php dosya.

Bunun herhangi bir açıklamaya ihtiyacı var mı? Özel yardımcıyı kısa yoldan çağırdık EnvatoUser::get_usernameve kullanıcı adını döndürmelidir.

Tabii ki, bu yardımcıyı ister denetleyici ister görünüm olsun uygulamanın herhangi bir yerinden arayabilirsiniz.

Çözüm

Laravel’deki yardımcılar güçlü bir özelliktir ve bir geliştirici olarak bunu genişletmek isteyeceğinizden eminim. Bugün, Laravel yardımcı dosya yapısının temellerini inceledik ve kullanışlı bir özel yardımcı oluşturduk.

Umarım makaleyi beğenmişsinizdir ve günlük Laravel uygulama geliştirmenizde kendi özel yardımcılarınızı oluşturmanıza yardımcı olur.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.