Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Laravel ile İthalat, İhracat, Önbellekleme, Formatlama ve Temiz Test Yapabilen Bir Google Sheets Paketinin Oluşturulması
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Laravel ile İthalat, İhracat, Önbellekleme, Formatlama ve Temiz Test Yapabilen Bir Google Sheets Paketinin Oluşturulması

Yazılım

Laravel ile İthalat, İhracat, Önbellekleme, Formatlama ve Temiz Test Yapabilen Bir Google Sheets Paketinin Oluşturulması

teknomers
Son güncelleme: 20 Mayıs 2026 18:55
teknomers
Paylaş
Paylaş

Google Sheets genellikle hızlı bir operasyonel araç olarak başlar. Destek ekibi kullanıcıları bir şablonda takip eder, finans departmanı aylık raporları dışa aktarır veya bir iç gösterge paneli basit bir hesap tabloları arka planına ihtiyaç duyar. Zorluk, birkaç API çağrısını aştığında, bu iş akışını Laravel dostu hale getirmektir.

Bu paket, Google Sheets API’sini yaygın uygulama görevleri için akıcı bir Laravel API’si ile sarmalar: satırları içe aktarma, raporları dışa aktarma, birden fazla hesap tablosu bağlantısını yönetme, okuma önbellekleme, sekmeleri biçimlendirme ve Google’a başvurmadan test etme.


Kurulum

composer require olamilekan/laravel-google-sheets
php artisan vendor:publish --tag=google-sheets-config

Hizmet hesabı kimlik bilgileri yolunu ekleyin:

GOOGLE_SHEETS_CREDENTIALS_PATH=/path/to/service-account.json

Ardından, isimlendirilmiş hesap tablosu bağlantılarını yapılandırın:

'sheets' => [
    'users' => [
        'spreadsheet_id' => env('GOOGLE_SHEETS_USERS_SPREADSHEET_ID'),
        'sheet' => 'Users',
    ],

    'reports' => [
        'spreadsheet_id' => env('GOOGLE_SHEETS_REPORTS_SPREADSHEET_ID'),
        'sheet' => 'Monthly',
    ],
],


Google Sheets’ten Kullanıcıları İçe Aktarma

Basit bir içe aktarma için, isimlendirilmiş bir bağlantıdan satırları okuyun:

$rows = GoogleSheets::connection('users')->all();

Tekrar kullanılabilir bir içe aktarma için bir içe aktarma sınıfı oluşturun:

use App\Models\User;
use Olamilekan\GoogleSheets\Imports\SheetImport;

class UsersImport extends SheetImport
{
    public function rules(): array
    {
        return ['email' => ['required', 'email']];
    }

    public function model(array $row): User
    {
        return User::updateOrCreate(
            ['email' => $row['email']],
            ['name' => $row['name']]
        );
    }
}

Bunu koddan çalıştırın:

GoogleSheets::import(new UsersImport(), 'users');

Ya da Artisan’dan:

php artisan google-sheets:sync "App\\Imports\\UsersImport" users


Raporları Google Sheets’e Dışa Aktarma

Dışa aktarma sınıfları, raporlama mantığını kontrolörlerden ve komutlardan ayırır:

use App\Models\Report;
use Olamilekan\GoogleSheets\Exports\SheetExport;

class ReportsExport extends SheetExport
{
    public bool $replace = true;

    public function headings(): array
    {
        return ['Date', 'Name', 'Total'];
    }

    public function collection()
    {
        return Report::query()->latest()->get()->map(fn (Report $report) => [
            $report->created_at->toDateString(),
            $report->name,
            $report->total,
        ]);
    }
}

Ardından dışa aktarın:

GoogleSheets::export(new ReportsExport(), 'reports');


Başlık Bilgisine Sahip Ekleme ve Güncelleme

Hesap tablolarının genellikle başlıkları vardır. Her hücreyi manuel olarak sıralamak yerine, ilişkilendirilmiş dizileri ekleyin:

GoogleSheets::connection('users')->appendAssoc([
    ['name' => 'Alice', 'email' => '[email protected]', 'role' => 'admin'],
]);

Bir anahtar sütunla satırları güncelleyin:

GoogleSheets::connection('users')->upsert('email', [
    ['name' => 'Alice Updated', 'email' => '[email protected]', 'role' => 'owner'],
    ['name' => 'Bob', 'email' => '[email protected]', 'role' => 'user'],
]);


Doğrulama ve Gerekli Başlıklar

Kötü hesap tablosu verilerini uygulamanıza ulaşmadan önce yakalayın:

GoogleSheets::connection('users')->requireHeaders(['name', 'email', 'role']);

