![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
W oprogramowaniu mam podział na engine oraz aplication (mam nadzieję że to dobry pomysł). W pewnym momencie żeby wyświetlić artykuł musze mieć takie coś:
Z mojego punktu widzenia nie można pozbyć się globalsów. Czy coś przeoczyłem bo zasada o nie-stosowaniu globalsów się miesza (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Black-Berry 4.09.2008, 07:40:51 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Możesz stosować singletona. Najlepsze rozwiązanie.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
ale wewnątrz zwykłej funkcji? będzie tam widoczny?
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Singleton jest "widoczny" wszędzie. Zobacz o co w nim chodzi i wtedy bedziesz kumał.
Jezeli masz grupę funkcji w której potrzebuje ZMIENNE z zasiegu globalnego a nie EGZEMPLARZ KLASY to pogrupuj je w klasy albo stosuj do przechowywania tych zmiennych inne klasy. Np u mnie nie ma żadnych globalsów ale jest pare funkcji jednakze sluza one tylko do manipulacji danych z argumentów. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Z mojego punktu widzenia nie można pozbyć się globalsów. Czy coś przeoczyłem bo zasada o nie-stosowaniu globalsów się miesza (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dependency Injection, korzystaj z obiektowych rozwiazań i wzorców:
To jest bardzo powierzchowny przykład, ale przez takie przekazywanie obiektów, nie będziesz potrzebował globalsów. Ten post edytował LBO 4.09.2008, 09:34:12 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Widzę, ze nie wyraziłem się jasno (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif) Chodzi mi o funkcje pomocze. Takie które maskują bloki kodu obiektowego. Zależy mi na tym aby użytkownik ostateczny nie musiał używać obiektów tylko proste funkcje takie jak np edcBodydrop(), edcLayoutArea('left_menu'), edcLayutArea('top_menu'), edcLayoutArea('footer'); Nie będzie ich dużo. Mniej więcej 20-30. Są po to zeby kts od razu miał listing 30 funkcji które używa w templatce. Dzięki temu mogę rozgraniczyć pracę jaką ma wyknać zaawansowany programista, a ktoś kto poprostu ustawia sobie szablon strony.
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
No to ci PRZECIEZ MOWIE. SINGLETON
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
ale jak (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) nie krzycz na mnie...
|
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
google.pl -> singleton php .Czy to takie trudne? A nie bede ci tutaj pisal co i jak bo w necie znajdziesz bardziej szczegółowe info.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
dowiedziałem sie od koleg ze singletony są widoczne wszędzie jak globalsy. Ciekawe (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) . Klasy statyczne też ? Bo ponoć singletony wychodzą z uzycia? To bym mógł zamiast nich klasy statyczne stosować.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
google.pl -> singleton php .Czy to takie trudne? A nie bede ci tutaj pisal co i jak bo w necie znajdziesz bardziej szczegółowe info. @wookieb, spokojnie - wyjaśnij koledze o co dokładnie Tobie chodzi, bo to co piszesz, to nie jest rozwiązanie jego problemu. Kolega chce zwyczajnie uzywać fukcji zamiast obiektów. A Singleton to obiekt. Black-Berry. takie funckje w szablonie, które używają obiektów pobierających dane to nie jest najlepszy pomysł. Powinieneś pobrać te dane wcześniej i udostepnić w szablonie (tam dopiero przetwarzać). Helpery, hmmmm, powinny tylko manipulować na argumentach jakie dostały i niektórych częściach systemu, ale nie tak dynamicznych rzeczach jak AticleManager. |
|
|
![]()
Post
#12
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
W templatkach piszesz:
$helper jest PRAWIE-globalsem w templatce, includujesz plik z templatka w jakiejs tam funkcji
http://pl.php.net/include/ : Cytat When a file is included, the code it contains inherits the variable scope of the line on which the include occurs. Any variables available at that line in the calling file will be available within the called file, from that point forward. Dzieki temu masz dostep do funkcji w templatce, nie uzywasz globalsow, singletonow, no i masz polaczenie z requestem/sesja/kontrolerem |
|
|
![]()
Post
#13
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Znów SF i znów i18n, ale tym razem poglądowo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
http://trac.symfony-project.org/browser/br.../I18NHelper.php Pozdrawiam. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
O rety (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) jakies podwójne podkreślniki zamiast funkcji... Chyba będzie lepiej jak zacznę czytać ksiazki (IMG:http://forum.php.pl/style_emoticons/default/czarodziej.gif)
Dzieki za pooc ale nie potrafię z niej skorzystać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Black-Berry 5.09.2008, 13:33:32 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
O rety (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) jakies podwójne podkreślniki zamiast funkcji... Chyba będzie lepiej jak zacznę czytać ksiazki (IMG:http://forum.php.pl/style_emoticons/default/czarodziej.gif) Dzieki za pooc ale nie potrafię z niej skorzystać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Przykład z SF pokazuje jak korzystać z funkcji, które wgryzają się w system nie poprzez parametry, a poprzez np. singletona z contextem. Nadal (jak pamiętasz) uważam, że to kiepski pomysł. Chciałem zaproponować klasy statyczne (pamietasz mój przykład z innego topicu?) i chyba to zrobię.
Ten post edytował LBO 5.09.2008, 14:41:06 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wow. Dzięki. Jeszcze się w to wgryzam ale chyba zajmie mi to trochę. Ile ty już siedzisz nas swoim frameworkiem ?
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Korzystam z Agavi.
Tam jest zupełnie inne podejście do helperów... których zwyczajnie w szablonie nie ma. Ale to ze względu na specyficzna budowę V w MVC. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 21:57 |