![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Kiedyś postanowiłem, że napiszę sobie CMS'a. Po kilku dniach wziąłem się do pracy. Projekt porzuciłem po trzech tygodniach. Ostatnio go odgrzebałem. Pomyślałem i zrobiłem takie cuś. Podchodzi bardziej to do FrameWorka. Manuala nie udało mi się opracować, ale proszę o ocenienie kodu, wskazanie kierunku itp. I teraz ostatecznie Frameworkiem się stało ![]() Paczuszka z SQLem: Paczka Zip Paczka Tar.gz Zdravim Łukasz Ten post edytował Turgon 16.01.2007, 13:24:40 -------------------- Jah Music Is On My Mind !
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
1."* Not allowed to use. This is only preview!"
to moge go uruchomic czy nie? 2.
a da sie nr. portu skonfigurowac? 3. brak formatowania kodu:
4. nie udalo mi sie go uruchomic na lighttpd (mod_rewrite) 5.
a co gdy podam: ? 6. co robi "class TurVendor" to juz zupelnie nie wiem bloki, zmienne, uprawnienia -- wszystko w jendej klasie -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
1. Możesz, ale tylko do testów. Miałem na myśli użycie w projektach itp. ;]
2. Dodajesz po hoście porcik ![]() 3. Kate nie oferuje takiej opcji, a ja nie jestem przyzwyczajony wciskać co chwilę "Tab". 4. Działa bez mod_rewrite. Tam są tylko dwie testowe reguły, które uruchamiałem na zdalnym serwerze. 5. Powinno zablokować tylko właściwe ;] Czyli JavaScriptowe, choć do końca nie testowałem. Słabo go znam. 6. To podstawa dla każdego Vendora, ponieważ każdy Vendor nie będzię dziedziczył po 20 klasach ![]() -------------------- Jah Music Is On My Mind !
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Jeśli chodzi o klasę TurKernel, to mi się nie podoba. Zawiera metody, które coś wypisują na ekran. Rozumiem, że to są testy, ale ładniej by to wyglądało, gdyby np. metody TurKernel::compileInfo(), albo TurKernel::listModules() wyszukiwały informacje, a potem je zwracały. Z samej tej klasy IMHO da się wydzielić co najmniej 5 różnych klas, bo teraz klasa ma zbyt dużą odpowiedzialność. W obecnym stanie rozwoju nie stanowi to problemu, ale jeśli zechcesz rozbudować, to napotkasz na mur. Będziesz musiał przekazywać coraz więcej parametrów do metod, a co za tym idzie, coraz więcej instrukcji warunkowych. Jeśli to jednak skończony projekt, to nie ma problemów. : )
Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Wiem, wiem
![]() ![]() ![]() ![]() ![]() I zapomniałbym. Dorzucę też obsługę interfejsów ![]() Ten post edytował Turgon 15.01.2007, 12:05:59 -------------------- Jah Music Is On My Mind !
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat 3. Kate nie oferuje takiej opcji, a ja nie jestem przyzwyczajony wciskać co chwilę "Tab". Zmien edytor, chociazby Kwrite ma autowciecia. A co z eclipse? Cytat 4. Działa bez mod_rewrite. Tam są tylko dwie testowe reguły, które uruchamiałem na zdalnym serwerze. Najpierw uruchomilem bez zadnych rewrittow --> undefined index 'vendor' itd. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 384 Pomógł: 6 Dołączył: 11.09.2004 Skąd: Grodzisk Mazowiecki Ostrzeżenie: (0%) ![]() ![]() |
Nie wiele do oceniania.
Dużo bałaganu widzę, mało czegoś pożytecznego. Np. tursql. Halo! Mamy 2007, mamy PDO, jeżeli ktoś nie lubi to Creole. No ok, chyba że ktoś naprawde chce coś jeszcze lepszego, czemu by nie, ale niech to mam jakąś funkcjonalność, a nie nakładka na kilka natywnych f-cji. Cytat Wiem, wiem Cysiaczku, dlatego obecnie przebudowywuję ją całą. Te metody zostaną w takim stanie, gdyż takie je lubię Zmienię też delikatnie strukturę jądra tzn. niektóre klasy będą domyślnie używane. Powstanie też autoloader , ponieważ to pozwoli na wybieranie tylko potrzebnych modułów podczas kompilacji. Jak skończę wrzucę poprawioną wersję na serwer I zapomniałbym. Dorzucę też obsługę interfejsów Klasę TurView też czeka przebudowa. To może najpierw zrób z tym pożądek, dopisz co trzeba żeby chciaż ten banalny przykład działa bonzowi ![]() -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Strzałek: Wciąż na wielu serwerach nie ma PDO... Z resztą kilka drobnych klas będących na warsztacie stworzą wraz z TurSQL małego i prostego ORMa ;]
dr_bonzo: Dziwne... W Exception włącz trace i daj tutaj wynik ![]() Dodałem poprawioną wersję. I chyba wiem o co chodzi Bonzo ![]() Urle są w formacie : index.php?app=nazwaApp&vendor=nazwaVendor&action=nazwaAction . Można zawsze zmienić nazwę każdej ze zmiennych. Jeśli którąkolwiek z nich pozostawimy pustą skrypt sam ją uzupełni domyślnymi danymi z kernelImage.php. -------------------- Jah Music Is On My Mind !
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
To ze sa w taki fromacie to sie domyslilem
![]() Cytat Warning: mysql_connect() [function.mysql-connect.html]: Access denied for user 'root'@'localhost' (using password: NO) No wiem ze konfigu jeszcze nie ustawilem, ale przydala by sie inna informacja Wchodze na "/" i undefined index, action, vendor, action. http://php.dev.localhost/turgoncms/?vendor...mp;action=index czyli defaultowe wartosci Cytat Nie ma takiego vendora. dla vendor = 'turcms' tez nie dziala Cytat public function index(){ $this->view->loadView('index'); return $this->view->render(); } Po co tyle kodu (jak zapomne to sie pewnie app sypnie, nie wyswietli czegos itd), nie latwiej przyjac ze akcja 'index' jest wyswietlana domyslnie widokiem 'index'? I po co zwracac wynik renderowania -- do zadanie FW, dostal info ktory widok uzyc, jakie ma parametry i sobie poradzi. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Wiem, wiem... Nad błędami muszę jeszcze pomyśleć
![]() Kolejna sprawa app, to katalog z vendorami ![]() ![]() Rozumiesz ? Co do widoków, to dobra postaram się coś pomyśleć ![]() ![]() ![]() Ten post edytował Turgon 15.01.2007, 15:49:03 -------------------- Jah Music Is On My Mind !
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat Co do widoków, to dobra postaram się coś pomyśleć , ale mi to nie przeszkadza Ale co ty byś proponował, bo do końca nie łapie ?
i FW zajmuje sie reszta, zalacza domysly widok 'index' i odpala renderowanie, bo na razie w kazdej akcji musisz to recznie dopisywac, a to nie jest dobre ![]() Cytat Kolejna sprawa app, to katalog z vendorami Powinien być turcms lub turpowerboard. No w koncu uruchomilem Masz dosyc nieintuicyjne nazwy: jest katalog vendors/ i oczekuje ze w nim sa vendory czyli turcms itd. a nie ze w vendors/ sa aplikacje -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Wiem trochę napaprałem ;] Ale w configu można zawsze zmienić nazwę app na coś innego w linku
![]() ![]() Ten post edytował Turgon 15.01.2007, 16:17:09 -------------------- Jah Music Is On My Mind !
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat To co proponujesz będzie wymagało przebudowy połowy FW FW ma chyba ulatwiac i uprzyjemniac pisanie aplikacji -- wiec chyba warto to raz a porzadnie zrobic niz w kazdej aplikacji sie meczyc. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Wiem, dlatego przebudowałem, ale coś nie działa hmmm... Na deskę kreślarską wraca
![]() ![]() Ten post edytował Turgon 16.01.2007, 10:02:48 -------------------- Jah Music Is On My Mind !
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Troche balaganiarski styl programowania. Pomine wciecia, bo nie wiem, czy naprawde tak piszesz, czy edytor zrobil Ci na zlosc i usunal tabulatory. Jednak nie trzymasz sie nazwenictwa - wszystko w FW w postaci turcoś.class.php, natomiast helpery nazwałeś ViewHelpers (dlaczego tu z duzych?). Znalazłem mały błąd, ktory może powodować w przyszłości złe wyświetlanie widoku:
Pozdrawiam, Adrian. |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Prph: Trzymam się, bo Helpery to cuś innego ;] dla mnie. Dzięki za tą funkcję, nie wiedziałem, że taka jest
![]() ![]() ![]() Więc porobiłem wam te wcięcia, a wy zajmijcie się oceną kodu... Nowy Preview wyszedł ;] Zmiany są znaczące ![]() -------------------- Jah Music Is On My Mind !
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jak już się Prph doczepił tych helperów to i ja to zrobie. Przytoczę kawałek kodu
nie przewidziałeś że np ktoś może sachceć dodać inne parametry, chociażby np style. Czyżby przeróbka funckji? Nie lepiej zrobić, żebym listę parametrów ładował w tablicy? Funkcje addTextInput() i addPasswordInput() w zasadzie różnią się słowem text/password, nie cierpie proceduralnego kopiowania kodu... Zabolała mnie jeszcze jedna rzecz. Mianowicie fetching zapytań masz w klasie turquery.class.php, wykonanie ich turquery.class.php, obsługę bazy w tursql.class.php. Powiem tak: SYF. Klasa odpowiedzialna za baze danych powinna stanowić całość. A jak użyja innej bazy danych niż MySQL to chyba komponent turquery.class.php nie pójdzie do kosza? używasz tam funkcji do obsługi mysql... radzę zrobić jedność. Aby połączyć się z bazą muszę także ręcznie wywołać metodę za to odpowiedzialną. Nie wiam jak u Ciebie, ale u mnie w modelu podajesz nazwę klasy odpowiedzilną za obsługę źródła danych, wówczas konfigi, połączenie itd wykonuje się samo ![]() W dispatcher po co static? Obsługa uzytkownika (o mój Boże). Znowu jestem uzależniony od mysql... klasa chyba powinna TYLKO przechowywać info o nim, zbieranie danych z bazy danych to Model ![]()
po co... a nie lepiej wsadzić w template <?= $sText ?> albo <?php= $sText ?> , nie ma to jak szybkość działania. Rozumiesz co to zmienne statyczne?
Używa się ich zazwyczaj w metodach statycznych, a Ty kombinujesz je w normalnych metodach wymagających instancji obiektu. Podsumowywując... nie jest najlepiej. Przynajmniej takie jest moje zdanie. Pozdrawiam, Athlan ![]() btw polecam zajżeć http://strzalek.net/blog/5/przyjazne-urle-piszemy-router ![]() Ten post edytował Athlan 16.01.2007, 15:53:16 -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Cytat btw polecam zajżeć http://strzalek.net/blog/5/przyjazne-urle-piszemy-router Odpada ten sposób! PATH_INFO jest blee i tyle. Cytat nie przewidziałeś że np ktoś może sachceć dodać inne parametry, chociażby np style. Czyżby przeróbka funckji? Nie lepiej zrobić, żebym listę parametrów ładował w tablicy? Funkcje addTextInput() i addPasswordInput() w zasadzie różnią się słowem text/password, nie cierpie proceduralnego kopiowania kodu... Może, mi tego nie potrzeba, ale może jak będę miał trochę wolnego czasu to napiszę, to. Cytat Zabolała mnie jeszcze jedna rzecz. Mianowicie fetching zapytań masz w klasie turquery.class.php, wykonanie ich turquery.class.php, obsługę bazy w tursql.class.php. Powiem tak: SYF. Klasa odpowiedzialna za baze danych powinna stanowić całość. A jak użyja innej bazy danych niż MySQL to chyba komponent turquery.class.php nie pójdzie do kosza? używasz tam funkcji do obsługi mysql... radzę zrobić jedność. Aby połączyć się z bazą muszę także ręcznie wywołać metodę za to odpowiedzialną. Nie wiam jak u Ciebie, ale u mnie w modelu podajesz nazwę klasy odpowiedzilną za obsługę źródła danych, wówczas konfigi, połączenie itd wykonuje się samo smilingsmiley.gif O jedności za przeproszeniem gówno prawda... http://www.codeigniter.com/user_guide/database/examples.html Popisałeś się też logiką w modelu podajesz nazwę klasy odpowiedzialną za obsługę źródła danych. Model to ma robić ! Jakie tutaj configi (przez "c" piszemy w takiej formie jak coś). Może czasem nie potrzebuje się łączyć z bazą danych... Cytat po co... a nie lepiej wsadzić w template <?= $sText ?> albo <?php= $sText ?> , nie ma to jak szybkość działania. Nie podoba się ? Wyłączasz. Mam inne upodobania. Cytat po co static? Potrzebuje w funkcji getVendor() info o app. Bo nie mam ochoty tego wpisywać za każdym razem... Zdravim Łukasz Ten post edytował Turgon 16.01.2007, 16:43:27 -------------------- Jah Music Is On My Mind !
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Odpada ten sposób! PATH_INFO jest blee i tyle. Niezłe uzasadnienie, powiedziało mi bardzo dużo ![]() ![]() http://framework.vgroup.pl/expose-da42a823...1a0c8c2612b.htm Cytat O jedności za przeproszeniem gówno prawda... Chcesz kolejnego warna od mike_mech? ![]() ![]() Ale nie "gówno prawda", napisałeś w pewnym momencie: Cytat Popisałeś się też logiką w modelu podajesz nazwę klasy odpowiedzialną za obsługę źródła danych. [ ... ] Może czasem nie potrzebuje się łączyć z bazą danych... Dzięki, to komplement? Jeżeli nie chcesz się łączyć to chyba nie uzywasz w modelu połączenia z bazą danych nie? U Ciebie jednak nawet jeżeli połączenia nie potrzebuję, muszę się łączyć. zacytuję tutaj linie kodu index.php żeby nie było nieporozumień:
Cytat Jakie tutaj configi (przez "c" piszemy w takiej formie jak coś). Tutaj powini wypowiedzieć się ludzie odpowiadający za gramatykę. Nie napiszesz Configuracja tylko konfiguracja, tak samo nie będziesz pisał Controller tylko Kontroler, nie Computer tylko Komputer. To są swego rodzaju neologizmy wprowadzone (już na stałe) do przeciętnego użytku języka polskiego przez programistów. Pozdrawiam, Athlan ![]() -- [edit ] -- O widzę, że zedytowałeś post i dorzuciłeś linka do Manuala CI. Najpierw pomyśl, potem rzucaj linkami. Jawet w CI fetching, querying i połączenie odnoszą się do tego samego komponentu ładowanego poprzez $this->db-> ... ![]() Pozdrawiam ![]() Ten post edytował Athlan 16.01.2007, 16:55:03 -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 800 Pomógł: 0 Dołączył: 26.11.2005 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Athlan, nie mam ochoty pisać kolejnego klona ZF, co ty zrobiłeś. I co nie łaska jak nie potrzebujesz wywalić connect ?
-------------------- Jah Music Is On My Mind !
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 23:04 |