![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 13 Dołączył: 31.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
dopiero zaczynam swoją zabawę z obiektowym php. Teraz mam pytanie do bardziej zaawansowanych koderów czy moje rozwiązanie jest dobre. Więc tak mam folder gdzie tworzę pliki z klasami dajmy 'Mysql.class.php'. W pliku library.php ładuje wszystkie klasy
w pliku system.php ładuje library.php i config.php Natomiast w pliku index.php mam
Teraz żeby uzyskać dostęp do mysql w klasie Main, metodzie prace mam coś takiego
Czy ogólnie jest to poprawne podejście? Czy raczej wystrzegać się global? Jak to inaczej rozwiązać? Proszę mi nie proponować Zend'a itd. bo najpier chciałbym liznąć troszkę obiektówki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pozdrawiam i z góry dziękuje za pomoc.
Powód edycji: Proszę używać tagu [PHP] do umieszczania kodu PHP. Dodane także tagi do tematu.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Się wystrzegać. Do tego zadania doskonale sprawdzi się singleton. ...który tylko 'ładniej' wygląda. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Utwórz klasę łączącą wszystkie (zawierającą w sobie tablicę wszystkich obiektów) i przekazuj jej instancję do wszystkich nowo utworzonych obiektów. Musi zawierać metody, dzięki którym pozwoli na dostęp do obiektów z zewnątrz, oraz najlepiej od razu je wczytywać. Jakiś uproszczony przykład: index.php
core.php core.php
przykładowe config.php
Później jeszcze możesz dodać metodę startAction() do core, które wczyta właściwy plik, który będzie coś robił (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Plik zostanie wczytany wewnątrz klasy core, a więc do obiektów będziesz się odnosił tam przez $this. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 31.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
core.php
12 linijka w pliku powyżej powoduje błąd (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Fatal error: Class name must be a valid object or a string in H:\Serwer\tescik\includes\core.php on line 11 jakaś wskazówka? tutaj pliczki http://wyslijto.pl/plik/u0rcn5sg8s |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
12 linijka w pliku powyżej powoduje błąd (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Fatal error: Class name must be a valid object or a string in H:\Serwer\tescik\includes\core.php on line 11 jakaś wskazówka? tutaj pliczki http://wyslijto.pl/plik/u0rcn5sg8s Jeżeli Ci to pomoże, mam coś podobnego w swoim prototypowym widoku:
Oczywiście to wycięty fragment. Uznałem, że podzielenie widoku na moduły odpowiadające np. za szablony, bbcode, formularze będzie dobrym rozwiązaniem. (mam wszystko ładnie posegregowane i wiem co do czego jest) Sam plik z tą klasą nazywa się view.php A moduły przykładowo: view_template.php (który zawiera klasę o takiej samej nazwie) Działa i powiem, że dość fajne rozwiązanie na które po części naprowadził mnie Erix (mój pro (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) ) . (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 20:39 |