![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 195 Pomógł: 14 Dołączył: 12.01.2006 Skąd: Gotham City Ostrzeżenie: (0%) ![]() ![]() |
System informatyczny w php
zrzuty z netbeansa 6.5 z projektu ( ma przegladarke klas javascript wykonanej w notacji singletonowej ![]() ![]() zrzuty z ekranu z działania systemu: ![]() ![]() ![]() ![]() ![]() ![]() ![]() prezentacja flash: Flash 7MB ! plik swf z prezentacja: PLIK 7MB ! opis: - każdy moduł jest w 100% ajaxowy - grafika gimp, paint użyte biblioteki js: prototype - ajax scriptaculous - np rozwijane combo tiny mce - edytor draw2d - generowane diagramy użyte biblioteki php: fpdf - generowane pdfy json - transport danych phplot - generowane wykresy moj wlasny szkielet: - obsługa polaczen z baza, zapytań, wyjątków moje wysokopoziomowe komponenty gui ( ajax ) : - uploadprogressbar - prezentacje, podgląd - combo box z wyszukiwaniem w bazie - podwójna lista z wyszukiwaniem w bazie - tablica ze stronicowaniem, sortowaniem i wyszukiwaniem - tab panel - kalendarz - drzewo Ten post edytował emp 3.02.2009, 01:17:01 -------------------- Temat zamykam i przenoszę do Bangladeszu.
To jest wiadomość śmierci jeśli ją czytasz to znaczy że pozostało ci 30 sekund życia, więc lepiej zacznij się modlić. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Wizualnie wygląda PRO i naprawdę ciekawie, natomiast od strony PHP (opierając się na dwóch pierwszych screenach) już nie bardzo:
- tablice superglobalne wewnątrz metod klas, - zamiast unikać błędów po prostu je wyciszasz (@), - brak optymalizacji pętli for. Ogólnie robi jednak bardzo dobre wrażenie, gratulacje ![]() PS: dodatkowy plus za wybór PostgreSQL - mało kto się za niego bierze. Ten post edytował phpion 2.02.2009, 08:55:12 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
łał.
Wizualnie nieźle. Wygląd akurat nie zachwyca, ale nie o to chodzi. Chodzi ogólnie o interfejs - widgety, okna, taby etc. Nie rozumiem tylko, czemu nie użyłeś do tego jakiejś gotowej biblioteki. Nie ma za bardzo czego oceniać, bo kodu widać tylko kawałek, a nie chce mi się oglądać prezentacji. Ale z tego co widać to nieźle PS. na przyszłość dawaj screenshoty w png. jpg się do tego za bardzo nie nadaje. Cytat - brak optymalizacji pętli for. Masz na myśli notację w stylu: for($i = 0, $j = count($jakaśTablica); $i < $j; $i+); ? -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 195 Pomógł: 14 Dołączył: 12.01.2006 Skąd: Gotham City Ostrzeżenie: (0%) ![]() ![]() |
Tablica super globalna z wnętrza metody używana jest w konkretnym celu i ma to sens ( bynajmniej ja go widzę bo innego wyjścia nie znalazłem ) Jest to robione tylko w wypadku gdy chce mięć jakąś zmienna widzianą globalnie i tylko w paru specyficznych klasach tych zmiennych jest dosłownie kilka.
Jeśli chodzi o wyciszanie @ to też ma sens nie robię tego wszędzie tylko w paru konkretnych miejscach gdzie mogę np dostać argument w $_POST lub w $_GET nie wiem w którym więc je wyciszam bo jak dostane w poscie a sprawdzam zawsze i posta i geta do get mi rzuca błąd a to błąd nie jest Dlaczego moje rozwiązania a nie cudze ? Mój własny system działa w taki sposób jak ja chce czyli np mam w klasie cRdzen metodę:
Teraz w klasie cModulProjekty dziedziczącej po cRdzen i implementującej iModul wykorzystuje tą metode: Ale najpierw z obiektu javascript musze zrobić zapytanie tak:
Zapytanie jest obsługiwane przez system ( są sprawdzane uprawnienia )
odpowiedz trafia do javoscriptowej metody:
metoda sprawdź odpowiedź ajaxa spowoduje że w wypadku gdy jest status ok to nic się nie dzieje jak jest inaczej to poleciał wyjątek i mi go odrysuje na ekranie w okienku np ( wszystko asynchronicznie ) : ![]() To jest trochę bardziej rozbudowane i ma kilka dodatkowych opcji, ale to akurat mało ważne sens w tym że działa tak jak ja chce i ja doskonale wiem jak działa mam nad tym pełną kontrole i jakiekolwiek modyfikacje robię od zaraz. Jeżeli chodzi o komponenty to sprawa jest już banalna rozważałem tylko jedną bibliotekę w której zrobiłem sobie stronę domową a mianowicie Qooxdoo strona w qooxdoo ale biblioteka jest za wolna jak się dowali kilka tabów i okienek naprawdę obciąża system przeglądarki wymiękają z bardziej rozbudowana aplikacją w qooxdoo nie ma sensu dopóki javascript nie będzie o wiele szybszy. Jest jeszcze jedna rzecz w qooxdoo która mi się niepodobana żadna przeglądarka klas nie wyświetli tych z qooxdoo bo oni mają swoją własna filozofie. Takie komponenty jak zwykła lista , combo czy tabelka są marne. Marne dlatego bo mi w niczym nie pomogą ( powtarzam mi ) i tak muszę zrobić z jednej listy podwójna zrobić tak żeby mi się ajaxowo dane ładowały z bazy danych, zrobić wyszukiwanie i wiele innych rzeczy. Moja podwójna lista wygląda tak: ( pojedynczej nie używam ) lista.rysuj_okno_list( 'de_dane_elementy', 'Struktury elementu:', 'Wszystkie struktury : ' , 'rdzen_dodaj_element_elementy', 'typ elementu', 'element', 295, 330 ) ; ![]() lista.rysuj_okno_list( 'de_uzytkownicy', 'Uprawnienia elementu:', 'Wszystkie uprawnienia ' , 'rdzen_dodaj_element_uzytkownicy', '', 'uprawnienie', 295, 330 ) ; ![]() a tutaj upload progressbar if( rdzen.uploadElementu == null ) rdzen.uploadElementu = new upload( 'okno_dodania_elementu_zalaczniki', 'element', 'zalaczniki_ogolne' ) ; rdzen.uploadElementu.inicjalizuj( 'rdzen', 'uploadElementu', 'de_zalaczniki', 'dodaj_element_a', 640, 360, 50 ) ; ![]() combobox z wyszukiwaniem kategoriami ajax ( automat ja robie jedna linijkę i takie mi są potrzebne komponentyi takie se robie ) combo.rysuj_okno_podelementow( 'dodaj_zadnie_rodzaj_podokno', 'Dział odpowiedzialny za fakture:', "dodaj_fakture_dzial", "", "dział", false ) ![]() a tutaj jeszcze tabelka i struktura z której korzystają moje komponenty można dodawać, edytować ponad 20 różnych typów elementów: ![]() Jeden komponent robię jeden dzień rzadko kiedy więcej więc nakład pracy nie jest jakiś duży a efekt jest super. Najdłużej robiłem drzewo bo potrzeba wykorzystania rekurencji w javascript powodowała lawine bugów. Moje rozwiązania są najlepsze , ale tylko dla mnie nie ma tu jakiejś większej filiozofi chodzi tylko i wyłącznie o przyspieszenie mojej pracy i zwiększenie wydajności przy tworzeniu tego konkretnego systemu. Nie uważam się też za dobrego programistę raczej średniego więc finezji się tu nie doszukujcie. Robię wszystko sam więc we wszystkim jakiś poziom muszę trzymać co za tym idzie w niczym nie jestem bardzo dobry. Jedyne co uważam że robię bardzo dobrze to znajduje rozwiązania. Mam bardzo dobre pomysły, ale jestem sam więc ich realizacja jest jaka jest ![]() Pzdro Ten post edytował emp 2.02.2009, 20:20:10 -------------------- Temat zamykam i przenoszę do Bangladeszu.
To jest wiadomość śmierci jeśli ją czytasz to znaczy że pozostało ci 30 sekund życia, więc lepiej zacznij się modlić. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 03:19 |