Cytat
O ile w takim linuxie to jest zajebista sprawa, to póki co żeby bawić się czymś takim w php to pierwszy raz słyszę. Człowiek starej daty jestem

Może jeszcze mi powiesz, że o narzędziach do budowania projektów Ant, Maven, Phing, wspomniany wcześniej Composer itp. itd. też nie słyszałeś? Chcesz wspierać PHP 5.2 i starsze... na prawdę pora na lekkie odmłodzenie swojego warsztatu.

Cytat
No jak ktoś to ściąga ode mnie ze strony to chyba wie, gdzie ma zgłaszać błędy

A co jak odziedziczę po kimś projekt, gdzie Twoja biblioteka będzie już w użytku? Tyle dobrze, że Twojego bloga da się wygoogleać po Twoim imieniu i nazwisku.
Cytat
Faktycznie, masz rację, nie sądziłem, że ktoś może potrzebować oddzielnych katalogów kiedykolwiek. Przez tyle lat jak programuje, nie widziałem takiego cuda, a wysyłkę maili realizowałem nie raz, stąd też i do głowy mi nie wpadło coś takiego. Naprawdę w praktyce takie rzeczy się dzieją?
Tak, i cała masa innych też. Ja też nie przewidzę całej masy przypadków, które Ty byś nazwał powszechnymi. Dlatego tak istotne jest pisanie wg reguł i standardów oraz pisanie testów. Te ostatnie w miarę szybko pozwalają wyłapać kompletnie spierniczony interfejs biblioteki.
Przed udostępnieniem biblioteki pisanej pod siebie szerszej publiczności, niemal zawsze trzeba coś poprawić.
Cytat
Na upartego można zmienić wartosci tych zmiennych a po odpaleniu widoku powrócić do starych
Takie coś to ostateczność, jak się trzeba ze słabą biblioteką obchodzić, bo alternatywy nie ma, a autor poprawić niczego nie chce.

Apropos alternatyw - nie napisałeś w czym Twój kod jest lepszy od istniejących, które część z nas zna, posiadających sporą społeczność. Jaki jest killer feature tej biblioteki?

Cytat
Jak już pisałem ja jestem człowiek starej daty i takich super hiper wypasionych pro bzdur nie używam. Naprawdę nie lubię ani sobie ani innym komplikować życia.

Te cuda z reguły powstają z potrzeby i rozwiązują jakieś problemy. Jak są dobrze napisane to nie tworzą też zbyt wielu problemów. Mimo iż kiedyś twierdziłem inaczej, czyste PHP słabo się sprawdza w roli szablonów. Pomijając trywialne przypadki.
Cytat
Czemu uważam, że tutaj wyjątek jest nie potrzebny? Nie wyobrażam sobie sytuacji, że moja strona ma nagle przestać się normalnie wyświetlać tylko dlatego że z jakiegoś powodu zniknęła jakaś zmienna czy zninkął plugin z wyświetlaniem gdzieś na boku strony paru ostatnich komentarzy....
Bardzo, bardzo, bardzo złe podejście. Najmniejszy błąd powinien skutkować wywaleniem całej strony i cofnięciem wszystkich zmian jakie mogły zajść w systemie (patrz: m.in. transakcje). Wyobraź sobie, że masz formularz i przez jakąś głupią zagubioną zmienną nie wyświetlił się przy nim odpowiedni komunikat. Użytkownik klika szczęśliwy, a po przeładowaniu strony wielkie zdziwienie bo na koncie brakuje 100 zł. Czemu? Bo programista uznał, że jak się nie wyświetli wielki komunikat z informacją, że dana akcja jest płatna to nic się nie stanie.
Swoją drogą, wyjątki nie służą do obsługi sytuacji wyjątkowej tylko do obsługi błędów.
Cytat
Jak pisałem naprawdę tego nie potrzebowałem. A nie potrzebowałem z bardzo prostej przyczyny: staram się pisać poprawny kod html. Używanie apostrofów do łapania atrybutów tagów jest nie poprawnym sposobem. Do tego używa się cudzysłowi. Wystarczy trzymać się tej prostej zasady i życie staje sie prostrze

Zarówno XML jak i HTML - o porąbanym HTML5 nie wspominając - wspierają wartości w apostrofach:
http://www.w3.org/TR/REC-xml/#NT-AttValue Sam też z tego staram się nie korzystać, ale można to robić, jest to jak najbardziej poprawne i wiele osób to robi. Pisałem już, że udostępniając coś publicznie, nie można wrzucić kodu pisanego stricte pod własne preferencje. Mówiąc wprost: Twój system szablonów polega na chwilę obecną przy najbardziej trywialnym zadaniu, jakim jest ochrona przed XSS.
Cytat
Może swoje lata i ma, ale ciągle napotykam na serwery, gdzie php5.3 to jeszcze odległa przyszłość.
Musiałeś zachować kompatybilność z PHP <5.3? OK. Ale i tak powinieneś trzymać się standardów (chociażby nazewnictwa klas).
Cytat
Ba, bo tylko jeden jest potrzebny.
Nie, nie jest. Co jeżeli będę mieć jakąś metodę wywołującą Twoją metodę od renderowania?
function a() {
$dane = ...;
return $this->abc('bla1', $dane);
}
function b() {
$dane = ...;
return $this->abc('bla1', $dane);
}
function c() {
$dane = ...;
return $this->abc('bla2', $dane);
}
function abc($szablon, $dane) {
$dane->set('xxx', '123');
return $this->twojObiekt->render($szablon, $dane);
}
Tutaj backtrace co najmniej dwóch odwołań wstecz jest potrzebny.
EDIT:
Cytat
Jeszcze powrócę do zmiennych statycznych. Napisałeś Crozin, że jak ktoś chce nowy obiekt z innymi lokalizacjami to ma problem.
Ja zaś skolei dałem zmiennej statyczne właśnie spowodu odwrotnej sytuacji: gdy ktoś chce nowy obiekt z dokładnie takimi samymi lokalizacjami co główny widok. Gdyby to były zmienne obiektu, musiałby je na nowo ustawiać na takie same jak ma obiekt główny. ALbo pisać klasę dziedziczącą i nadpisywać metode CreateInstance. A tak nie musi nic takiego robić. A sytuacja, gdy ktoś potrzebuje nowego obiektu ale z tymi samymi parametrami wydaje mi się częstrza niż Twoja.
Whoa, whoa... to przecież wystarczy utworzyć sobie obiekt raz i korzystać z tego samego tam gdzie potrzebujesz? Albo utworzyć sobie fabrykę/repozytorium obiektów View? Każde z tych rozwiązań jest bez porównania lepsze od użycia zmiennych statycznych.