Random Thoughts
I'm making a faster and cleaning development of my Library Site thanks to smarty, I thought first to develop with C# and ASP.NET, but I have seen a lot of troubles (and the learning factor will duplicate the time which I don't have).
Time ago I was developing some scripts to emulate the way of ASP.NET to PHP, I stop because I was wondering about using PHP5 and it's DOM model (I was using it, it was easy but not well documented, and I think it maybe be developed with a XML apart library) I never finished the compiler/parser.
While I was developing today the site, I was thinking about some things, first the persistence of the data; that seems to be simple, just to keep the variables on the page (or also, in a more complicated way in the server), the problem is if you need to change the data from a input to a text (because you don't want to keep writable that field) you will have to write every variable to a hidden field and that's not pretty good (because it can alter the data), the problem of caching in the server the variables is that every new page will "remember" your data, even if you don't want to keep your data.
2) The way to agroup fields in a "invariate" way, what I mean (and I really want for some 'cutie' obsession) is to get a way to control your visually elements like a Glade environment, you change only the way it looks, but the code remains the same.
This could be accomplished a little with templates, and smarty it's a good one, but I think could be more complex (imagine create the same graphic buttons as normal buttons without changing the template, instead creating a intermediate render step)
3) Persistence in the server: Ok, you have cached the variables, but how can you distinguish between a "back-button", and a new petition, that could be problematic; the solution that I think right now is using a "ticket system", simulating the transaction system, but only to avoid back button, you give a random string to every transaction and when you finish it, you delete it, if you press back, then the browser will send the old ticket, and the system will say "hey, you have go out of the train, please buy another ticket"; this could be done more automatic.
4) Render on the fly?... this could be interesting, CMS in database, there are some applications which do it, but I haven't tried it (more deeply, you must change even the code not only the data).
More things?
I don't know =)
Time ago I was developing some scripts to emulate the way of ASP.NET to PHP, I stop because I was wondering about using PHP5 and it's DOM model (I was using it, it was easy but not well documented, and I think it maybe be developed with a XML apart library) I never finished the compiler/parser.
While I was developing today the site, I was thinking about some things, first the persistence of the data; that seems to be simple, just to keep the variables on the page (or also, in a more complicated way in the server), the problem is if you need to change the data from a input to a text (because you don't want to keep writable that field) you will have to write every variable to a hidden field and that's not pretty good (because it can alter the data), the problem of caching in the server the variables is that every new page will "remember" your data, even if you don't want to keep your data.
2) The way to agroup fields in a "invariate" way, what I mean (and I really want for some 'cutie' obsession) is to get a way to control your visually elements like a Glade environment, you change only the way it looks, but the code remains the same.
This could be accomplished a little with templates, and smarty it's a good one, but I think could be more complex (imagine create the same graphic buttons as normal buttons without changing the template, instead creating a intermediate render step)
3) Persistence in the server: Ok, you have cached the variables, but how can you distinguish between a "back-button", and a new petition, that could be problematic; the solution that I think right now is using a "ticket system", simulating the transaction system, but only to avoid back button, you give a random string to every transaction and when you finish it, you delete it, if you press back, then the browser will send the old ticket, and the system will say "hey, you have go out of the train, please buy another ticket"; this could be done more automatic.
4) Render on the fly?... this could be interesting, CMS in database, there are some applications which do it, but I haven't tried it (more deeply, you must change even the code not only the data).
More things?
I don't know =)