With Symfony2 it is easy to implement your own templating engine so there's no problems adding support for PHPTi, phpHaml, Jade, etc via a Bundle. Symfony2 also allows you to use things like SCSS and Less thanks to the recent addition of Kris Wallsmith's Assetic library.
You cannot compare jQuery to Symfony2. jQuery is not a framework, it's a library. jQuery is far easier to learn than Symfony2 because it's nowhere near as featured or as powerful. There are clear winners when it comes to MVC. Ruby has Rails for example. This hasn't been the case historically with PHP but symfony 1 has surged in popularity and I truly believe that Symfony2 is going to dominate the PHP framework scene. phpBB4 is based on Symfony2 and I think that we'll see many established projects make similar changes over the next 12 months. Symfony2 is not yet stable and the documentation is an ongoing process. I assume that at some point soon there will be a Jobeet/Askeet equivalent for Symfony2 which will make the introduction to Symfony2 much easier. Symfony2 isn't about "geek-invented paradigms", it's the result of lots of practical, real-world experience with symfony 1. I don't feel that my websites relate to the life and work of an inventor who has been dead for half a millennia. However, when I look at Symfony2 I see improvements to real-world issues that I have faced in past projects. Symfony2 can definitely be considered bleeding-edge in the world of PHP and that's great. PHP development needs to move forwards or we'll be stuck in the past. Personally, if someone has no MVC experience and they're not very experienced with PHP, I don't recommend symfony. I have found that CodeIgniter is far easier to learn as a beginner. So if you're intimidated by Symfony2, I'd suggest the same to you. Once you're comfortable with CodeIgniter, you can then move onto Symfony2 for it's power. Much like how Da Vinci didn't paint the Mona Lisa the first time that he picked up a paintbrush, a solid foundation in PHP is really required to work with Symfony2. When you work with Symfony2, you can create your own PHP Mona Lisa :) PS: On a side note, I'm not a big fan of the way that people put jQuery up on a pedestal. It's a very powerful and helpful library but it also allows people to wield a lot of JS power without really understanding what's happening at the real JS level. Much like PHP, jQuery's biggest strength and weakness is the same thing, that it's so easy to learn. - Keri ---------- On Wed, Mar 2, 2011 at 11:17 PM, Alexander Sergeyev <[email protected]> wrote: > Dear community of developers, > mercy, peace and love be yours in abundance. > > > I'd like to share a vision why bleeding-edge solutions scare and how to > craft it more friendly with a case study. > > Every development stage begins with a root folder, empty index page and text > editor. In late 90s I used plain HTML with a couple of SSI for permanent > header and footer later on. Nowadays I'm with PHP, principally because of > wide hosters support, and JQuery for a sleek and smooth interaction (like > gathering feedback without reloading or hiding irrelevant sections in FAQ). > > New data comes, technologies change, project reflects that following > universal laws of nature. > > Imagine you're Leonardo da Vinci. In childhood there is a welcome plate with > your name, some surrounding sketches you draw on a workshop's backyard and > information for travelers on how to reach your beautiful village. Dreamy, > huh? > > With the course of time your scope and depth of interests grow. You're not > attached to sketches anymore, therefore moving them to /art/ together with > architecture, paintings and sculpture. To introduce your recent researches > for debate, you create /research/ and fill it with anatomy, botany, geology > and optics. According to historians and personal anticipation, plenty of > engineering insights are ripen, so you reserve /inventions/ as well. > > Manifestly new pages differ in design, yet they have common elements. So how > to reuse layout wisely? > > First thing I've learned is template inheritance. This feature comes with > server-side languages like PHP, Python, Ruby. In a nutshell it allows you to > have a parent page with common markup (viz. head, nav, footer) along with > children pages (requested via browser) that load parent subsequently > replacing or extending it with request-related data. Eventually you don't > repeat yourself. Beyond doubt this magic could be mastered by native inline > programming, however I prefer human-oriented solutions with a short learning > curve acting as a layer between geek stuff and essential needs thus anyone > around netglobe could evolve. I believe PHPTi is the easiest and > well-documented one to get acquainted with template inheritance. > > Speaking of layout magic, curious persons could go even further and try > extras like HAML, w2tags or Jade to simplify markup habits typing %li > instead of <li></li>. So pity this trend is not popular within PHP community > (e.g. HAML ports such as PHaml, phpHaml, Fammel and PHamlP are neglected to > date). > > Right, and what about elements decoration? There's where SCSS, LESS, > CSScaffold or Turbine comes into play and makes it possible to keep DRY > inside stylesheets by using variables (color: $linkcolor), expressions > (height: $bodylineheight * 4) and intuitive nesting. Again, it runs > in-between so you stay powerful without headaches. Check official examples, > they're truly inspiring, enough said. > > Idea is about changing approach as project grows. Changing approach without > frustration in consequence of painful dissonance between tech-savvy raptures > about some bleeding-edge solution and errors you catch for hours. And yes, I > do explicitly omit narration of merging, minifying, versioning and chained > loading as being enhancements, not a core. > > > CHILDHOOD > index.html > sketches.html > contacts.html > > MATURITY > index.php > /content > /art > /index.php > architecture/*.php > paintings/ > sculpture/ > sketches/ > /inventions > /index.php > /research > /index.php > anatomy/ > botany/ > geology/ > optics/ > /templates > /common.php > /images > /inc > /css > /js > /php > > > Superb? Not yet, although it's widespread. Obvious drawbacks? Every page > request invokes compilation cycle (common.php+requested page). Solution is > to serve static cache generated in advance. (How?) Content edit requires > accessing one or more files. Solution is to keep content in database. > (What's the best practice?) Markup is mixed with content and sometimes, > ouch!, with raw PHP. In short, framework built with MVC principles is a > saviour. (Erhh?) > > - Hey! - exclaims someone like me, a guy or a girl not that bright in > development, but doing best to go with the times, - Now you sound like a > politician! Dainty slogans followed by non-system mumbo-jumbo. > > Indeed, it must be admitted. Widely-known MVC frameworks from Symphony2 to > Smarty3, from Kohana to Yii, from CakePHP to CodeIngniter claim to be fast, > secure and easy to learn. Really? Does one look for speed and security from > the word Go? No. I dare say evaluation of how new scenery jars on habits > goes in the first place. That is what will happen to the current beloved > hierarchy, links, diligent markup, blocks of program code achieved through > much suffering, etc. Either you convert a couple of pages successfully & > feel you're quite at home or alas & alack! > > Today I dimly know something concrete about autoloaders, helpers, filters, > routers, models, views, controllers. It all came to nothing, but I'm eager > to grasp it in the process of gradual transition like bricklaying. Gradual - > not at once, you see? Stop bragging of how your framework conforms to > geek-invented paradigms. Draw more parallels out of the world behind real > windows, give more humanly narrated cases like one about da Vinci and > optionally reinforce them with strong visuals. Gradual bricklaying is about > hook people on the familiar language and accustomed practices. > > I do believe this is the reason why JQuery is a leading javascript framework > whereas MVC frameworks exist without leader. > > Fathers of computer evolution and their honourable assistants, while you're > polishing bottlenecks and contributing on benchmarks, public ashore still > gaze at schooner called Bleeding-Edge-Solution with no ladder to step > aboard. Ladder across the abyss of Coding-Horror. Throw a ladder at last! > > Meanwhile, I thank you with all my heart for your enthusiasm. > > -- > If you want to report a vulnerability issue on symfony, please send it to > security at symfony-project.com > > You received this message because you are subscribed to the Google > Groups "symfony developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/symfony-devs?hl=en > -- If you want to report a vulnerability issue on symfony, please send it to security at symfony-project.com You received this message because you are subscribed to the Google Groups "symfony developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/symfony-devs?hl=en
