5 ms·
PHP's continuing evolution is also represented by the frameworks available for the language. For instance, Symfony2, paired with Composer, is (IMHO) analogous
by epoxyhockey 13y ago
PHP's continuing evolution is also represented by the frameworks available for the language. For instance, Symfony2, paired with Composer, is (IMHO) analogous to Rails for Ruby and Django for Python.
HN can be an echo chamber for Ruby, Python and Golang. But outside of the Bay Area, a lot of people are very excited about Symfony2.
- treeface 13y agoAnd there's also Laravel, which is partially built on Symfony and generally maps a little closer to what is possible in Rails.
- epoxyhockey 13y agoOne of the things I love about Symfony2 (other than the framework) are the following bundles: -FOSUser -FOSRest -Sonata Admin In a few minutes, I have a multi-user website, complete with REST server and a user administration interface. As someone without a lot of hands-on experience with Laravel, is there a similar combo of Laravel bundles that can get me up and running with a multi-user website?
- treeface 13y agoLaravel has built-in auth support and a bunch of good Composer packages that can add more features. It's also got RESTful and resourceful controllers built in and a very awesome routing system. You can use any admin/cms package, but this one I made specifically for Laravel and the Eloquent ORM: https://github.com/FrozenNode/Laravel-Administrator https://github.com/FrozenNode/Laravel-Administrator
- pearjuice 13y agoLaravel 4 is amazing, too. Symfony2 feels like a beomoth to me (a few versions later and it will probably be on-par with Zend in terms of over-architecturing as it is going right now) whereas Laravel is lean and elastic yet offering the complete package in an easy consumable format.
- porker 13y agoI'm seeing a lot of love for Laravel 4 at the moment and I'm not 'getting' it. Sure, the framework's easier to pick up than Symfony2 and not as over-engineered, but it doesn't feel as complete (forms, anyone?) or as well designed (what's up with all these static methods?) Laravel 4 is becoming the CodeIgniter of the PHP 5.4 frameworks - simple enough for people to jump on as they can get something done. And the CodeIgniter comparison is not a compliment.
- ceejayoz 13y ago> what's up with all these static methods? http://laravel.com/docs/facades http://laravel.com/docs/facades
- pearjuice 13y agoLaravel doesn't come close to CI in terms of trash. It is very well architectured to the point where everything is modular, testable, properly documented and done with a reason. Static methods are actually facades as pointed out and are key in having proper testable applications. * Forms? It has support for forms in more way than one. Read the docs! :-)
- porker 13y ago> Static methods are actually facades as pointed out and are key in having proper testable applications. Thanks, I had a look about a year ago at the facades document and it seemed a justification for using static methods, rather than a reason. I'm pushing hard on this as I really want to understand it. I am surrounded by PHP programmers chanting "Every time you use a Singletons a kitten dies" and "No static methods". Yet when I used (and contributed to PEAR) they were positively encouraged. Is the change another fad, or fact-based? > * Forms? It has support for forms in more way than one. Read the docs! :-) I have :) I see helpers to generate form fields and a validation library. I see no way to create form entities, to extend forms (to create variations on a base form), or to abstract the field definitions from the view (while the visible value of select box options could be in the remit of the designer, modifying the value shouldn't be accessible to anyone other than the programmer, and neither IMO should choosing the field type (drop down or multiple radio buttons? Multiple select or checkboxes?) Also no support for 0..N repeating fields baked in (with conditional validation), or 1..N fields - stuff I use in almost every form. Every form library I've discovered falls short in these requirements though!