php - The most flexible framework architecture for web development? -


obviously, there no 1 single solution satisfy everyone's needs; architecture trade-off. want create framework, aimed @ rad of web games. target language php, although architecture should applicable.

goals have in head framework are: flexibility in ways can achieve result; maximal comfort developers; connecting modules lego® blocks; many types of input, many types of output, 1 format processing.

the goals not priority speed, enterprise use , making money. it's supposed open source project.

the cornerstone of design content, before transformation, processed in xml (idea based on eai system i've worked with, egate). data abstraction layer - smart orm - not important now. output generated using xslt or other custom modules, virtually client - html old browsers, xhtml/html5 modern browsers, simple html mobile clients, xml ajax/xmlrpc, etc.

main reasons using xml are:

  • it's well-known standard
  • existing tools xpath, simplexml , dom navigating , modifying content
  • xslt providing powerful , unified way transform code tag soup
  • i find xml markup readable, therefore don't think advantages of json or yaml make difference here
  • the content can stacked easily, , order of content doesn't matter long it's transformed correctly xslt

the page generation process consist of these phases:

  1. pre-processing: initializing modules, processing gpcs data, applying default [xml] templates
  2. processing/generation: main part of business logic, generating bloated xml maximum data (although optimized not generate balast)
  3. processing: additional business logic, e.g. cutting down of markup, preparing transformation, reporting, statistics, etc.
  4. post-processing: parsing xml through transformation engine (most xslt), output.

the content generated lot of meta-data (e.g. tags, permissions, importance, necessity, aimed output type), stripped down during post-processing.

so, question is: except speed, downfall of solution? go wrong both during development/maintenance of framework, , applications? downsides of architecture?

xslt can bulky manage, , adds programming language developers have work in (at least if understand description correctly). experience has been relatively few people know it, , fewer can make want.


Comments

Popular posts from this blog

c++ - How do I get a multi line tooltip in MFC -

asp.net - In javascript how to find the height and width -

c# - DataTable to EnumerableRowCollection -