![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Jako że mi się troche nudziło, a pozatym chce sobie napisać na szybko prostą strone napisałem bardzo prostego frameworka w php.
Główne zalozenia to do pisania prostych stronek blog/ksiega gosci/wyswietlanie roznych danych. Jest napisany tak zeby nie miec burdelu w kodzie i w miare ładnie to rozpisane, czyli nie mieszkac warstwy biznesowej z szablonami. Zip: http://hwao.strefaphp.net/poligon/framework.zip Source online: http://hwao.strefaphp.net/subdomains/repos...-php5/index.php <span style="font-style: italic;">Po lewej <span style="font-weight: bold;">framework-php5</span></span>... Postanowiłem pokazać, może jakiemus poczatkujacemu programiscie troche rozjasni w głowie, jak zwykłe czekam na pytania - chetnie odpowiem. Oczywiscie jak coś będe pisał to kod sie bedzie rozbudowywał, wiec bede wrzucał poprawione czesci, jezeli ktos coś dopisze to też może pokazać - chetnie dodam. Pozdrawiam Poprawiłem linki, do źródeł |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 406 Pomógł: 9 Dołączył: 24.07.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
juz jest ok (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Mialem ustawione php 4 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
thx hwao za przyklady ! Ten post edytował vieri_pl 25.02.2006, 18:08:43 |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
~vieri_pl to jest kod pod php5
A po błędzie widzę, że chyba masz wcześniejszą wersję. |
|
|
![]()
Post
#4
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Dobra dodam jeszcze dziś WebRequest:
Służy do obslugi tego co klient nam wysyla (zostały jeszcze $_FILES ale to osobny obiekt)... Uzycie Żądanie: http://strona.pl/?hwao='cos%20%3Cb%3Eb...#39;%jazda' Typ żądania : GET Kod php:
Wyniki: Kod '\'cos <b>bold</b>Where `hwao` Like \'%jazda\'' (length=45) ''cos <b>bold</b>Where `hwao` Like '%jazda'' (length=54) Warto zapoznac sie z sposobem pobierania zmienych:
Na przykladzie $_GET['hwao'] 1 - wymagana - klucz jakiego szukamy czyli unas 'hwao' 2 - gdzie szukamy - domyslnie GET GET = WebRequest::GET lub string 'get' lub 'g' wielkosc liter obojetna Analogicznie z Post WebRequest::POST 'post' 'p' i cookie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) 3 - nie wymagany - True/False - czy chcemy zastapic na encje kod html, domyslnie FALSE 4 - nie wymagany - True/False - czy kod bedzie zapisywany w bazie danych (usuwanie znacznikow zagrazajacych naszemu sql (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) domyslnie FALSE 5 - nie wymagany - String - mozemy chciec jakos ekstra zformatowac zmienna składnia sprintf(). To narazie tyle ide coś zjeść (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Całość jest dostepna jako OS wiec róbta co chceta... ps milo by bylo zostawic informacje o autorze.. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 505 Pomógł: 0 Dołączył: 8.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
hm, ciekawa sprawa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) musze to przestudiowac
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 23.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam pytanie: po co sa puste konstruktory? Jest jakas roznica od tego czy jest pusty konstruktor czy w ogole go nie ma?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 0 Dołączył: 23.08.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Może głupie pytanie, ale jestem nie kumaty pewnie: Jak w ogole odpalić ten skrypt? Wyswietla mi sie tylko napis: Index a niżej 'hwao' i nic. Mam php5 itp. A katalogi i scieżki są raczej dobre.
|
|
|
![]()
Post
#8
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Cytat(Vomit @ 2006-02-25 19:31:31) Mam pytanie: po co sa puste konstruktory? Jest jakas roznica od tego czy jest pusty konstruktor czy w ogole go nie ma? Wiekszego znaczenia to nie ma: Ale dreklaruje je jako PUBLIC zeby bylo wiadomo jak bedzie tworzo ny obiekt. Pozatym z doswiadczenia wiem, ze zazwyczaj przydaja sie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) np jak chce dodac WebRequest to w pliku WebController.php
i wszytko smiga ładnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jezeli mamy konstruktor PROTECTED/PRIVATE to musimy postawic jak w przypadku konstruktora WebRequest, czyli wymuszam tam ze ma byc tylko jeden obiekt:) Cytat Może głupie pytanie, ale jestem nie kumaty pewnie: Jak w ogole odpalić ten skrypt? Wyswietla mi sie tylko napis: Index a niżej 'hwao' i nic. Mam php5 itp. A katalogi i scieżki są raczej dobre. Wszytko jest dobrze wiec pokoleji plik index.php
W ostaniej linijce opokazanej tutajjest wybierany model jaki ma zostac uruchomiony, poniewaz system rozpozna ze w $_GET['action'] nic nie ma, badz tez wskazana akcja nie istnieje zostaje odpalona domyslna (czyli 2 parametr tej metody). Odpala sie model/index.php Tam w klasie Index masz metode Perform
Ktora poprostu wysyla dane do Szablonu ( $text = 'hwao' ) jako ze zadnego specjalnego wybierania szablonu nie zrobilismy zostaje odpalony plik templates/index.tpl w ktorym mamy
Rezultaty tego widzisz na ekranie To jest prosty krzyklad jezeli chcilabym tam np wydobyc newsy to np robisz tak model/news.php
Teraz zgodnie z zalozeniami robimy takie cos, nie wybieramy w modelu szablonnu (mozemy to zrobic poprzez danie $this->sTemplate = 'jakis_plik.tpl' wtedy odpalony zostanie templates/jakis_plik.tpl) Wiec toworzymy plik templates/news.tpl i w nim np
i mamy w wyswietlanie newsa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Oczywiscie do Widoku mozna podpiac np smarty wtedy szablony beda jeszcze prostrze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 0 Dołączył: 23.08.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dzieki za info (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 23.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Hm, jaka jest zasadnicza ronizca miedzy polem private a protected?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
|
|
|
![]()
Post
#12
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Cytat(Vomit @ 2006-02-25 23:52:37) Hm, jaka jest zasadnicza ronizca miedzy polem private a protected? private/protect "widzi się" (ma sie dostep) tylko w klasie (w przeciwienstwie do public). Rożnica miedzy nimi jest taka ze private widzisz tylko w tej klasie gdzie jest zdeklatowane a klasa dziedziczaca nie ma juz do niej dostepu, w protected klasy dziedziczace maja do niej dostep. Tak jak napisal Scanner masz wiecej na ten temat w tym linku\ i nie potrzeba znajomosci specjalnej angielskiego, wystarczy przyklad |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 23.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ok, dzieki. Wyczytałem wszystko czego nie wiedzialem.
PS. Hwao: czemu zastosowales tutaj Singleton? |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Vomit @ 2006-02-26 11:42:43) Ok, dzieki. Wyczytałem wszystko czego nie wiedzialem. PS. Hwao: czemu zastosowales tutaj Singleton? To chyba oczywiste, że żądanie jest jedno. Więc powinien być jeden obiekt. Jak sobie wyobrażasz stworzenie dwócyh obiektów, które operują na $_GET ? Zwłaszcza jeśli zrobusz unset($_GET) ... to kolejny obiekt do czego się odwoła? Do pustej tablicy? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#15
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Dokładnie dlatego jak powiedział sf (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Request w php jest jeden (czyli wysyłanie zadania do serwera-najczęściej Apache), nie tak jak w innych językach, typu c++ gdzie aplikacja pracują cały czas. Dlatego za stosowne uważam użycie Singleton'u w całym systemie jest jedna żądanie wiec i obiekt powinien być jeden, dodatkowym plusem jest łatwość do jego dostępu, lecz i tu się spotyka rożne opinie. Niektórzy uważają że lepiej jest przekazywać Request jaka jakaś właściwości, w jakimś obiekcie, dzięki temu trafia zawsze tam gdzie jest potrzeby do użycia (w praktyce). Z własnego doświadczenia przypuszczam, że jakbym obiekt był możliwy do utworzenia przez new WebRequest co mniej doświadczeni użytkownicy po prostu by tworzyli za każdym razem nowa instancje obiektu co mija sie z celem, a Singleton wymusza poprawną. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 23.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
WebRequest to jest to samo co httpRequest?
|
|
|
![]()
Post
#17
|
|
Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
na to wygląda=] ale hwacz musial sie wygryzc i nazwac to inaczej:P
|
|
|
![]()
Post
#18
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Cytat(Vomit @ 2006-02-26 15:34:01) WebRequest to jest to samo co httpRequest? Tak "to samo" Cytat na to wygląda=] ale hwacz musial sie wygryzc i nazwac to inaczej:P httpRequest to wiecej liter od WebRequest pozatym lepiej chyba zapamietac WebRequest pozatym -> WebController wiec analogicznie mamy request Web, do konsoli mozna dopisac ConsoleRequest i ConsoleController |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 23.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
hwao: moglbys pokazac jakis przykład z akcja a nie tylko z modelem. Bede bardzo wdzieczny.
|
|
|
![]()
Post
#20
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Cytat(Vomit @ 2006-02-26 17:18:18) hwao: moglbys pokazac jakis przykład z akcja a nie tylko z modelem. Bede bardzo wdzieczny. jak tylko znajde chwile to dopisze obsluge akcji. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 12:11 |