Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Funkcje w odzielnych plikach czy w jednym?, kwestia wydajności
MacDada
post 23.07.2010, 20:18:14
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 24.06.2010
Skąd: Sopot

Ostrzeżenie: (0%)
-----


Hej,

z tego co gdzieś czytałem, parser php ładuje wszystkie funkcje z pliku, nawet te, które są nie używane. Czy to prawda?

Jeśli tak, to czy bardziej opłaca się rozrzucić funkcje po wielu plikach i ładować tylko te, które rzeczywiście są potrzebne czy mimo wszystko trzymać wszystkie funkcje w jednym pliku (nie przeszkadza mi to, że może być ich dużo).

pozdr.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
IceManSpy
post 23.07.2010, 20:19:49
Post #2





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Wg mnie lepiej trzymać wszystko w jednej. Bo tak to za każdym razem musiałbyś ładować X plików i nie wiesz, czy akurat w tym jest ta funkcja, którą potrzebujesz.


--------------------
Go to the top of the page
+Quote Post
Pilsener
post 24.07.2010, 09:43:41
Post #3





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Każda klasa powinna być w oddzielnym pliku, funkcja podobnie, funkcje o podobnym przeznaczeniu można wrzucić do jednego pliku tworząc bibliotekę. Jeśli używasz klas to każda klasa powinna mieć nazwę np. Model_Forum_Posts co na dysku wygląda models/forum/posts.php, resztę załatwia autoloader. Z funkcjami gorzej, ale logika nakazuje, by ładować tylko te, które są aktualnie potrzebne. Można zrobić jakiś ręczny autoloader, czyli funkcję, która ładuje inne funkcje.
Go to the top of the page
+Quote Post
wookieb
post 24.07.2010, 10:14:28
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. // kod skryptu
  2. $pamiec = iles tam;
  3.  
  4. include 'file.php';
  5. $pamiec = iles tam + file.php // obojetnie czy uzywasz funkcji z niego czy nie

Dlatego tak jak napisał Pilsener. Ładujesz zawsze kiedy potrzebujesz a tutaj to troszkę roboty jest i nie chodzi o autoloadery tylko odpowiednio zaprojektowanie aplikacji aby pobierała zawsze to co jest potrzebne.


--------------------
Go to the top of the page
+Quote Post
piotr94
post 24.07.2010, 10:59:22
Post #5





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


jeśli robisz moduły, to wtedy przypisujesz zestaw funkcji do danego modułu.
masz np. moduł modules/module.cos_tam.php a funkcje do niego masz w pliku functions/modules/functions.cos_tam.php
Wszystko tez zależy od skomplikowania danego projektu - czasem nie opłaca się robić systemu ładowania funkcji itd. Ale tu w decyzji pomoże Ci tylko zdrowy rozsądek


--------------------
http://www.piotr94.net21.pl/ - wykonanie stron i serwisów internetowych
Jeśli moje wypowiedzi były dla Ciebie pomocne, kliknij "Pomógł" i odwdzięcz się ;)
Go to the top of the page
+Quote Post
erix
post 24.07.2010, 12:06:23
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
z tego co gdzieś czytałem, parser php ładuje wszystkie funkcje z pliku, nawet te, które są nie używane. Czy to prawda?

Tak.

Cytat
Jeśli tak, to czy bardziej opłaca się rozrzucić funkcje po wielu plikach i ładować tylko te, które rzeczywiście są potrzebne czy mimo wszystko trzymać wszystkie funkcje w jednym pliku (nie przeszkadza mi to, że może być ich dużo).

Zależy od sytuacji. Jeśli nie masz akceleratora zainstalowanego z interpreterem, wówczas lepiej się skłaniać do wrzucania jak największej liczby metod w jeden plik (oczywiście, w granicach rozsądku). Jeśli masz akcelerator - tu już jest tylko kwestia wygody.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
MacDada
post 26.07.2010, 15:38:16
Post #7





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 24.06.2010
Skąd: Sopot

Ostrzeżenie: (0%)
-----


Jak pisałem to pytanie to robiłem projekt jeszcze funkcyjnie, ale poczytałem trochę o wzorcach projektowych, przeleciałem dokumentację OOP w PHP i postanowiłem używać obiektów i MVC. Tak więc sposób z autoloaderem podany przez Pilsenera na pewno znajdzie u mnie zastosowanie.

Pozdr. i dzięki za odpowiedzi.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 19:08