Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Autorski framework, czy udostępnić?
matrik
post 9.02.2015, 11:21:08
Post #1





Grupa: Zarejestrowani
Postów: 115
Pomógł: 2
Dołączył: 23.07.2009

Ostrzeżenie: (0%)
-----


Witajcie
Chciałbym udostępnić autorski system framework, który teoretycznie (hmm, nawet praktycznie) kładzie inne systemy.
Wykonałem prosty test na surówkach dwóch frameworków. Konfig domyślny i bez połączenia z bazą danych.
Zwykłe wyświetlenie tekstu "Hello world!". Bez wykorzystania eAccelerator'a

CodeIgniter: [0.011924028396606] 1 mb
Yii: [0.050626039505005] 5 mb
Autorski: [0.005169153213501] 768 kb

System jest okrojony i pozbawiony śmieci takich jak generatory do tworzenia formularzy czy też tworzenie zapytań SQL.
Tworzony był dla szybkiego stawiania serwisów (wiele stron korzystało i korzysta z tego systemu), dlatego nie ma wzorca projektowego MVC, lecz autorski model CCV (Controller - Component - View) dzięki któremu osiąga takie wyniki (ale czepiając się innych frameworków zasada działania jest bardzo zbliżona).
Ładowarka klas Singleton i Router nieszablonowego wywoływania kontrolerów.

Yii czy CI nie powinien ładować bibliotek, których nie potrzebuje aktualnie więc co o tym sądzicie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post 9.02.2015, 15:52:01
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Wszystko co jest za throw nie zostanie wykonane, tak samo jak wszystko co jest za exit, die, return i podobnymi, więc ten return false tam jest zbędny. is_file zwraca tylko czy plik istnieje, a plik może istnieć ale możesz nie mieć do niego uprawnień. Warunek:

Kod
if(self::$baseClass[$strtolower])
{
    // some code
}


będzie wyświetlać notice jeżeli włączysz raportowanie błędów na E_ALL. require_once jest zbędny (i wolniejszy) jeżeli wcześniej i tak sprawdzasz czy klasa już istnieje.

Kiepsko trochę, sporo błędów logicznych. Nie zrozum mnie źle, ale śmieszne trochę jest kiedy mówisz o super optymalizacji, jednocześnie używając wyrażenia regularnego do wyszukiwania "stałego" ciągu. O czym nawet jest napisane w dokumentacji preg_match, że jak masz go użyć do wyszukania ciągu w podciągu, użyj strpos lub strstr. Niby to nie jest jakaś kolosalna różnica, ale to już widać na pierwszy rzut oka że nie bardzo wiesz jak dane funkcje/elementy języka działają. Tak samo mnie zastanawia, bo napisałeś że jest bezpieczny jak ktoś nie korzysta bezpośrednio z post, get etc. Czyli co, ty te dane traktujesz htmlspecialchar w jakiejś pętli, czy jak?

Konkluzja jest taka, że twój "framework" jest szybszy od innych, bo nie ma wielu innych ficzerów. Jakbyś miał z użyciem 2 frameworków napisać 2 takie same aplikacje, i użył byś swojego fw, jak i powiedzmy laravela; to jest wysokie prawdopodobieństwo że w obu przypadkach te prędkości czy użycie danych będą bardzo zbliżone.

Ten post edytował by_ikar 9.02.2015, 15:53:01
Go to the top of the page
+Quote Post

Posty w temacie
- matrik   Autorski framework, czy udostępnić?   9.02.2015, 11:21:08
- - rad11   Tylko tyle? I ze niby ma kłaść narzędzia dla progr...   9.02.2015, 11:25:09
- - Pyton_000   Cyferki to i Ja Ci mogę pokazać. Mogę Ci nawet pow...   9.02.2015, 11:31:57
- - aniolekx   Napisałeś jakieś testy do niego? (TDD, BDD), jeżel...   9.02.2015, 11:53:05
- - pyro   Testowanie szybkości frameworka poprzez `echo ...   9.02.2015, 11:54:23
- - matrik   Chodziło mi tylko o wyrażenie opinii na ten temat ...   9.02.2015, 11:57:00
- - Forti   CytatJak zwykle na tym forum chamstwo jakiego nie ...   9.02.2015, 12:02:15
- - matrik   Forti Krytyka czasem jest taka, że czasem trzeba s...   9.02.2015, 12:14:23
- - Janusz1200   Za mnie framework ma robić 3 rzeczy: 1. bezpieczeń...   9.02.2015, 12:17:07
- - Pyton_000   @matrik trochę więcej samokrytycyzmu. Co z tego że...   9.02.2015, 12:21:11
- - by_ikar   Wydajność może być super, bez żadnych libów, nakła...   9.02.2015, 12:58:34
- - fizzlebubble   Yet another PHP framework... Jeśli dla Twoich zast...   9.02.2015, 13:02:10
- - matrik   Jeśli chodzi o "Hello World!" to spe...   9.02.2015, 13:07:25
- - pyro   @matrik, jeżeli tak bardzo Ci zależy na milisekund...   9.02.2015, 13:15:31
- - !*!   14 postów w temacie, a Wy rozmawiacie o czymś co i...   9.02.2015, 13:19:40
|- - b4rt3kk   Cytat(!*! @ 9.02.2015, 13:19...   9.02.2015, 13:27:17
- - Pyton_000   Ojj tam @!*! Trzeba jakoś dzień odreagować...   9.02.2015, 13:25:58
- - matrik   Nie wiem co z tym... Wrzuciłem: smarty (wiem, że o...   9.02.2015, 13:41:53
- - Forti   Dawno nie widziałem takiego "nested if/else...   9.02.2015, 13:58:22
|- - matrik   Cytat(Forti @ 9.02.2015, 13:58:22 ) D...   9.02.2015, 14:06:53
- - !*!   Cytat(matrik @ 9.02.2015, 11:21:08 ) ...   9.02.2015, 14:16:45
- - by_ikar   Wszystko co jest za throw nie zostanie wykonane, t...   9.02.2015, 15:52:01
- - Pyton_000   @up Ba, ten kod który został pokazany można by był...   9.02.2015, 16:02:48
- - vokiel   Ok, skoro jest kod do review, to zrobię pobieżny (...   9.02.2015, 20:58:44
- - solificati   Cytat(matrik @ 9.02.2015, 11:21:08 ) ...   9.02.2015, 21:58:41
- - Neymar11   Cytat(matrik @ 9.02.2015, 11:21:08 ) ...   20.02.2015, 01:59:08
- - peter13135   Skoro kładziesz na lekkość, to po co w Twoim FW sm...   21.02.2015, 11:14:53


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 19:07