Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Klasa][PHP7] Cache
KsaR
post 8.06.2016, 17:50:00
Post #1





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


Źródło:
https://github.com/KsaR99/php-cache

Plik: class.Cache.php, zawiera klasę.
Plik: cache.php, to przykładowe zastosowanie.

Klas cache są miliony jednak chciałem stworzyć swoją własną, prostą. biggrin.gif

Do oceny:
  • Użyteczność
  • Co można poprawić żeby sobie/innym życia nie skomplikować
  • Jakość kodu (ciągle uczę się nią polepszać)


Zastanawiam się nad metodą do kasacji cache,
Jednak cache zazwyczaj się nie kasuje a podmienia.
Warto dodać? Jeśli tak to prosił bym też o przykład - po co.

Wszelkie uwagi mile widziane. tongue.gif

Ten post edytował KsaR 8.06.2016, 17:51:54


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
com
post 8.06.2016, 23:22:44
Post #2





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


Dobre IDE podpowie, że typ się zmienił, a Storm używa phpDoca do podpowiadania, tylko mnie rażą te nazwy typów UpperCasem.

No ale skoro może spowalniać to poco wgl ja trzymać jako opcje?

Cytat
Do tego throw Exception() przy użyciu namespace może wyrzucać błąd nieznalezienia klasy.


Nawet nie może tylko wyrzuci smile.gif

komentarze to nie
  1. /**
  2. *
  3. *
  4. */

tylko
  1. /**
  2.  *
  3.  *
  4.  */


No i czemu taka archaiczna konwencja nazewnictwa?
Gdzie PSR

Nazywaj jakoś sensownie te commity wink.gif

Z ścieżki i innych zrobiłbym VO, bo czemu klasa cache ma za to odpowiadać, czy one są poprawne, jak to nie jej rola.

I poco ustawiać wartości domyślne, parametrom którym wymuszasz ich zmianę?

Zaraz, ja muszę stworzyć sobie plik żeby do niego pisać?

poza tym else to zło, naprawdę nie można było

  1. if (!isset($path) || !file_exists($path)) {
  2. throw new \Exception('bla bla');
  3. }
  4.  
  5. $this->path = $path;


Btw treść commita to nie komentarz, bo wpisujesz tam to co ma znaczenie i utrudniasz sobie i innym czytanie commitów wink.gif

No i nazywaj te parametry tak żeby mówiły co robią, a nie np $compress - co sugeruje że coś jest skompresowane a nie wskazuje na flage itp

Skoro używasz dobrodziejstw php 7 to poco sprawdzać isset($compress) && $compress questionmark.gif bool to zawsze bool

zrób sobie jakaś metodę do budowania właściwej ścieżki, bo tak ciężko to testować/refaktorwać potem

Zrobiłem Ci pull requesta, bo za dużo tego było wink.gif

Ten post edytował com 8.06.2016, 20:58:01
Go to the top of the page
+Quote Post
KsaR
post 9.06.2016, 10:09:22
Post #3





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


Cytat(com @ 9.06.2016, 00:22:44 ) *
(...), tylko mnie rażą te nazwy typów UpperCasem.

No ale skoro może spowalniać to poco wgl ja trzymać jako opcje?

(...)No i czemu taka archaiczna konwencja nazewnictwa?
Gdzie PSR

(...)Zaraz, ja muszę stworzyć sobie plik żeby do niego pisać?

(...)No i nazywaj te parametry tak żeby mówiły co robią, a nie np $compress - co sugeruje że coś jest skompresowane a nie wskazuje na flage itp

(...)Zrobiłem Ci pull requesta, bo za dużo tego było wink.gif

Dzięki, wiele zmian dodałem w ostatnich 2 commitach.
Nie znalazłem nigdzie w PSR czy używać małymi czy dużymi te nazwy typów (było tylko o parametrach).
Jeśli ktoś poda konkretny link do PSR gdzie pisze że trzeba małymi to poprawie,
Póki co tak wg. mnie lepiej (typy z dużych, parametry z małych).

Co do opcji, jak pisałem domyślnie jest wyłączone.
Takie spowolnienie to jedynie użycie ternary operator - czyli żadne.
A tak się przydaje gzip do większych plików.

Co do tworzenia pliku -
metoda set() tworzy/aktualizuje, validate jedynie sprawdza czy plik istnieję i jest aktualny...
Więc nie rozumiem pytania.

Zmieniłem z $compress na $useGZIP ($isCompress mi nie odpowiadało, "jestKompresja" vs "użyjGZIP")....

JW. Jednak przeniosłem twoją metodę oraz pomysł na statyczne zmienne.
+ W poprzednim commicie zgodnie z komentarzem mrc skasowalem z komentarzy te typy które są zadeklarowane w metodzie - ty je znów dodałeś.
___________
Co do ".dat", zostaje przy ".txt" - jako ze to pliki tekstowe.
Jednak zmienilem ze rozszerzenie bedzie ".gz" dla plików skompresowanych niezależnie od tego co się poda w konstruktorze.


--------------------
Go to the top of the page
+Quote Post