$rows = GoogleSheets::connection('users')->validate([
    'name' => ['required', 'string'],
    'email' => ['required', 'email'],
]);


Çoklu Bağlantı İş Akışları

İsimlendirilmiş bağlantılar, iş akışlarını ayırmayı kolaylaştırır:

$users = GoogleSheets::connection('users')->all();

GoogleSheets::connection('reports')->append([
    ['2026-05-17', 'Monthly Revenue', 15000],
]);


Önbellekleme

Önbellekleme, Laravel’in önbellek sistemi ile etkinleştirilir:

GOOGLE_SHEETS_CACHE_ENABLED=true
GOOGLE_SHEETS_CACHE_STORE=redis
GOOGLE_SHEETS_CACHE_TTL=600

Ya da her çağrı başına açın:

$rows = GoogleSheets::connection('users')->enableCache(300)->all();

Yazma işlemleri olduğunda, paket, o hesap tablosu için hatırlanan okuma önbellek anahtarlarını temizler, böylece daha sonraki okumalar güncellenebilir.


Biçimlendirme, Formüller ve İsimlendirilmiş Aralıklar

Raporlar genellikle yalnızca ham veriden daha fazlasını gerektirir:

GoogleSheets::connection('reports')
    ->sheet('Monthly')
    ->boldHeader()
    ->freezeRows()
    ->autoResizeColumns(1, 4);

GoogleSheets::connection('reports')->append([
    ['Total', GoogleSheets::formula('SUM(C2:C100)')],
]);

$summary = GoogleSheets::connection('reports')
    ->namedRange('MonthlySummary')
    ->get();


Test Etme

Testlerinizde Google Sheets’i taklit edebilirsiniz:

$fake = GoogleSheets::fake([
    'users' => [
        ['name' => 'Alice', 'email' => '[email protected]'],
    ],
]);

GoogleSheets::connection('users')->appendAssoc([
    ['name' => 'Bob', 'email' => '[email protected]'],
]);

$fake->assertAppended('users', ['name' => 'Bob', 'email' => '[email protected]']);


Yararlı Komutlar

php artisan google-sheets:list users
php artisan google-sheets:clear reports --sheet=Monthly --range=A2:D100
php artisan google-sheets:sync "App\\Exports\\ReportsExport" reports


Kapanış

Hedef, Google Sheets’i doğal bir Laravel entegrasyonu gibi hissettirmektir: basit okuma ve yazılarda akıcı, içe aktarma ve dışa aktarma sınıfları için yapılandırılmış, üretim kullanımında önbellek farkında ve testlerde sahte yapılabilir.

Daha fazla bilgi için GitHub’da okuyabilirsiniz: github.com/oluwatosinolamilekan/laravel-google-sheets

Kaynak: Orijinal Makale

Contents
  • Kurulum
  • Google Sheets’ten Kullanıcıları İçe Aktarma
  • Raporları Google Sheets’e Dışa Aktarma
  • Başlık Bilgisine Sahip Ekleme ve Güncelleme
  • Doğrulama ve Gerekli Başlıklar
  • Çoklu Bağlantı İş Akışları
  • Önbellekleme
  • Biçimlendirme, Formüller ve İsimlendirilmiş Aralıklar
  • Test Etme
  • Yararlı Komutlar
  • Kapanış
SLA’lar Başarısız Olmaz, Kötü SLA Yönetimi Olur!
Laravel Wayfinder: Tür Güvenli Yollar ve Formlar ile Inertia
Fikirden Endekslene: Laravel ve React ile 60 Günde SaaS Nasıl Başlattım
Kod İnceleme: Laravel Projelerinde Versiyon Kontrol Sisteminin Önemi
Laravel Volt Tek Dosya Bileşenleri: Boilerplate Kodu Olmadan Livewire Arayüzleri Oluşturma
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Acil: TanStack Saldırısı Sonrası Grafana Açığı ve Token Sorunu
Sonraki Makale Anime Sınırsız Kodlarla Heyecanlı Yenilikler 2026

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Bu Yıl Süper El Niño mu? Dünya İklimini Tersine Çevirir mi?
Genel
Theker 85 Milyon Dolar Topladı, Sıradan Robot Fabrikası İçin İlk Adımını Attı
Genel
Oyun Dünyasında Devrim Yaratacak Hız ve Performans
Oyun
Cenneti Aşan Mücadele Sistemi İki Elinizi Farklı Rollerle Kullanıyor
Oyun
Apple’ın Kamerası, AI ile Süper Güçler Sunabilir mi?
Genel
Jeff Bezos’un Prometheus’u, fiziksel dünya için 12 milyar dolar topladı
Yapay Zeka
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?