Martin-WulkSoft Posted May 11, 2014 Share Posted May 11, 2014 Cześć Piszę w miarę skomplikowany moduł w którym dla ułatwienia późniejszej modyfikacji chcę zastosować programowanie obiektowe, moduł będę chciał z czasem wrzucić na sprzedaż. Zastanawiam się czy swoje pliki z klasami mogę trzymać w katalogu /modules/mymodul/classes nigdzie nie spotkałem takiego rozwiązania z tego co widzę nie, którzy plik ze swoimi klasami po prostu trzymają w katalogu /modules/mymodul, ale ja bym chciał mieć porządek i pliki z klasami trzymał w innym katalogu . Nie chciał bym później przerabiać projektu bo pliki z klasami znajdują się w niewłaściwym miejscu. Link to comment Share on other sites More sharing options...
vekia Posted May 11, 2014 Share Posted May 11, 2014 jedyne na co zwróć uwagę to to, aby pliki trzymane w override/classes/ nie pokrywały się z plikami w module presty /classes/ w przeciwnym wypadku (gdy nazwy plików będą się pokrywać) dojdzie do override, czyli nadpiszesz oryginalne klasy swoimi Link to comment Share on other sites More sharing options...
Krystian Podemski Posted May 11, 2014 Share Posted May 11, 2014 Eee, przecież klasy z modułów nie podlegają ładowaniu automatycznemu z Autoload więc będą brane pod uwagę tylko wtedy gdy będą w katalogu override. Ja sobie dzielę tak: models/ - klasy controllers/ - admin/front views/ - tutaj pliki tpl podzielone na hook, templates - front/admin assets/ - tutaj wszystkie dodatkowe elementy overrides/ - tutaj klasy, które mają ewentualne zadanie rozszerzenia plików silnika PrestaShop Link to comment Share on other sites More sharing options...
vekia Posted May 11, 2014 Share Posted May 11, 2014 lol nie wiem czemu ale ja tam widziałem override ;D mój błąd, mogą tam być, bez żadnego ALE o którym wspominałem Link to comment Share on other sites More sharing options...
Martin-WulkSoft Posted May 12, 2014 Author Share Posted May 12, 2014 lol nie wiem czemu ale ja tam widziałem override ;D mój błąd, mogą tam być, bez żadnego ALE o którym wspominałem Klasy ładuje sobie przez include_once(dirname(__FILE__) . '/classes/MyClass.php') Zastanawiam się jeszcze nad nazewnictwem bo jeżeli stworze swoja klasę Customer, która już jest w PS to wyrzuci błąd. Czy mogę do swoich klas dorzucać prefix np CustomerMymodule, AdressMymodule itp ... Link to comment Share on other sites More sharing options...
Krystian Podemski Posted May 12, 2014 Share Posted May 12, 2014 A dlaczego nie? Jasne, że możesz. Inne pytanie po co Ci w module klasa w stylu CustomerMyModule, nie wiem czy chcesz modyfikować działanie obiektów z Customer czy dodać funkcjonalność tam? Jeśli dodać funkcjonalność to ok, jeśli zmodyfikować metody z Customer.php to robisz to źle. Link to comment Share on other sites More sharing options...
Martin-WulkSoft Posted May 12, 2014 Author Share Posted May 12, 2014 A dlaczego nie? Jasne, że możesz. Inne pytanie po co Ci w module klasa w stylu CustomerMyModule, nie wiem czy chcesz modyfikować działanie obiektów z Customer czy dodać funkcjonalność tam? Jeśli dodać funkcjonalność to ok, jeśli zmodyfikować metody z Customer.php to robisz to źle. To był przykład Taką klase chciał bym wykorzystać do stworzenia dość skomplikowanej strony konfiguracyjnej modułu, której głównym zadaniem było by konfigurowanie modułu, a nie modyfikowanie działą PS. Taka klasa zawierała by tylko metody i pola służące do konfiguracji działania modułu. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now