2010-02-01 11 views
9

jeśli mam funkcje ciągów i dużo ich używam, czy powinienem umieścić je w klasie pomocniczej lub bibliotece?Różnica między bibliotekami i pomocnikami w php frameworks

funkcje takie jak: skracanie ciągu znaków, jeśli ma więcej niż 30 znaków, zwracanie losowego ciągu, tworzenie wszystkich małych i tak dalej. są to funkcje, dla których prawdopodobnie nie trzeba tworzyć obiektu. lepiej używać ich jako metod statycznych.

Czy powinienem umieścić je w klasie biblioteki lub klasie pomocnika?

Kiedy mogę sprawdzić, kiedy umieścić?

Odpowiedz

13

pomocnicy są zajęcia, które pomagają coś już tam na przykład nie może być pomocnikiem dla:

tablica
ciąg
url
itp

Biblioteka jest coś, co może być dowolny rozwiązanie; może być stworzony po raz pierwszy przez ciebie i nikt inny nie stworzył.

Ponieważ masz do czynienia z ciągiem znaków (coś już tam jest), powinieneś umieścić go w klasie pomocniczej lub zmodyfikować klasę pomocniczą string struktury (jeśli taka istnieje). Jest to jednak konwencja lub standard, ale możesz także utworzyć dla niego bibliotekę, jeśli tworzysz coś naprawdę fajnego do obsługi ciągów przy użyciu niektórych funkcji.

+1

Czy możesz powiedzieć, że klasy biblioteki powinny być używane do tworzenia instancji obiektów. jeśli tak, to łatwo jest wiedzieć, kiedy utworzyć pomocnika i kiedy utworzyć klasę biblioteki. ale w java mamy klasę matematyki. i który ma tylko funkcje statyczne. z powrotem do kwadratu :) – ajsie

+0

@Name: nie rozumiem twojego komentarza, ale nie mówiłem o inicjowaniu lub nie inicjowaniu. – Sarfraz

3

Zakładam, że używasz CodeIgniter.

Ponieważ już piszesz, że nie musisz tworzyć instancji obiektu i użyjesz go w swoich statycznych metodach, to uczynienie go pomocnikiem będzie miało sens, niż zrobienie go w bibliotece.

W CI pomocnicy są również zarządzane, po załadowaniu druga próba załadowania zostanie pominięta. Możesz otworzyć kompilację CI w helper, aby dowiedzieć się, co robi, a następnie porównać ją z bibliotekami. Znając cel, możesz zdecydować o sobie, pomocnikach lub bibliotekach.

1

jeśli mam funkcje ciągów i dużo ich używam, czy powinienem umieścić je w klasie pomocniczej lub bibliotece?

Jeśli są funkcjami, dlaczego chcesz umieścić je w klasie? PHP pozwala na swobodne funkcje pływające.

+0

PHP pozwala dużo, dlaczego czasami może się popsuć. więc chciałem wiedzieć, jaka jest najlepsza struktura. – ajsie

+0

W przypadku, gdy nie było to jasne, sugerowałem, że uważam, że darmowe funkcje są najlepszą strukturą dla opisanego przypadku. – troelskn

2

Pomocnik jest zbiorem zdefiniowanych przez użytkownika lub zdefiniowanych funkcji, nie ma potrzeby tworzenia instancji, a biblioteki są klasami, które należy utworzyć, aby z nich korzystać. Biblioteka może również zawierać zdefiniowane przez użytkownika i predefiniowane funkcje/metody. Funkcja zdefiniowana w bibliotece (klasa) jest znana jako metoda!

11

Poza manual że wyjaśnia to wszystko całkiem dobrze ...

bibliotek Klasy użytkowe gdzie stan obiektu jest ważne (płatności bram, uwierzytelnianie, itp)

pomocnicy: Kolekcje powiązanych funkcji (nie klasy) które wykonują powtarzające się zadania (łańcuchy, tablice itp.)

wtyczki: Prosty sposób na opuszczenie klas stron trzecich. Zwykle cały proces jest wywoływany za pomocą jednej funkcji owijania. (przestarzałe w nadchodzącej wersji 2.0 CodeIgniter.)