![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 8.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak jak w temacie, w jakim celu warto korzystać z after i before podczas tworzenia widoków na bazie templatu?
pozdrawiam Grześ |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
http://kohana.sher.pl/2009/10/hello-world-w-kohanie-3-0/ - czasem wystarczy pogooglać.
A w jakim celu? Choćby dla pobrania/zapisania całego zrenderowanego widoku do cache. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 8.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jak działają te metody to wiedziałem, ale o wykorzystaniu ich do keszowanie to nie pomyślałem. Ale masz racje to się super sprawdzi.
Czy mogłoby to działać tak: before{ //sprawdzam, czy widok został zapisany do zmiennej i czy nie jest zbyt stary, jeśli jest ok, to wczytuje go do jakiejś zmiennej, np $view2 } jakasKlasa{ //sprawdzam czy $view2 jest niepuste, jeśli tak to zwracam zawartość tej zmiennej, jeśli nie to generuje widok } after{ //zapis widoku do keszu } Chciałem jeszcze zapytać, czy znasz jakiś tutorial albo czy sam mógłbys napisac jak działa system keszowania wbudowany w KO3? Znalazłem taką klasę, ale nigdzie nie mogę znaleźć jakiegoś przykładu i nie wiem jak ten kesz działa. A w ogóle to dzięki za arta o różnych systemach keszownaia na Twoim blogu. pozdrawiam Grześ |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ale po co katować kod każdej akcji sprawdzaniem, czy jest zmienna?
Nie pamiętam, czy w Kohana było coś takiego, jak byPassAction (na ten temat niech się spece wypowiedzą), ale wtedy wystarczą same metody before/after -> będzie to wówczas rozwiązanie najbardziej uniwersalne. I wysyłanie zbuforowanych danych powierzyłbym metodzie after; kto wie, czy jakieś nagłówki nie będą po drodze wysyłane. Cytat Chciałem jeszcze zapytać, czy znasz jakiś tutorial albo czy sam mógłbys napisac jak działa system keszowania wbudowany w KO3 KO3? Pierwsze słyszę... -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 8.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mój błąd, jest Route::cache, nie rozgryzłem do czego służy ale nie jest to kesz o jaki mi chodzi. Jeśli wiesz do czego to służy to pisz śmiało.
Czy mógłbyś rozwinąć swoją wypowiedź o keszowaniu. Szczególnie ten fragment Cytat "Ale po co katować kod każdej akcji sprawdzaniem, czy jest zmienna?" ? Nie wiem jak ominąć sprawdzanie zmiennej z keszem, jeśli da się to zrobić, to bardzo chciałbym się dowiedzieć jak?![]() Dopiero niedawno zacząłem prace z KO3 i jest to mój pierwszy framework, więc proszę o wyrozumiałość. pozdrawiam G |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Kohana ma wewnętrzny cache (Kohana::cache()), który przechowuje ścieżki do plików aby przyspieszyć ich wyszukiwanie, ale ma on pewne ograniczenia (przeczytaj sobie komentarz dla Kohana::cache() - "system/classes/kohana/core.php" lub moduł userguide "http://twojhost/guide/api/Kohana_Core").
Route::cache() służy co cacheowania zdefiniowanych ścieżek routera. Użycie np. takie:
Jeśli potrzebujesz biblioteki cache dla ko3 to na pewno są co najmniej dwie w repozytorium na github. // Edit: np. tu masz kohana-cache. Ten post edytował ziqzaq 19.05.2010, 18:52:43 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 8.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedź
Szczerze powiedziawszy to się teraz zupełnie pogubiłem. Przeczytałem kod źródłowy Kohana::cache i z opisu dowiedziałem się, że umożliwia on zapis do pliku (jako kod PHP). Czyli jeśli będę w ten sposób zapisywać widoki, to będę miał zwykłe pliki tekstowe? Czyli chyba to o co mi chodzi. Sprawdziłem na stronie z dokumentacją jak tego używać - proste. Komentarzy o których pisałeś nie było. Natomiast ten samsoir kohana-cache jest dużo ciekawszy bo pozwala na użycie sqlite zamiast sterty plików. BTW czy z github można ściągać całe biblioteki czy trzeba przeglądać każdy plik i osobno go kopiować? Jeszcze jedno jeśli można, po co keszować ścieżki poprzez Route::cache()? Na jakiej zasadzie to działa? pozdrawiam Przeglądając Kohana::cache znalazłem taki fragment (na samym początku): Kod // Cache file is a hash of the name $file = sha1($name).'.txt'; // Cache directories are split by keys to prevent filesystem overload $dir = Kohana::$cache_dir.DIRECTORY_SEPARATOR.$file[0].$file[1].DIRECTORY_SEPARATOR; Jaki jest sens odwoływania sie do zmiennej typu string tak jak do tablicy ? Kod $file[0].$file[1]
Ten post edytował grzestra 19.05.2010, 21:37:56 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Przeczytałem kod źródłowy Kohana::cache i z opisu dowiedziałem się, że umożliwia on zapis do pliku (jako kod PHP). Czyli jeśli będę w ten sposób zapisywać widoki, to będę miał zwykłe pliki tekstowe? Tak. Cache'owane dane będą serializowane i zapisywane do pliku tekstowego. Cytat BTW czy z github można ściągać całe biblioteki czy trzeba przeglądać każdy plik i osobno go kopiować? Po prawej na górze "Download source". Cytat Jeszcze jedno jeśli można, po co keszować ścieżki poprzez Route::cache()? Na jakiej zasadzie to działa? Po to aby nie budować wszystkich ścieżek z każdym wywołaniem tylko zrobić to raz. Cytat Jaki jest sens odwoływania sie do zmiennej typu string tak jak do tablicy ? Manual php strings "Example #8 Some string examples". Ten post edytował ziqzaq 19.05.2010, 22:21:49 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 8.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak. Cache'owane dane będą serializowane i zapisywane do pliku tekstowego. Cytat Po prawej na górze "Download source". Nie wiem jak mogłem tego nie zauważyć, eh co za dzień Cytat Po to aby nie budować wszystkich ścieżek z każdym wywołaniem tylko zrobić to raz. OK, czyli to odciąży nieco ruter i jakiś zysk na wydajności być powinien Cytat Manual php strings "Example #8 Some string examples". Ale zaćmienie miałem, chyba już zbyt późno :| dzięki again! ziqzaq a czy użycie keszu tak jak napisałem w 3 poście w tym temacie będzie dobre? Czy jakoś inaczej to zrobić? pozdrawiam Grześ ![]() ![]() ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 07:00 |