![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 18.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
Jako twórca pewnej aplikacji internetowej mam pewien problem.
Zastanawiam się nad tym by zrobić automat do update'u. Oczywiście wszystko jest piękne do czasu gdy w kodzie php (w klasach, metodach itd) nie pojawiają się pewne specyficzne metody, obliczenia. Czy macie jakiś pomysł w jaki sposób oznaczyć kod tak by update dotyczył całej aplikacji oprócz pewnych "segmentów", które były zrobione specjalnie dla danego klienta (indywidualizacja?). Proste to niby gdy mamy osobne metody specyficzne dla klienta i trzymame je w innej klasie/pliku/miejscu. Jednak gorzej jest gdy zmiany dotyczą już istniejących metod. Myślałem by każdą instrukcję np. if else dzielić na jakieś bloki np. [php:1:b25050b7fe]<?php if(warunek){ realizacja } #1# #after 1 elseif(warunek){ specyficzna realizacja kodu. tego normalnie nie ma } #before 2 elseif(warunek){ realizacja } #2# else { realizacja } #3# ?>[/php:1:b25050b7fe] Oczywiście to prymitywny przykład i łatwo tą sytuację rozwiązać. Chodzi mi jednak o sens. W normalnym/standardowym kodzie części instrukcji elseif między #after 1 i #before 2 nie będzie i w czasie update musi być wiadome, że tam a nie gdzie indziej ten warunek musi być wstawiony/nieruszony. Czy macie jakieś lepsze pomysły/doświadczenie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 0 Dołączył: 22.04.2003 Skąd: Żory / K-ce Ostrzeżenie: (0%) ![]() ![]() |
Najbardziej uniwersalne byłoby chyba parsowanie plików php. php ma wbudowany w siebie parser:
http://www.php.net/manual/pl/ref.tokenizer.php http://www.php.net/manual/pl/tokens.php Trzeba by "tylko" zaprogramować język w jakim dałoby się określić co należy zmienić (takie skrypty aktualizacyjne) np. jako dialekt XML-a. To by miało szerokie zastosowanie i można by tego użyć do np. implementacji systemu wersji w php coś jak CVS. Ale jest to trochę pisania i projektowania. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 15:53 |