Posty w temacie
- KsaR   [Klasa][PHP7] Cache   8.06.2016, 17:50:00
- - kapslokk   Przydała by się możliwość cachowania innych typów ...   8.06.2016, 18:19:32
- - Pyton_000   Kompresja gz. Do wywalenia. Jedynie spowalnia cało...   8.06.2016, 18:33:23
- - mrc   Więcej dokumentacji, niż właściwego kodu   8.06.2016, 18:53:58
|- - KsaR   Cytat(kapslokk @ 8.06.2016, 19:19:32 ...   8.06.2016, 19:44:54
- - mrc   Co do phpdoc dla metod: całkiem niepotrzebny jest ...   8.06.2016, 19:54:42
- - com   Dobre IDE podpowie, że typ się zmienił, a Storm uż...   8.06.2016, 23:22:44
|- - KsaR   Cytat(com @ 9.06.2016, 00:22:44 ) (.....   9.06.2016, 10:09:22
- - Pyton_000   Skoro mamy już $extension i $isCompresse...   9.06.2016, 07:13:13
- - com   Ok uwzględnię, zastanawiałem się nad tym   9.06.2016, 09:09:53
- - Pyton_000   http://www.php-fig.org/psr/psr-2/#2-5-keyw...true-...   9.06.2016, 10:19:35
|- - KsaR   Cytat(Pyton_000 @ 9.06.2016, 11:19:35...   9.06.2016, 10:26:48
- - Pyton_000   tak ale string, int, bool to też keywordsy więc do...   9.06.2016, 10:27:25
- - kapslokk   Poza tym upper case chyba zawsze był zarezerwowany...   9.06.2016, 10:34:48
- - com   https://github.com/php-fig/fig-standards/bl...-sty...   9.06.2016, 10:51:31
- - nospor   Mnie tez porazily te STRINGi... [PHP] pobierz, pl...   9.06.2016, 10:51:57
- - com   nospor Tylko wtedy mamy 2 odpowiedzialności tim...   9.06.2016, 10:58:39
- - nospor   tak, tak, time, szybko pisze bo jestem sledzony ...   9.06.2016, 11:01:14
- - com   A i chodziło mi o konwencje nazywania plików Ows...   9.06.2016, 11:04:47
- - nospor   CytatOwszem jest to problem, no to najwyżej dostan...   9.06.2016, 11:05:25
- - KsaR   Co do lowercase keyword, argument z https://github...   9.06.2016, 11:24:00
- - nospor   nie return false a return null   9.06.2016, 11:57:50
|- - KsaR   Cytat(nospor @ 9.06.2016, 12:57:50 ) ...   9.06.2016, 12:10:12
- - nospor   funkcja set powinna zwraca true lub false w zalezn...   9.06.2016, 12:17:45
|- - KsaR   Cytat(nospor @ 9.06.2016, 13:17:45 ) ...   9.06.2016, 12:23:47
- - Fred1485   Przepraszam, że się wtrącę Dlaczego zdecydowałeś...   9.06.2016, 12:23:51
|- - KsaR   Cytat(Fred1485 @ 9.06.2016, 13:23:51 ...   9.06.2016, 12:43:59
- - nospor   CytatCo do parametrów $useGZIP ma domyslnie f...   9.06.2016, 12:28:18
- - nospor   CytatAle static do tego żeby należały tylko do kla...   9.06.2016, 12:49:03
- - KsaR   Ok. Poprawiłem   9.06.2016, 13:01:51
- - viking   [PHP] pobierz, plaintext $c = new KsaRComponentsCa...   9.06.2016, 13:15:41
- - Pyton_000   A jak chcesz zmienić ext i nie gzipować to też źle...   9.06.2016, 13:36:21
- - nospor   Jeszcze taka pierda ale strasznie drazni oko: th...   9.06.2016, 14:44:36
- - viking   A jak już to raczej PHP_EOL   9.06.2016, 14:52:01
- - com   Tylko że w systemie nie masz x instancji tego cach...   9.06.2016, 20:12:53
|- - KsaR   Cytat(com @ 9.06.2016, 21:12:53 ) Tyl...   9.06.2016, 20:48:00
- - com   CytatInstancje mogą być różne... $cacheMessag...   9.06.2016, 21:17:49
- - KsaR   Ok. Dodałem tako-jako wsparcie dla tablic i obiekt...   9.06.2016, 22:29:02
- - com   Jasne https://kacper.gunia.me/ddd-building-blocks....   9.06.2016, 22:43:12
- - Pyton_000   Z tą piramidą chodziło o to że zamiast: Kod if ...   10.06.2016, 06:42:04
- - com   Jeśli już bardzo chcesz to typ jako stała, nigdy 0...   10.06.2016, 11:55:45
|- - KsaR   Cytat(com @ 10.06.2016, 12:55:45 ) Je...   10.06.2016, 22:25:14
- - com   Ale jako parametr ma być stała przekazywana równi...   11.06.2016, 16:42:31
- - LowiczakPL   Czy czasami nazwy stałych nie powinny być napisane...   11.06.2016, 17:52:30
- - com   Powinny Zgodnie z PSR, bo php dopuszcza, bo to t...   11.06.2016, 17:56:53
- - LowiczakPL   Dodatkowo dałbym strategię dla typów kesza, co zli...   11.06.2016, 18:13:03
- - com   Owszem można by zrobić fabrykę nawet I nie żadne...   11.06.2016, 18:31:33
|- - KsaR   Cytat(com @ 11.06.2016, 19:31:33 ) Ow...   11.06.2016, 18:41:33
- - com   chodzi o to, że tak jest poprawnie: throw new ...   11.06.2016, 18:49:38


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: 25.06.2025 - 10:40