Benim sınıflar için kurucu adları büyük harfle gerekir?

6 Cevap php

Ben bütün değişken isimleri, fonksiyonlar, vb küçük harfli ilk harfi olan deve çantası kullanın. Ama sınıf isimleri aktifleştirilir. Ben kullanmalısınız:

class Foo
{
   function foo()
   {

   }   
}

veya:

class Foo
{
   function Foo()
   {

   }   
}

Daha iyi bir kongre hangisi? Kafam karıştı.

6 Cevap

Adını kurucular 4 kongre PHP edilir. Eğer bu şekilde yaptığınızda Ve evet, sınıfının davasını eşleşmesi gerekir.

Ama PHP 4 bugünlerde eski bir haber. PHP 5 şimdi birkaç yıl için de-facto versiyonu olmuştur. Ve PHP 5 yapı __, sürekli yapıcı adını kullanır. Ne olursa olsun sınıf 'adı, hep bu var.

class a
{
  public function __construct()
  {}
}

class b
{
  public function __construct()
  {}
}

Dürüst olmak gerekirse, ne.

Sen tabii ki, çok arkaik PHP4 zincirleme konum sürece __construct(), o zaman tam sınıfın adını eşleşmesi kullanıyor olmalıdır.

Kurucu ismi sınıf ismi aynı, bu yüzden olmalı Foo. Yani PHP ama kopyalama olduğu dillerde değil, sadece kongre var: Java, C # ve C + +. O dillere kimliklendirici yüzden adı must özdeş harf duyarlıdır.

Eğer mümkünse, ben ikinci örnek ile devam ediyorum. O (tutarlılık) aynı adlı gerekir, böylece yapıcı sınıfının bir örneğini döndürmesi nedeniyle bir deyişle, yapıcı davası, sınıf adının eşleşmesi gerekir.

Bu kişisel kongre olabilir, ama ben bir sınıf "FooBarBaz" varsa, ben yapıcı "FooBarBaz" değil, "fOOBARBAZ", "fooBarBaz", "foobarbaz" ya da başka bir şey adlandırılmış bekliyoruz.

Ancak, dil-bağımlı:

  • Bazı diller bu nedenle bu davranış zorlamak ve gövde farklı ise dışarı hata olacak, harf duyarlıdır.
  • Bazı diller harf duyarsız ve umurumda değil.
  • Emin değilim, ancak bazı diller farklı kurucu isim sizi zorlayabilir (derleyici bir yapıcısı olarak tanır nasıl emin değil, ama bu nokta değil).

Bu Java veya C # gibi birçok dilde, kongre olmasına rağmen, hepsi böyle değildir.

Kapitalizasyon geliştirme bağlamında dil veya sınıf kitaplığı sözleşmelere bağlıdır.

Peki, hangi dil bahsediyoruz?

Tamam, PHP. PHP kongre Capitalize Class Names etmektir.

Java da Capitalized Class Names kullanır, ancak bir sınıf içinde yöntemleri camelCased vardır.

C# Elbette, Methods için Capitalized Class Names ve aynı kullanarak şeyleri karıştırır.

Birçok dil sana seçim vermeyin. Yani C + +, Java ve C #, içerir. Kurucu ismi sınıfın adıdır, bu nedenle sınıf adını harfle sadece ve sadece yapıcı adını yararlanmak. (Bunu yapmazsanız, o zaman derleyici bile zaten bir yapıcı olarak tanımaz.)

Diğer diller için, sınıfının yöntemleri geri kalanı için kullanın aynı adlandırma kuralını kullanır. Sadece bu kadar basit.