# PrestaShop 8’den 9’a: legacy denetleyicilerin sonu, Admin API

> PrestaShop 8’den PrestaShop 9’a geçmek bir ana sürüm değişikliğidir: yönetim paneli tamamen Symfony 6.4 üzerine taşınır, kalan legacy denetleyiciler ortadan kalkar ve yönetim erişimi yeni bir API’ye açılır. Bu, hazırlıksız bir cuma akşamı çalıştırılacak bir güncelleme değildir.

- Source canonique : [https://allaux.fr/tr/prestashop/migration/8-vers-9](https://allaux.fr/tr/prestashop/migration/8-vers-9)
- Langue : TR
- Dernière mise à jour : 2026-09-30

## Doğrudan yanıt

> Önce dış entegrasyonlarınızı listeleyin: 9 sürümü, API Platform üzerine kurulu ve OAuth kimlik doğrulaması kullanan Admin API’yi getiriyor; eski Webservice API’ye bağlı bir ERP ya da pazar yeri yeniden denetlenmelidir. Ardından hangi modüllerin yönetim sekmesi eklediğine bakın: legacy denetleyici üzerinden çalışanlar, bu denetleyiciler 9.0 sürümünde bulunmadığı için hatasızca kaybolur.

## PrestaShop 8 ile 9 arasında gerçekte ne değişiyor

PrestaShop 8.x, taşınmış sayfalarda kısmen Symfony 4.4 üzerinde çalışır; geri kalanı legacy denetleyicilerle işler. PrestaShop 9.0, Symfony sürümünü tamamen değiştirir: Symfony 6.4 LTS’ye geçilir. Yönetim paneli artık tamamen Symfony denetleyicileri ve Twig üzerine kuruludur: 8.x’te kalan son legacy denetleyiciler 9.0’da yoktur.

PHP tarafında, 9.0 en az PHP 8.1 gerektirir ve PHP 8.2, 8.3, 8.4’ü destekler; 8.1 dalı ise PHP 8.1’de duruyordu. Daha eski bir barındırmada, geçiş aynı anda bir PHP yükseltmesi de gerektirir.

9.0 ayrıca, eski Webservice API’den ayrı olarak, API Platform ve OAuth üzerine kurulu Admin API’yi tanıtır; ön yüzde de deneysel bir Symfony konteynerine erişim sunar. Tema tarafında Hummingbird’i tanıtır, ancak varsayılan tema Classic kalır: Classic kullanan bir mağazanın tema değiştirmesine gerek yoktur.

## Bir eklentinin 9.0’da sorun çıkaracağının işaretleri

- Eklenti, bir legacy denetleyiciye dayanarak yönetim paneline bir sekme veya widget ekliyor.
- Eklenti belgeleri 9.0 uyumluluğundan bahsetmiyor, config.xml’deki <max> etiketi güncel değil.
- Özel bir override, bir Symfony servisi yerine doğrudan legacy bir sınıf veya denetleyici çağırıyor.
- Eklenti, dış entegrasyonlar (ERP, pazar yeri, fiyat karşılaştırma) için eski Webservice API’yi kullanıyor.

## Bu unsurlar tam olarak neden bozuluyor

Kalan legacy denetleyicilerin kalkması en doğrudan sorundur: 8.x’te bunlardan birini hedefleyen bir eklenti veya override, çağırdığı rota veya sınıf artık olmadığı için 9.0’da hiçbir hedefe sahip değildir. Bu gevşek bir uyumluluk sorunu değil, doğrudan bir yokluktur.

Symfony’nin 4.4’ten 6.4’e sıçraması ikinci sürtüşme noktasıdır. Kendi Composer bağımlılıklarını bildiren bir eklenti, örneğin belirli bir sürüme sabitlenmiş bir kütüphane veya Symfony bileşeni, PrestaShop 9.0 çekirdeğinin kullandığı Symfony 6.4 ile çakışabilir. Bu çakışma genellikle eklenti çalışmadan, bağımlılıkların kurulumu sırasında ortaya çıkar.

Son olarak, uyumluluk bildirimi güncel olmalıdır: config.xml’deki <compatibility><min></min><max></max></compatibility> etiketleri ve ana PHP sınıfındaki $ps_versions_compliancy özelliği 9.0’ı kapsamalıdır. 9.0 için hiç güncellenmemiş bir eklenti, 8.x’te teknik olarak çalışsa bile, tanım gereği risklidir.

## PrestaShop 8’den 9’a geçişi nasıl yürütüyorum

1. **Eklenti ve override denetimi** — Eklenti eklenti, config.xml ile $ps_versions_compliancy içindeki bildirilen 9.0 uyumluluğunu ve legacy denetleyicileri hedefleyen override’ları kontrol ediyorum.
2. **Herhangi bir denemeden önce tam yedekleme** — Autoupgrade’in geçiş sırasında kendi aldığı yedekten bağımsız olarak, dosyaların yedeğini ve veritabanının tam dışa aktarımını alıyorum.
3. **Mağazanın kopyası üzerinde geçiş** — Geçişi autoupgrade ile mağazanın bir kopyası üzerinde başlatıyorum, asla üretimde değil; bir süreye bağlanmadan önce gerçek hataları görmek için.
4. **Veritabanı geçiş betiğinin çalıştırılması** — İşlemin geri dönüşü olmayan noktası: autoupgrade şemayı 9.0 yapısına dönüştürdükten sonra, geri dönmek son adımı iptal etmek değil, tam yedeği geri yüklemek anlamına gelir.
5. **Bozulan eklenti ve override’ların düzeltilmesi** — Artık var olmayan bir legacy denetleyiciyi hedefleyen eklentileri değiştiriyor veya yeniden yazıyorum, denetimde tespit edilen Composer çakışmalarını çözüyorum.
6. **Doğrulama ve geçiş** — Üretime geçişi düşük trafikli bir zamana planlamadan önce test ortamında katalog, siparişler, müşteriler ve işlemsel e-postaları kontrol ediyorum.

## Autoupgrade’i çalıştırmadan önce tam olarak neyi yedekliyorum

> Kendi dosya ve veritabanı yedeğime ek olarak, autoupgrade herhangi bir değişiklikten önce kendi yedeğini /autoupgrade/backup içine bırakır; bu da veritabanı adımı onaylanmadan önce başarısız olursa geri yüklemeye imkân tanır.

## Daha fazlası için

- **Her geçişten önce kontrol listesi** — Hedef sürüm ne olursa olsun, geçişe başlamadan önce kontrol edilmesi gerekenler. ([/prestashop/migration/checklist-avant-migration](/prestashop/migration/checklist-avant-migration))
- **Uyumsuz eklentiler** — Olduğu gibi geçiş yapamayacak bir eklentiyi nasıl tespit ettiğim ve onu neyle değiştirdiğim. ([/prestashop/migration/modules-incompatibles](/prestashop/migration/modules-incompatibles))
- **SEO’nuzu korumak** — Kazanılmış sıralamaları kaybetmemek için URL’lerde nelere dikkat ettiğim. ([/prestashop/migration/conserver-son-referencement](/prestashop/migration/conserver-son-referencement))
- **PHP 8’e geçiş** — Güncel bir geçişe sıklıkla eşlik eden PHP yükseltmesi. ([/prestashop/migration/passer-a-php-8](/prestashop/migration/passer-a-php-8))

## FAQ

### 9.0’a geçmek için PHP sürümünü de mi değiştirmem gerekiyor?

Barındırmanız 8.1’den eski bir PHP sürümünde çalışıyorsa evet: PrestaShop 9.0 en az PHP 8.1 gerektirir ve PHP 8.4’e kadar destekler. Geçişi planlamadan önce sağlayıcınızda mevcut sürümü kontrol ediyorum.

### Yeni Hummingbird teması 9.0’da zorunlu mu?

Hayır. Hummingbird 9.0 ile tanıtılıyor ancak çıkışta varsayılan tema Classic olarak kalıyor. Zaten Classic kullanan bir mağazanın tema değiştirmesine gerek yok.

### Geçişten sonra tüm eklentilerim çalışacak mı?

Otomatik olarak değil. Geçmeden önce config.xml içindeki bildirilen uyumluluğu eklenti eklenti kontrol ediyorum, 9.0’da artık var olmayan legacy denetleyicileri hedefleyenleri değiştiriyor veya yeniden yazıyorum.

### Geçiş yarı yolda başarısız olursa ne olur?

Veritabanı güncellemesinden önce, autoupgrade’in kendi yedeğine ek olarak dosyaların ve veritabanının tam yedeğine sahip oluyorum. Adım onaylanmadan önce başarısız olursa geri yükleme hâlâ mümkündür.
