4 ms·
Yep. Laravel is basically PHP on Rails. They do a great job with it too.
by brightball 8y ago
Yep. Laravel is basically PHP on Rails. They do a great job with it too.
- toastal 8y agoI dunno... Their home page looks like something out of the Panera Bread playbook looking at the homepage. 'Web artisans'? Why is it 'clean' because it has an absurd amount of whitespace and comments of platitudes for the code example?
- cntainer 8y agoLol, I agree their packaging looks a bit different but the contents of the package are basically the same. Working with both Laravel and Rails will make it clearer that they try to follow the same principles of convention over configuration and programmer happiness :).
- mmccaff 8y ago"Clever" "marketing" language like this is not unique to Laravel, most frameworks use language like it for tag-lines on their homepage. Pyramid, a framework for Python, even goes with the same "artisan" language. They're just trying to be fun, inspiring, etc From the home page of a few other frameworks: Django: "The web framework for perfectionists with deadlines." Flask: "Web development, one drop at a time" Express: "Fast, unopinionated, minimalist web framework for Node.js" Pyramid: "You need a Python web framework that supports your decisions, by artisans for artisans." Why is it clean? Build an application with Laravel and you'll find out. :) The documentation and community are excellent. I've used many frameworks across many different languages, and (imo) it really is very nice to work in. It's funny how the most negativity comes from people with very little experience, or at least recent experience, in the thing that they don't like.
- thanatropism 8y agoIt’s not funny. People who have bought in something have (1) to rationalize their choice and (2) cheer so the project remains alive and a major contender.
- chc 8y agoThat's not my experience at all. Most developers I know have worked with technologies before and come out saying, "I would rather use something else next time."
- maw 8y agoThey should have used "Laravel: The Framework Thomas Kinkade Would Have Created."
- davidy123 8y agoPHP frameworks crack me up. They so often claim they're "powerful." What does that mean exactly, who is that language aimed at? Then there is Laravel, why "artisans?" The word generally means pre-industrial. In my mind, that evokes devs doing edits on live code. Also, "Laravel" sounds like something to do with larvae. Then there's Drupal, which for the longest time was "community plumbing," which did match the experience of having to call someone in for mysterious specialist emergencies.
- dark1 8y agoYour complaints about Laravel are hilariously shallow. If that's all it takes to turn you off of something... wow. Also, who's talking about Drupal here? There are complex legacy CMS's for every language.
- ukyrgf 8y agoThe command line tool for Laravel is named 'artisan'. You use it to do everything in Laravel, from setting up controllers/views to seeding databases.
- davidy123 8y agoI guess "Laravel - The PHP Framework For Web Scaffolders" wasn't catchy enough.
- davidy123 8y ago(Can't edit. I meant the word "powerful," not the language PHP).
- cutler 8y agoGlad I'm not the only one who thinks "modern PHP" struggles to fit more than a couple of lines of real code on a screen surrounded, as it is, by space-wasting nonsense such as block comments, blank lines and K&R brace style. No wonder people prefer Ruby. Around the time of PHP5 the language ditched its own identity and sought to become the scripting version of Java. Give me back my procedural PHP4.
- codedokode 8y agoI don't like their code and architecture though. The code is ugly because it is built around static methods instead of proper OOP, and uses magic methods a lot. It is not easy to read. Also, they love to invent their own names for existing things. For example, they named a folder with interfaces as "Contracts", although there are only interfaces. You are using "Ruby on Rails" as some sign of quality, but if it uses magic and static methods like Laravel, I would consider it ugly too. Also, I remember reading somewhere that they were hotpatching imported modules. Luckily in PHP you cannot do it.
- astrodust 8y agoIf you think Rails is ugly you're going to have to frame this with what you think is beautiful so we know where you're coming from. Rails does take a lot of established concepts like MVC and mangles them pretty badly, but the Rails version of MVC works well in practice if you're willing to overlook how unconventional it is. The beauty is not in the adherence to dogma, but the day-to-day experience of using it when you know how it works. It takes surprisingly little code to do some complex things in Rails. I'm working with GraphQL now and it's stupid easy to build out an API with Rails. Laravel might seem all sorts of "wrong" to someone who has expectations of "how things should be", but the Laravel way, when accepted for what it is, works. It provides structure and cohesion which in the PHP world is in extremely short supply.
- chipotle_coyote 8y agoThe static methods you are seeing are by and large facades -- convenience methods -- but Laravel is still absolutely "proper OOP." https://laravel.com/docs/5.8/facades https://laravel.com/docs/5.8/facades "Contract" is not a term they invented; it's a term from "design by contract programming," and Laravel enforces the "contracts" through interfaces. https://en.wikipedia.org/wiki/Design_by_contract https://en.wikipedia.org/wiki/Design_by_contract (And, no, they did not invent the term "facade," either.)
- dabernathy89 8y ago> it is built around static methods instead of proper OOP The fake case against Laravel that never dies . The truth is found in the docs: https://laravel.com/docs/5.8/facades https://laravel.com/docs/5.8/facades > Facades provide a "static" interface to classes that are available in the application's service container. Laravel ships with many facades which provide access to almost all of Laravel's features. Laravel facades serve as "static proxies" to underlying classes in the service container, providing the benefit of a terse, expressive syntax while maintaining more testability and flexibility than traditional static methods.