İki kat üzerinden yöntemlerin görünürlüğünü ayırmak nasıl?

2 Cevap php

Bazı özel ve kamu yöntemleri vardır bir DataMapper sınıf var. Bu otomatik olarak oluşturulan kodu, çünkü DataMapper sınıfı kendisini sistem katmanında olduğunu. Kullanıcı (geliştirici) etki alanı katman (veya iş mantığı katmanı) olarak DataMapper sınıfını kullanır.

Orada sadece çerçevesi tarafından kullanılan DataMapper bazı yöntemler vardır ve hangi ben kullanıcıya maruz istemiyorum. Framework sınıfları bu aramak gerekir, çünkü Ancak, ben, bu yöntemler özel veya korunan yapamazsınız. Ancak kullanıcı olmamalıdır.

: Ben düşündüm bir seçenek oldu

1) Bir _ o "özel API" bulunuyor belirtmek için, yöntem adının önünde çizgi ekleyin.

2) yöntemine "anahtarı" olarak adlandırılan bir parametresini ekleyin: tüm çerçevesi bu yöntemlerin birlikte geçen gizli bir anahtarı bilir. Bir yöntem olup, anahtar değerlendirir. Tamam ise, yöntem, aksi takdirde bir istisna atar, yürütür.

Nasıl benim katmanları bu yöntemlerin görünürlüğünü ayrı olabilir? Ben arabirimleri bakmak gerekir?

2 Cevap

Evet ... public yöntemler için bir arayüz sorunu ile ilgili "klasik" bir yol olacaktır.

"Kullanıcı" kötü niyetli olması bekleniyor olabilir, ya da kullanıcı dahili yöntemleri ile tamircilik kalkarsa felaket (diğer insanlar için vidalar şeyleri yani bir şey) olasılığı olmadığı sürece, ben gerçekten bir "kullanarak rahatsız olmaz şifre "argüman - kolayca zaten kaynağından anlaşılmaktadır olabilir. Ben görülen bu senaryolardan birini hayal edemiyorum.

Sadece dış istemci kod gerekli işlevselliği sağlamak için bazı tür bir sarıcı kullanamaz mıyız?