HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

PHP Frameworks

ShadowdareShadowdare r_j MVP

Besides Garden, which is the framework that Vanilla runs on, have any of you used other PHP frameworks, such as Symfony, Laravel, Yii, and so on? If so, what are your experiences with them? What kind of programs have you all made with them?

Add Pages to Vanilla with the Basic Pages app

Comments

  • LincLinc Detroit Admin
    edited January 2014

    Laravel seems to be the fad of the moment. We did a quick "getting started" tutorial on it at our last PHP Meetup and it looked cool, but it suffers from the same sparse documentation as Garden, unfortunately. My takeaway was basically "the same stuff done differently". Garden + Dashboard is still a quicker leap forward for developing a new app IMO.

  • R_JR_J Ex-Fanboy Munich Admin

    I have no experience with phalcon, but find the theory behind it very, very interesting. The framework is realized as a server extension. Their project was started in C but they have invented their own programming language (zephir) which is a mix of PHP and C to make it easier for their community to contribute. Zephir compiles to C and generates server extensions as well.
    Phalcon 2 will run on their own dogfood: http://www.sitepoint.com/phalcon-2-0-alpha-landing/

    Maybe some day someone will try to see how much effort has to be made to compile Garden with zephir... ;)

  • x00x00 MVP
    edited January 2014

    Performance is not a simple and absolute scale, any abstraction can be a performance hit.

    When you do a performance comparison it is very specific to what you what you are testing and how you go about achieving it.

    http://www.techempower.com/benchmarks/#section=data-r8&hw=ec2

    phalcon is realized as php extensions. However according to this, frameworks running on VMs like Java can be faster even the frameworks with compiled extensions of langauges. But then again Java itself is statically typed and complied generally.

    I mean you can code in pure optimized machine code or assembly, it would take you forever to code, and would be platform specific, but it would be fast as hell.

    The problem with the above tests is often you aren't test is often you aren't comparing like with like. So if you test a native function in php, then with phalcon. You aren't really giving phalcon a fair test becuase the point is phalcon is a php extension. You have to use the phalcon framework to build something, and compare to the the same framework released in php.

    What does framework actually mean? Well it can vary from a basic toolkit, to a structured way of working.

    Zephir is just a way of making php extension easier, however being an abstraction if might be a performance hit, from optimized C.

    You can always make optimized code, but the less abstraction you do the more difficult to make it to something. On the other hand it isn't

    What framework you use depend very much on the task, if you need somethign standalone, that does one thing very well then you might use a light weight

    Performance is only one consideration. Performance over other important things like fault tolerance is silly.

    The reality is processing techniques are getting faster, so on a site with moderate traffic given the resources it can probably serve ok. Things are problematic for very popular sites, without resources. Even those with the resources, if they have a lot of user, and for some reason they all decide to turn up at the same time, you need somethign that not only performs but is resilient.

    grep is your friend.

  • Garden is a nice portable framework, it has its place, especially for the type of web apps it is good for.

    Personally I was skeptical it was worth it to start with, they could have picked another framework, or a lighter weight one to make building Garden a little easier.

    That said if no one ever made the effort you would get anywhere and they got there in the end.

    grep is your friend.

  • There are plenty of Frameworks out there. First Symphony was 'da bomb', Yii, now another one. Too many frameworks! All have their learning curve. There's not a framework out there (Garden) that has a very very nice forum built on top of it (Vanilla).

    You see for yourself when you're making your blogging application. It's a breeze. All we want is help the guys that are working their asses off in that country far far away... We can do that by going over the current bug reports and creating new ones to make Vanilla (and Garden) newest version possibly more stable.

    There was an error rendering this rich post.

  • LincLinc Detroit Admin

    Laravel is actually built with pieces of Symphony as its foundation (its compiled from many dependencies with Composer) so I wouldn't say Symphony has gone out of style at all. Just more iteration and standing on the shoulders of giants, etc.

  • ShadowdareShadowdare r_j MVP
    edited January 2014

    As x00 said, frameworks can be many things. The most popular framework in 2013 is Laravel, according to a survey by SitePoint. Phalcon, being a server extension, has the advantage of being faster, but it isn't as portable as the other frameworks are. I agree with Lincoln that Garden is a quicker leap forward for developing new apps.

    Other frameworks are bare-bones and sometimes that's good for projects, but almost everyone who is going to use a framework will have to build their own user system and things like that anyway, so Garden is great because it comes with its own user system called Dashboard as well as a super forum app built on top of it.

    A lot of the websites of other frameworks use other forum software instead of building one on top of their own. This is okay since they don't have to reinvent the wheel with all the forum software out there, but I haven't seen many frameworks build their own forum software so far as well done as the Vanilla team has.

    @UnderDog, do you still use the Zend framework for some of your projects?

    Add Pages to Vanilla with the Basic Pages app

  • x00x00 MVP
    edited January 2014

    Personally I can't abide anything related to XML/XSLT, so have never been a fan of Symphony for that reason.

    I think that whole field of work was a massive waste of time. W3C literally wasted decade on XHTML and other XML related specs and this was meant to to be the way to go so HTML5 was delayed pretty much a decade, and it is not people in this clique that instigated the change.

    Eventually people saw through this theoretical exercise, and moved to more pragmatic approaches.

    If you are looking to avoid wasted effort, you would do well to stay clear of XML dependent projects. I can tolerate it if it is used pragmatically, though it wouldn't be my first choice.

    However in the case of translation, it can be achieve by through nicer more readable means. You can have a a basic schema and spec that is not OTT.

    grep is your friend.

  • hgtonighthgtonight ∞ · New Moderator

    From Laravel's site: "The PHP Framework For Web Artisans."

    I will literally never use this software because of this pseudo-hipster bs.

    My favorite framework is by far the one I am not developing on at the moment. What I mean is that all frameworks have their pain points and will frustrate me. This makes it easy to read up on a different framework that will solve all my current problems.

    That said, Garden (+dashboard) is amazing for quickly building out functionality. I use it a lot for prototypes for internal tools. Definitely the best, imo of course, for PHP+MySQL applications.

    @x00 said:
    I think that whole field of work was a massive waste of time.

    I also agree that XML is garbage for everything excepting a data interchange format. Even then, JSON works just as well in most regards.

    Search first

    Check out the Documentation! We are always looking for new content and pull requests.

    Click on insightful, awesome, and funny reactions to thank community volunteers for their valuable posts.

Sign In or Register to comment.