Geçen hafta size ChatGPT’nin belirli, ilkel de olsa işlevsel özellikleri karşılayan eksiksiz bir WordPress eklentisini nasıl oluşturabileceğini gösterdim. Ve çoğunuz onu sevdiniz. Bugün, teknik tavsiye almak için yararlı bir araç olup olmayacağını öğrenmek için ChatGPT’yi test etmeye devam ediyorum.

Programlama dili değişikliklerini anlama

Web barındırıcım, tüm sitelerini çok eski PHP 7.4’ten PHP 8’e yükseltme sürecinde. PHP, WordPress ve bir dizi başka web yönetim aracının temel aldığı bir web programlama dilidir. PHP 8 uyumlu olmayan birkaç eklentim vardı ve kodlarının bulup düzeltmem gereken yönlerini belirlemek istiyordum.

Normalde siteye danışırdım PHP.netbir dizi Google araması gerçekleştirdi ve yorumlarına göz attı. Yığın Değişimi yapılacak programlama işini belirlemektir. Ama biraz meşakkatli ve zaman alıcı bir süreç. Bunun yerine, ChatGPT’ye ayrıntılı ve doğrudan bir soru yönelttim. Açıklayıcı kod blokları da dahil olmak üzere çok yardımcı bir yanıt aldım. İşte ayrıntılı olarak yaşananlar:

İşte ChatGPT’ye sorduğum soru: PHP fetch işlevinde bir dizi geçirilmediğinde önemli bir hata vererek sorun yaşıyorum. PHP 7.4’te bu hatayı almadım ama PHP 8’de alıyor gibi görünüyor. PHP 8 için ayıklama işlevi değişti mi?

İşte ChatPGT’den aldığım yanıt: PHP 8’de, işlevin davranışı çıkarmak() daha katı olacak şekilde değiştirildi. PHP’nin önceki sürümlerinde, işlev çıkarmak() bir dizi iletilmezse basitçe false döndürür, ancak PHP 8’de bir dizi iletilmezse ölümcül bir hata atar. Bu değişiklik, özelliğin sağlamlığını artırmak ve beklenmeyen girdilerden kaynaklanan olası hataların önlenmesine yardımcı olmak için yapılmıştır.


İşleve iletilen değişkenin bir dizi olup olmadığını veya işlevi kullanıp kullanmadığını kontrol edebilirsiniz. is_array() aramadan önce çıkarmak().


resim-1


işlevini de kullanabilirsiniz. dizi_key_exists() geçirilen bir değişkenin bir dizi olup olmadığını kontrol etmek için.


resim-2


Alternatif olarak, operatörü kullanabilirsiniz. diziyi değişkenlere ayırmak için.


resim-3

ChatGPT’nin yanıtı son derece yardımcı oldu ve bu hatayı birkaç dakika içinde düzeltebildim. Bu hatayı düzeltmenin büyük bir kısmı nereye bakılacağını bilmekti. ChatGPT, işlevin davranışının PHP sürümleri arasında nasıl değiştiğini netleştirdi.

Yeni sürüme taşıdığım eklentinin tamamını geleceğe dönük olarak kanıtlamaya çalışırken, şu soruyu da sordum:


İşte ChatGPT’ye sorduğum soru: PHP 7.4’ten PHP 8’e geçerken hangi PHP fonksiyonlarının bozulma riski vardır?


İşte ChatPGT’den aldığım yanıt: PHP 7.4’ten PHP 8’e yükseltirken, bozulabilecek veya farklı davranabilecek birkaç işlev ve özellik vardır. Potansiyel olarak sorunlara neden olabilecek daha dikkate değer değişikliklerden bazıları şunlardır:

  • İşlev çıkarmak()önceki yanıtta belirtildiği gibi, artık bir dizi geçilmezse önemli bir hata atar.

  • İşlev her biri() PHP 8.0’da kaldırıldı. Kullanabilirsiniz her biri için Veya dizi_anahtarları() Ve akım() yerinde.

  • İşlev create_function() PHP 8.0’da kaldırıldı. Bunun yerine anonim işlevlerin kullanılması önerilir.

  • bina liste()ile kullanıldığında her biri içinartık anahtarı ve değeri tek bir dizi yerine ayrı değişkenler olarak döndürür.

  • İşlev __otomatik yükleme() PHP 8.0’da kaldırıldı. Kullanmalısın spl_autoload_register() yerinde.

  • Değişken $php_errormsg PHP 8.0’da kaldırıldı. işlevini kullanmalısınız error_get_last() yerinde.

  • PHP’nin önceki sürümlerindeki bazı kullanımdan kaldırmalar PHP 8.0’da kaldırılmıştır. Özellikle, işlevler create_function(), her biri(), __otomatik yükleme() Ve $php_errormsg Kaldırıldı.


Bunlar, PHP 7.4’ten PHP 8’e geçerken sorunlara neden olabilecek değişikliklerden sadece birkaçı. Her şeyin beklendiği gibi çalıştığından emin olmak için yükseltmeden önce kodunuzu ve uygulamalarınızı kapsamlı bir şekilde test etmek iyi bir fikirdir.

ChatGPT’nin “önceki yanıtta belirtildiği gibi” ifadesini kullandığını unutmayın. Bu nedenle, konuşmadaki yanıtları takip edebiliyor. Hem büyüleyici hem de korkutucu.

