9 ms·
PHP has been in a pretty good place since 7, IMO. These are some great developments. I would say that Laravel is an extremely high quality framework (on par w
by busterarm 6y ago
PHP has been in a pretty good place since 7, IMO. These are some great developments.
I would say that Laravel is an extremely high quality framework (on par with and even in some ways better than Rails) that nobody should be ashamed to use.
It's unfortunate that the stink of old PHP is so powerful and that salaries are still lagging so far behind.
- ggregoire 6y ago> It's unfortunate that the stink of old PHP is so powerful and that salaries are still lagging so far behind. Could it be that there are less Rails developers than PHP developers so the Rails developers get higher salaries?
- nicklecompte 6y agoI have wondered how much of this is also due to markets. A lot of governments and security-centric nonprofits (eg hosptials) use PHP instead of Rails, which seems much more popular in startup land. It could even be that PHP is used fairly evenly across the whole US, while Rails is used more on the coasts. Disclaimer: I don’t have hard facts or even anecdotes, I am a functional-first developer who marvels at any language which actually has jobs on the market :)
- devoutsalsa 6y agoRails also got traction in SF & other high paying areas at the right time. PHP had it’s chance to make establish itself in SF in the mid to late 2000s, but Ruby on Rails worked its way in as a fast prototyping tool that made efficient use of VC capital at a time that PHP was seen as a tool used by less serious developers. A lot of startups contact me about Rails to this day.
- jspaetzel 6y agoThey're not lagging behind. Based on my experience, companies in the bay area using PHP often pay just as competitively as others. There are likely a large number of "PHP" jobs available overall though which could bring average pay down, the low-end is low because there's such a low barrier to entry for something like WordPress development.
- admissionsguy 6y ago> There are likely a large number of "PHP" jobs available overall though which could bring average pay down, the low-end is low because there's such a low barrier to entry for something like WordPress development. I was about to write exactly that. There is a long tail of relatively unskilled developers who technically count as PHP devs. I also do not perceive PHP salaries to be lower relative to other web dev stacks.
- emodendroket 6y agoI liked Symfony but becoming a “PHP guy” looks like a terrible career move still. Also not a huge fan of the one data structure being both a dictionary and an array.
- ipaddr 6y agoWhat stack do you recommend? Node/JS or GoLang or React, Java?
- robjan 6y agoThose are fine. PHP has just been tainted by its past and low barrier to entry. I hate to say it but my company now just filters out candidates who have PHP as the majority of their experience because the signal to noise ratio is so bad.
- emodendroket 6y agoI am a fan of ASP.NET MVC. But honestly if you've used one MVC framework you've kind of used them all.
- capableweb 6y ago> if you've used one MVC framework you've kind of used them all Same goes for C-like languages like PHP or C#. Most of the features and syntax are the same across all in the family, so who really cares if it's Ruby, PHP or C#, they are more alike than they are different.
- emodendroket 6y agoWell that's somewhat true too, though I think mandatory type declarations are a meaningful difference.
- dhosek 6y agoAmen. And it does neither very well. Not to mention that you can get surprising results like if you insert into an "array" out of order then iterate over it, you get the results in insertion order and not index order.
- insaneirish 6y ago> I would say that Laravel is an extremely high quality framework (on par with and even in some ways better than Rails) that nobody should be ashamed to use. Never heard of Laravel. Decided to take a look. First thing the intro documentation says to do is install something called 'Docker Desktop'. I'm good, thanks. Why do I need Docker to play around with a web framework?
- hokumguru 6y agoBecause getting a modern version of PHP, postgres, and redis up and running isn’t necessarily easy for your average beginner.
- deleted 6y ago[deleted]
- trog 6y agoDoes docker make it easier or harder though? I was testing out Apache Superset the other day and it recommends using Docker to do so. I am not strong in Docker - I prefer to run things from scratch so I know exactly what is going on under the hood - but thought I'd give it a go. I had so many problems getting it going. Part of it was the Superset instructions were slightly obsolete, but mostly it was this same problem in this issue[1] from 2016, which was closed in 2017, which is still obviously an active issue for new Docker users. It seems to be just a relatively simple Linux filesystem permissions issue (or at least, that is how I resolved it quickly, just to get it working), but it strikes me as bizarre that this kind of thing could not be resolved with a better installer or docs or something. I then ran into problems with the application running under Docker not being able to access the database in the host OS. Again there are a zillion resources for resolving this, going back years, with many dead ends as it has changed so much since then. There's this hugely upvoted solution[2] on Stack Overflow - which works for Docker, but Superset is launched through docker-compose, so straight away a new user has to figure out the differences. In PHP on a fresh Linux box, you can be up and running and developing on Debian/Ubuntu with two or three apt-get commands, depending on whether you need a database server. Adding Docker into this mix just seems like it would unnecessarily complicate things. All that said, I appreciate once you're over the learning curve of Docker, it's super useful. I am finding myself increasingly reaching for it as an option to container-ise some setups away from my current setup, which is basically bash-scripted install processes on fresh VMs.
- theamk 6y agoThat's because the "stink of old PHP" never really went away. For example, Wordpress install guide [0] still talks about making your code directory writtable by web user -- practically guaranteed that any minute exploit will lead to permanent web shell. So does Nextcloud install guide [1]. I am sure there are nice, modernPHP somewhere, but a lot of time you I see old-style programs with horrible security practices. [0] https://wordpress.org/support/article/how-to-install-wordpress/ https://wordpress.org/support/article/how-to-install-wordpre... [1] https://docs.nextcloud.com/server/latest/admin_manual/installation/source_installation.html#installation-wizard https://docs.nextcloud.com/server/latest/admin_manual/instal...
- zodiakzz 6y agoNot just writeable by web user. The page here[1] suggests making files and folders world writeable all over the place (to be fair, followed by disclaimers.. but still). >If you use Permalinks you should also change permissions of .htaccess to make sure that WordPress can update it when you change settings such as adding a new page, redirect, category, etc.. which requires updating the .htaccess file when mod_rewrite Permalinks are being used. Go to the main directory of WordPress Enter chmod -v 666 .htaccess Making a server configuration file (.htaccess) world-writeable. What could go wrong? I am amazed that shared hostings still somehow manage to keep their tenants safe from each other. 1: https://wordpress.org/support/article/changing-file-permissions/ https://wordpress.org/support/article/changing-file-permissi...
- akie 6y agoWordPress is about as old as Netscape Navigator. Am I judging JavaScript based on the hot mess it was in these days? Using WordPress as an example for the state of PHP is disingenuous.
- oefrha 6y ago1. WordPress was released in 2003, Netscape Navigator was basically dead by then. 2. It’s fair to judge a language by its dominant platform / use case. Rails (2004) and Django (2005) are barely younger than WordPress. Is it fair to judge Ruby and (one facet of) Python by examining Rails and Django respectively? Yes.
- idoubtit 6y ago> I would say that Laravel is an extremely high quality framework I strongly disagree. My experience with Laravel made me see it as a medium quality framework with many flaws. I'll point out to a few of them. The source code quality of the framework is not very high, and locally very poor. For instance, you can't autocomplete normally with an IDE unless you load extra declarations of the magic. Sometimes functions return values of varying types. And, last but not least, there are many cases where a call to a method on on object is intercepted by the magic `__call()` and redirected to another object created on the fly. As pointed above, the abuse of magic means browsing the Laravel API is a nightmare. You won't see methods that you may call. Overall, the official documentation is tutorial-oriented, with an abuse of videos. I have not worked with Laravel for more than 2 years, but at that time I could not find a public reference documentation. Laravel is extremely slow. Speed or concurrency is not a problem for many web sites, but when your framework is 10-100 times slower than others, you hit performance problems sooner. I suspect the magic and a few design choices (e.g. not using PHP native sessions) mean that a Laravel application can't get fast.
- sdfhbdf 6y agoYou say > medium quality framework with many flaws Yet you only point out > you can't autocomplete normally with an IDE > You won't see methods that you may call Firstly if there are "many flaws" list them because it seems you only don't like the developer experience with the autocomplete. I noticed no problem with browsing the Laravel API [0] with my short adventure with it. > framework is 10-100 times slower than others citation needed. Also you didn't mention what you tried to use it for but remember software engineers are paid to pick the right tool for the job, Laravel is not the top pick for highly-concurrent idempotent microservice on Kubernetes, it's for monolithic app replacing that old WordPress installation without changing the tech stack [0]: https://laravel.com/api/8.x/index.html https://laravel.com/api/8.x/index.html
- gremlinsinc 6y ago> Laravel is not the top pick for highly-concurrent idempotent microservice on Kubernetes, Taylor Otwell would like to introduce you to Larvel Octane, i.e. support for swoole/workerman with 6k+ reqs per seq on a basic desktop. Laravel with swoole basically makes it as performant as elixir/phoenix.
- sam_goody 6y agoLaravel docs are virtually non existent. The code comments are meh. Their upgrades are frequent but are not backwards compatible. Many times after an upgrade we spent hours finding something that broke and was not documented in the upgrade guide. Their code quality leaves much to be desired, and it very significantly will slow down every part of the site. It is hard to call this a "extremely high quality framework" or even a "acceptable low quality framework". It may be possible to say this is unfortunately the best we've got in PHP.
- myspy 6y agolaravel.com covers all features that are available and enable to know how to use the features, what documentation do you need on top of that? We had no problems with upgrades yet, but the eco system is pretty big and there is a tool to make upgrades https://laravelshift.com https://laravelshift.com. Pretty helpful. I'm wasn't digging around in other web frameworks yet, so I'm not sure how to rate the source.
- jw1224 6y agoUm... what?! Laravel has extremely comprehensive documentation: • General purpose docs: https://laravel.com/docs/8.x/ https://laravel.com/docs/8.x/ • API-specific docs: https://laravel.com/api/8.x/index.html https://laravel.com/api/8.x/index.html Laravel updates are released frequently (which is a good thing). Including 2 years of bug fixes, and 3 years of security fixes, for LTS releases: • Major version upgrades are clearly documented: https://laravel.com/docs/8.x/upgrade https://laravel.com/docs/8.x/upgrade • Every new update has clear changelogs: https://github.com/laravel/framework/releases https://github.com/laravel/framework/releases • Backwards-incompatible releases are annual: https://laravel.com/docs/8.x/releases#support-policy https://laravel.com/docs/8.x/releases#support-policy I would love you to point me to where Laravel's code quality leaves "much to be desired". The source code is, generally speaking, excellent.
- ianhawes 6y ago> Laravel docs are virtually non existent. The code comments are meh. I consider the Laravel documentation to be incredibly helpful.
- 6y ago