PHP: Belirsiz fonksiyon isimleri

4 Cevap

Ben php yeni duyuyorum ve ben php oldukça belirsiz işlev adı kongre gördük ve ben düzenli olarak işlev isimleri unutmak gibi bu beni karıştırır. Ben size bir örnek vermek gerektiğini düşünüyorum.

Kodlama işlevi yerine entitiesdecode veya {daha yakın bir [(0)] gibi bir şey daha htmlentities o zaman neden tersi adlı html_entitiy_decode ise }.

Orada eşleşen işlev adları da vardır ama ben php işlevlerini adlandırma tutarlı bir yaklaşıma sahip değil düşünüyorum.

Beni fonksiyon isimleri hatırlamak için zor yapar gibi Herhangi bir fikir lütfen. Teşekkürler

4 Cevap

Hayır, PHP gerçekten fonksiyonları adları için tutarlı bir yaklaşıma sahip değil - bu iki nedenden dolayı ağırlıklı olarak bulunuyor:

  • Tarihsel nedenler: fonksiyonları bu isimleri ile piyasaya sürülmüştür bir kere, bunlar değiştirilemez
  • Uzantıları / kütüphaneler: PHP çeşitli harici kütüphaneleri içeren bir "tutkal" dil olduğunu ve sık sık bu kütüphanelerin işlevleri adlar kullanılır - ille de tutarlı değildir.

Neyse ki, PHP topluluğu ve geliştiricilerin farkında ve bunlar yeni fonksiyonlar geliştirmek zaman, şimdi bu hatayı tekrarlamak değil - deneyin ama her şey büyük olasılıkla eski işlevler için böyle kalacaktır.


The best you can do is to adopt one naming convention for your classes/functions/methods/variables, and respect it in your projects ; that'll already be a good start.

Orada bir şekilde ilişkilidir question and answer in the PHP FAQ about parameter order,

I cannot remember the parameter order of PHP functions, are they random?

PHP is a glue that brings together hundreds of external libraries, so sometimes this gets messy. However, a simple rule of thumb is as follows: Array function parameters are ordered as "needle, haystack" whereas String functions are the opposite, so "haystack, needle".

Cevabın ilk cümlesi de işlev adlandırma uygulanabilir.

Kendi fonksiyonları için, Userland Naming Guide bakabilirsiniz ve / veya Zend veya PEAR gibi Kodlama Sözleşmelerin birini izleyerek düşünün.

Ben bu sizinle yaşamak zorunda gidiyoruz PHP ile bir sorun olduğunu korkuyorum. Kendi bu "misnamed" işlevleri kaydırmak olabilir, ama tabii ki daha pahalı bu işlevlerini çağıran yapacaktır.

Ben basit bir cevap vermek istiyorum, aslında çünkü uyumluluk olmasıdır. Bu projelerin binlerce ve dil çekirdek yanı sıra armut ve pecl kullanılan olduğu gibi bir kez adı verilen bir işlev geri alınamaz. Teşekkürler