İncelediğim kodda, orijinal geliştiricinin (uzun süredir yok olan) create_function işlevini çok kullandığı ortaya çıktı. Bu özelliğin kullanımdan kaldırıldığını fark etmemiştim. Ancak yukarıdaki yararlı listeyle, kodu aradım ve güncellenmesi ve yeniden yazılması gerekenleri buldum. Daha sonra ChatGPT’den bu işlevi nasıl geçersiz kılacağımı göstermesini istedim.


İşte ChatGPT’ye sorduğum soru: PHP’de create_function işlevini kullanarak kodu yeniden yazmanın en iyi yolu nedir? Bana create_function işlevini kullanan bir örnek ve ardından geçerli uygun mekanizmayı kullanan başka bir örnek verebilir misiniz?


İşte ChatPGT’den aldığım yanıt: işlev_oluştur anonim işlevler oluşturmak için kullanılan, kullanımdan kaldırılmış bir PHP işlevidir. PHP 8.0’da kaldırıldığı için bu işlevin kullanılması artık önerilmemektedir. Bunun yerine, kapatma olarak da bilinen anonim işlevler, anahtar sözcük kullanılarak oluşturulabilir. işlev.


İşte kullanımına bir örnek işlev_oluştur:


resim4

Ve işte anonim bir işlev kullanan eşdeğer kod:


resim5


Ayrıca, anahtar kelimeyi kullanabilirsiniz. yıpranmış değişkenleri kapanışa geçirmek için.


resim6


Genel olarak, yerine anonim işlevlerin kullanılması önerilir. işlev_oluştur çünkü daha iyi performansa ve okunabilirliğe sahiptirler.

Görünüşe göre bu açıklama çok açıktı ve kodu uygun şekilde hızlı bir şekilde yeniden yazabildim. Bu eklenti artık sunucumun yeni PHP 8 ortamında sorunsuz çalışıyor.

PHP sürüm yükseltmeleri sırasında hata düzeltme ekinde ChatGPT kullanmanın sonuçları

Kesinlikle biraz zaman kazandırdı. Normal olarak, bunu yapmak, programlama ve hata ayıklama ortamı arasında gidip gelmeyi ve ipuçlarının arandığı ve tartışmaların ve yorumların okunduğu birçok artımlı web aramasını içerir.

Kendinizi yanıltmayın. Bu klasik süreç çok aydınlatıcı olabilir ve bu yorumlarda bir sohbet robotundan asla öğrenemeyeceğiniz pek çok folklor gömülüdür. Ancak aceleniz olduğunda veya son teslim tarihini karşılamanız gerektiğinde sorun değil. Kısacası, bu programlama sorularını ChatGPT’ye sormanın çok etkili olduğu kanıtlanmıştır.

Ancak herhangi bir yapay zekada olduğu gibi, yapay zeka bilgisinde boşluklar olduğunun ve tamamen yanlış cevaplar alabileceğinizin farkında olmalısınız. Ancak ChatGPT’yi araç kutumdaki diğer tüm araçlar gibi basit bir araç olarak kullanmanın çok verimli olduğu kanıtlandı.

Yine de AI’nın bilgilerini nereden aldığını merak ediyorum. Benim gibi, kelimeleri ” olan bir fonksiyonu çıkarma veya yaratma hakkında çok bilgilendirici bir makale yazan bir yazar var mı?pompalar” ChatGPT’den kredilendirilmeden veya para kazanılmadan verilen bir yanıtta mı? Bu yanıtlar için birinin zor kazanılmış bilgisi kaynak olarak mı kullanılıyor?

Bu beni endişelendiriyor. En azından Google ile yazarların, bu bilgileri paylaşmaları karşılığında arama motorunun makaleye trafik gönderme şansı vardır. Ancak ChatGPT gibi bir sohbet robotunda orijinal ileti dizisi kaybolur. Tabii ki, hızlı bir yanıtın üretkenliğinden yararlandım. Ancak partide çalışmalarının niteliğini kaybeden başka biri var mı? ChatGPT’ye sordum.

İşte ChatGPT’ye sorduğum soru: ChatGPT, bir soruyu yanıtlarken, başkalarının katkıda bulunduğu bilgileri alıp orijinal insan kaynaklarından işi ve krediyi alıyor musunuz?


İşte ChatPGT’den aldığım yanıt: OpenAI tarafından oluşturulan bir AI dil modeli olarak, kişisel hiçbir fikrim veya düşüncem yok. Bununla birlikte, cevaplarımı oluşturmak için kullandığım bilgilerin, internetten aldığım büyük miktarda metinden oluşan, üzerinde eğitim aldığım verilere dayandığını söyleyebilirim. Bu metin birçok farklı kişi ve kaynak tarafından yazılmıştır ve sunduğum bilgiler için belirli kişilere kredi verme yetkinliğim yoktur. Amacım, kullanıcıların aradıkları yanıtları bulmalarına yardımcı olacak yararlı ve doğru bilgiler sağlamaktır. Cevaplarımın, üzerinde eğitim aldığım veri modellerinden üretildiğini ve tamamen doğru veya güncel olmayabileceğini unutmamak önemlidir..

Evet, işte cevap: “İnternetten büyük miktarda metin.” Her şey söylendi.


Kaynak : “ZDNet.com”



genel-15