Salutare!!!!
Ei.... asta este exact tipul de discutie constructiva pe care o caut, multumesc!!!
1. Buna intrebare si destul de greu sa raspund!!
Php-ul cred ca a devenit un limbaj popular mai ales datorita simplitatii, dupa care framework-urile au completat oarecum neajunsurile prin adaugarea de "facilitati" necesare dezvoltatorilor pentru a creste productivitatea, a permite reutilizarea codului,....
In primele mele aplicatii am folosit Zend, deoarece era cel mai popular (si se pare ca este in top inca, alaturi de Yii, CI, s.a.). Nu pot sa spun ca am fost un mare adept al lor deoarece adauga un nivel de complexitate, de multe ori documentatia nu era de ajuns si aveam nevoie sa "sap" pentru a gasi raspunsurile.
Pe scurt, Zend mi-a rezolvat problemele dar mi-a creat altele asa ca am incercat sa imi construiesc pe cat posibil, un framework propriu ... suna cunoscut tuturor

Dar nici acest framework nu a fost ok deoarece era foarte specializat pe un anume tip de aplicatii si daca faceam o schimbare atunci aveam dureri de cap in alte aplicatii... asa m-am convins ca nici aceasta varianta nu este buna deci am luat o pauza de gandire, sa vad unde gresesc.
Se pare ca, deoarece am folosit ZF am ramas oarecum ancorat in abordarea lui de la acel moment si cam tot ce am facut in framewrokul meu a fost o "replica" a ceea ce exista deja deci.... eram pe un drum gresit.
Cand am inceput sa lucrez la acest framework, am pus pe hartie cateva idei:
- Ce vreau sa fac cu el: HTML, XML si alte cateva tipuri de aplicatii (probabil 1%)
- Ce au toate aceste aplicatii in comun: XML!!! Pana si HTML este un XML mai ... specializat
- Cum vreau sa lucrez in el: "crude PHP", fara complicatii si dureri de cap, zeci de clase, care mai de care cu tone de logica pe care eu sa o stapanesc indeajuns de bine pentru a rezolva o problema
- Cum anume realizez ceea ce este mai sus: identificand cateva operatii de baza pe care sa le faca frameworkul si lasand logica aplicatiei la indemana dezvoltatorului
-Cum anume as putea sa fac sa pot lucra la aplicatiile mele de oriunde (orice calculator) fara sa am nevoie de fel si fel de programe: rezulta o interfata integrata in framework, pe care sa o accesez de la distanta si sa fac modificarile necesare
- Cum fac sa pot refolosi codul deja scris? ... raspunsul a venit mai tarziu!
... cateva altele!
Din ideile de mai sus, cea cu XML fiind comun la 99% din aplicatii, mi-a ramas in cap si facea diferenta. Toate framework-urile pe care le stiam construiau aplicatiile, ca sa zic asa, in mod text (php = preprocesor hypertext) deoarece despre asta vorbea php la acel moment.
Odata cu php 5, extensia DOM era destul de puternica si stabila pentru a putea sa dezvolt ceea ce aveam in cap, adica un framework pe php.
Avantajul este ca in XML ai access la orice nod din aplicatie fara probleme, deci logica aplicatiei poate fi separata de codul brut de generare si interpretare a datelor spre deosebire de abordarile de tip text unde nu puteai interveni in "rezultat".
In tot ce am spus mai sus se vad avantajele pe care cred ca le ofera acest framework, de fapt abordarea pe care o are.
2. Experienta mea reala este limitata si se rezuma la 99% aplicatii web pentru diferite domenii si doar cateva site-uri!
De ani buni traiesc din meseria mea, care este complet alta decat programator. Ceea ce fac este sa imi dedic parte din timpul liber acestui prim hobby al meu.
Acesta este si motivul pentru care apelez la voi, programatorii cu experienta care traiesc din programare si care pot sa ma indrume, sa imi dea niste feedback-uri pertinente.
Inapoi la intrebare: m-am gandit la aceasta problema cand am conceput "motorul" framework-ului si stiu ca acele cookie pe care le foloseste google pentru page tracking trebuie "mangaiate" frumos deoarece poti pierde page rank-ul. Este vorba, daca bine imi amintesc, de vestitele __utm*, asa este?
Din cate am citit pe net la acel moment, toate acestea sunt regenerate daca nu mai sunt gasite, si parca utma era un id unic,....
Cred ca lucrurile ar fi astfel: daca schimbi limba, googlebot va incepe sa indexeze continutul paginii in diferite limbi.... rezulta varza.... asta ar fi problema? Chiar va rog, l33t si MihaiC sa dezvoltati subiectul!!
Deoarece schimbarea limbii se face in aceeasi sesiune rezolvarea cred ca ar fi regenerarea id-ului cand se face schimbarea variabilei de sesiune care spune ce limba se foloseste. Este regenerarea id-ului sesiunii o rezolvare? Daca da, se poate face cu directiva init, in orice aplicatie la momentul detectarii unei alte limbi...
As aprecia foarte mult contributia voastra cu explicatiile aferente, daca e nevoie fac modificarile necesare!
Cat despre cache, da se poate face la tot ceea ce inseamna import (local, remote / xml sau html) nu insa si la o pagina / aplicatie completa. Motivul este ca frameworkul este foarte rapid si implementarea cache-ului pe pagina / aplicatie nu am considerat-o o prioritate, dar o am si am avut-o in vedere.
Toate filtrele sau directivele care au atribut cache, cachestorage, clearcache folosesc... cache. Un ex:
http://aws-dms.com/temp.php?use=templat ... import.xml
In acest moment nu am gandit un mecanism dar daca aveti sugestii, imi spuneti care arfi dezavantajele in alte framework-uri si cum as putea sa imbunatatesc, atunci voi lucra seios la un astfel de mecanism.
Din pacate, nu am placerea si timpul necesar pentru a cauta in toate framewrk-urile care s-au impus pana acum, sa sap si sa vad aceste lucruri de aceea apreciez foarte mult contributia voastra si pentru toti care vin cu idei care se materializeaza in imbunatatiri, ii trec la "Contribuitori" pe site, cu mare placere!!!
Deasemenea, acest proiect este deschis, daca cineva crede in aceasta idee si vrea sa contribuie (cod, idei, to ce poate fiecare) cu mare placere sunt deschis la colaborare!!!