Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "no more drupal"
-
Hello there, just couple of words about PHP. I've been develop on PHP more than 10 years, I've seen it all 3,4,5,{6},7. Yes PHP was not good in terms of engineering and patterns, but it was simple, it was the most simple language for web to start those days. It was simple as you put code into file, upload it via FTP and it works. No java servlets, no unix consoles, no nothing, just shared hosting account was enough to host site, or even application with database. As database everybody used to have mysql, again because its simple to start and easy to maintain. So PHP+MySQL became industry standard on Web during 00-2012, and continues in some way.
You can write HTML and logic inside single file, within php code, even more single file may content few pages, or even kind of framework. That simplicity and agility sticks everybody who wants to develop sites with PHP.
This is pretty much about why it is so popular.
Each good or wannabe PHP developer in an early days write its own framework or library (like in javascript this days because of nodejs)
Imagine that PHP has hadn't have package manager, developers used to have host packages on their own sites, then various packages catalog sites created, and then finally composer. A gazillions of php code had spread over internet, without any kind of dependency control. To include libraries to your projects you have to just write include, or require. Some developers do it better than others.
So what we have ? A lots of code, no repositories, zip archives with libraries, no dependency control.
Project that uses that kind of code are still alive even today, they are solid hose of cards, and unmaintainable of course.
And main question that I'm trying to answer is Why PHP is not good ?
- First is amount of legacy code which people copy and pasted into their project, spread it even more like a virus.
- Lack of industry standards at the beginning lead to a lots of bad practices among developers. PHP code usually smells.
open source php projects in early days was developed in same conditions so even in phpbb, phpnuke, wordpress, drupal used to have a lot of bad practices in their codebase. So php developers usually not study by another library, instead they write their own frameworks/libraries.
- "It works", - there are no strong business demands, on web development, again because lack of standards, and concerns.
This three things are basically same, they linked to each other and summarize of answer of why PHP have strong smells and everybody yelling against it.
Whats is with PHP nowadays ? Of course PHP today is more influenced by good practice of webdev. Composer, Zend, Laravel, Yii, Symphony and language it self became more adult so to say, but developers...
People who never tried anything except PHP are usually weaker in programming and ecosystem knowledge than people who tried something else, python, perl, ruby, c for instance.
Summary
PHP as any other programming language is a tool. Each tool has its own task. Consider this and your task requirements and PHP can be just good enough solution.
"PHP is shit" - usually you heard that from people who never write strong applications on PHP and haven't used any good tools like Symphony or Laravel.
Cheap developers, - the bigger community, the more chance to hire cheap developers, and more chance to get bad code. That can be applied on any other language.
PHP has professionals developers, usually they have not only php on scope.
That's all folks, this is very brief, I am not covering php usage early days in details, but this is good enough to understand the point.
Enjoy.8 -
After two extensive talks with a potential employer (they lasted for hours), I decided to accept the offer, although the salary was ~25% lower than at my previous job. Everything else sounded fantastic and I needed that desperately since at the previous company everything was toxic for years.
These new guys wanted a senior php dev because they had none of them, except only wordpress and drupal people who were not skilled enough to take other types of projects (they called them "custom php"). I liked it and thought I'm gonna shine there and quickly earn a raise because the agency will start earning more by getting projects that they were unable to even bid for.
First day at work and I got assigned to a new Drupal project, although it was supposed to be a simple restful API for a simple iOS app. It could be done in a week or less, with no rushing at all. But it had to be Drupal. And I happened to be around to hear that there is a queue of Drupal projects waiting. After 2 days leaving the office late and having my brain melted by nonsense I was looking at, I quit the job.
No offense to Drupal people, I really do admire you, but I just could not stand it after 8 years "doing custom php". It felt too much like being downgraded. But more than that I was pissed off by the fact that I have been shamelessly lied to and tricked to accept something I clearly said that I dont want.
This happened a year ago. I now earn 2.5x more money than those guys offered and work in a very healthy environment. In the meantime, I heard that the other guys shut their company down.2 -
!dev && feelsbadman
I don't know what to think.
All I know is that I just went reaaaaal close to a disaster.
Friday morning, my "scariest" manager (as in, if you have to meet with him, it's usally for something serious) told me that he needed to see me on monday (so today) with the lead dev, the project manager and the dude who recruited me.
The meeting was like an arena of 4 vs 1, where they all 4 had problem with the work I do, as in I make a lot of small but stupid mistakes that wastes everyone's time. As an excuse, I suffer from sleep apnea so I wake up as tired I am when I go to sleep, and I snore loud as fuck. I've heard some records, it's not even human. (I'm 1m85-ish for 125 kg, it's BIG but with my morphology it's not like I'm a ball of fat)
Anyway. And since it's not the first time they're reproaching me this kind of stuff, they were all... really angry. Because I'm a nice guy, competent and all but not productive enough and easily distracted.
So, when the manager asked me to meet me, it was to fire me. However, during the lunch break, the lead dev found a solution: I get out of the current project I was in until this morning, and I write all the functional tests for all the projects, because they all lack quality and we sometimes deliver regresses.
They proposed me this in a way I could refuse, and I'd get fired because they had no other options. Obviously, I said yes, I'm not stupid enough to decline a possibilty to avoid a monstruous shitstorm that would have cut me my studies, the money for taxes, and a lot of fun to find a job as fast as possible.
But what surprised me the most is that they were genuinely glad I accepted, like, even though I made my shit ton of mistakes, they weren't pleased at all to get rid of me.
And in a way, I'm the one who won in this story, since I don't have to work with Drupal anymore, excepted to parse the website to write my tests, but my nightmare fuel is finally gone *.*
I don't know where to finish with this rant, but I needed to vent this whole thing, to write it somewhere so I can move forward.
I wish y'all a nice week.3 -
Dropped out after 4 months at Uni when I realised that I will learn absolutely nothing useful for my future career. We were either learning HTML/CSS or coding calculators in C# . At this point I was already writing my own PHP CMSs with huge databases for real life clients. I guess I can only blame my course level and maybe I could go someplace else but it probably wouldn't be so much different.
A month after I dropped out I got my first job as a junior Drupal developer. That was 7 years ago, now I'm a FrontEnd dev in a really great environment and throughout the years no one looked at my grades or even asked for them.
Experience and passion as as valuable if not more as your education.5 -
I really wanna share this with you guys.
We have a couple of physical servers (yeah, I know) provided by a company owned by a friend of my boss. One of them, which I'll refer to as S1, hosted a couple of websites based on Drupal 7... Long story short, every php file got compromised after someone used a vulnerability within D7's core to inject malicious code. Whatver, wasn't a project of mine, and no one bothered to do anything about it... The client was even happy about not doing anything about it. We did stop making backups of such websites however, to avoid spreading the damage (right?). So, no one cared about this for months!
But last monday? The physical server was offline. I powered it on again via its web management interface... Dead after less than an hour. No backups. Oh well, I guess I couls keep powering it on to check what's wrong with it and attempt to fix it...
That's when I've learned how the web management interface works: power on/reboot requests prompted actual workers to reach the physical server and press the power on/reboot buttons.
That took a while to sink in. I mean, ok, theu are physical servers... But aren't they managed anyhow? They are just... Whatever. Rebooting over and over wasn't the solution, so I asked if they could move the HDD to another of our servers... The answer was it required to buy a "server installation" package. In short, we'd have had to buy a new physical server, or renew the subscription of one we already owned for 6 months.
So... I've literally spent the rest of the day bothering their emoloyeea to reboot S1, until I've reached the "daily reboot reauests limit" (which amounts to 3 reauests. seriously), whicj magically opened a support ticket where a random guy advised to stop using VNC as "the server was responsive" and offeres to help me with the command line.
Fiiine, I sort of appreciate it. My next message has been a kernel log which shows how the OS dying out was due to physical components becoming unavailable after a while, and how S1 lacked a VNC server, being accessible only via ssh. So, the daily reboot limit was removes for S1. Yay.
...What to do though? S1 was down, we had no backups, and asking for manual rebooting every time was slow as Hell. ....Then I went insane. I asked for 1 more reboot. su. crontab -e. */15 * * * * /sbin/shutdown -r +5. while true; do; rsync --timeout=20 --append S1:/stuff .; sleep 60; done.
It worked. We have now again access to 4 hacked, shitty Drupal 7 websites. My boss stopped shouting. I can get back to my own projects.
Apparently, those D7 websites got back online too, still with malicious php code within them. Well, not my problem (for now).
Meanwhile, S1 is still rebooting.3 -
Back in 2006 I built a custom CMS for golf membership/community to manage tournament listings and registrations along with club news and social calendars. In 2008 I migrated that to Drupal 6 and continued to grow the site from there. Come 2010 I was raising flags about moving to Drupal 7. No. 2011, I recommend the move. No. 2012, 2013, 2014, 2015 ...no, no, no. 2016 they complain that the site is old and they want more "management" capability (they had tons a capability). The get sold by some wizbang company and the fancy dancy CMS. I have to hear how great it is bla bla bla. That is until they start to use it. Turns out, it's not a CMS by any stretch of the imagination. They need to know HTML and a page's content in a single blob field. And content can't be repurposed across the site. I now just sit back and laugh at their pain.3
-
The client wants the booking project to be all in JS Framework (not specifying any) and NO PHP since client hates PHP (and I don't know why) from the very beginning when the only dev was my former front-end partner (lead dev).
I was wondering why the client still continued the project, YET the file extensions were still on PHP. I asked the lead dev what happened and answered he didn't know know how to start migrating to JS framework and just started NATIVE PHP.
Still, as being a good dev and a supporter to lead dev, did accept and the project as lead dev's assistant. Fixed bugs, enhancement and responsive (DEMMIT, I FREAKING HATE RESPONSIVE) and later complained why am I doing front-end tasks, when it's not my task, supposedly. I EXPECTED MORE ON BACK-END TASKS!
(HERE'S THE EPIC ADVISE GOES AND CALLED OURSELVES MASTER)
Me: Master, why did you not started the project in JS Framework instead of native php?
Lead Dev : You know what master, this project has been already done if the client allows US to use WordPress for this project will still be migrated to JS. And now, WE are trapped to make every window size be responsive since there are already a standard for each window screen.
Me: (DO NOT INCLUDE ME IN YOUR FUCKING SORCERY! I DON'T KNOW WHAT YOU DID THERE AND WHY D'YOU ACCEPT THIS PROJECT, SLAVE, WHEN YOU ALREADY KNOW YOU DO NOT KNOW HOW TO DO IT, IN THE FIRST PLACE. STOP BEING A DICKHEAD AND DO NOT WASTE CLIENT'S MONEY AND EFFORT FOR YOUR USELESS BUNCH OF SHIT!) Indeed, responsive is a such a pain in the arse.
Lead Dev: Maybe, let's just finish our tasks first and wait the project to be migrated to JS.
P.S. The project manager and client asked me if I do know how to migrate the project from native PHP to JS framework and sabotaged lead dev. OFCOURSE, YES! But, I did not respond that quickly, unless eerm, you know, I earn greater than lead dev. Truth be told and practically speaking, it's really unfair for me if I accept the back-job when the lead dev delivers inaccurate deliverables and earned greater than me. No way, Jose!
Now, I am not working with him because I'm super done with him and later did I know, lead dev is looking for Drupal dev to be working for the booking project. -
As a developer you're expected to perform all sorts of tasks that don't necessarily involve any coding or development at all. "A web form in Drupal? Uhm, it's got something to do with the web, right? Yeah, let's dump it on 'IT'."
So now I've been given this most frustrating task to use some form engine in Drupal. I have no access to the PHP code itself, and I don't even know what this form engine is called. All I know it's the crappiest of crap. The more I use it the more I hate it. -
Drupal 8 fractured the community, dead ended projects that had years of being built up and supported, started a downward trend in overall number of websites using Drupal when it was still increasing market share, homogenized Drupal with other less successful frameworks that had already attempted it and failed by using composer to replace drush, twig to replace PHPtemplate, and Symfony to butcher Drupal and hang parts of it on.
The mission statement was to "bring Drupal to the modern era" and "be more enterprise friendly". All I've seen them do is make it worse. I have stopped using Drupal now, I still maintain some Drupal 7 sites but now that they killed the Drupal 7 community it's basically dead. Some small attempt was made to salvage it with Backdrop but it will likely never be as big as Drupal was and is mostly dead itself, for one thing it's not directly compatible with the huge library of modules either.
Another thing I loved killed by those without vision and giving into the "industry standards" that make one question the intellect of everyone who subscribes to them being a good idea. But hey that evil procedural programming that worked so long for so many was finally defeated. It's surely better now right... right?
At least this movement was supported by people that can't even tell the difference between the use cases in real projects between Drupal and Wordpress. Software Development is in such a good place and has no hypocrisy. One would never suggest it has lost sight of its original purpose of solving real world problems with computing and become self absorbed with its own navel gazing.
If still in doubt check attached image, it tells a very clear story about how to ruin the life of a CMS. It honestly feels like a hitjob attempted to sabotage it rather than an earnest attempt to improve something that has been doing well since 2001.8 -
I've been programming for 15 years now or more if I count my years I programmed as a hobby. I'm mostly self learned. I'm working in an environment of a few developers and at least the same amount of other people (managers, sales, etc). We are creating Magento stores for middle sized businesses. The dev team is pretty good, I think.
But I'm struggling with management a lot. They are deciding on issues without asking us or even if I was asked about something and the answer was not what they expect, they ask the next developer below me. They do this all the way to Junior. A small example would be "lets create a testing site outside of deployment process on the server". Now if I do this, that site will never be updated and pose a security risk on the server for eternity because they would forget about it in a week. Adding it to our deployment process would take the same time and the testing site would benefit from security patches, quick deployment without logging in to the server, etc. Then the manager just disappears after hearing this from me. On slack, I get a question in 30 minutes from a remote developer about how to create an SSH user for a new site outside of deployment. I tell him the same. Then the junior gets called upstairs and ending up doing the job: no deployment, just plain SSH (SFTP) and manually creating the database. I end up doing it but He is "learning" how to do it.
An other example would be a day I was asked what is my opinion about Wordpress. We don't have any experience with Wordpress, I worked with Drupal before and when I look at a Wordpress codebase, I'm getting brain damage. They said Ok. The next day, comes the announcement that the boss decided to use Wordpress for our new agency website. For his own health and safety, I took the day off. At the end, the manager ended up hiring an indian developer who did a moderately fair job. No HiDPI sprites, no fancy SASS, just plain old CSS and a simple template. Lightyears worse than the site it was about to replace. But it did replace the old site, so now I have to look at it and identify myself part of the team. Best thing? We are now offering Wordpress development.
An other example is "lets do a quick order grid". This meant to be a table where the customer can enter SKU and quantity and they can theoretically order faster if they know the SKU already. It's a B2B solution. No one uses it. We have it for 2 sites now and in analytics, we have 5 page hits within 3 years on a site that's receiving 1000 users daily... Mostly our testing and the client looked at it. And no orders. I mean none, 0. I presented a well formatted study with screenshots from Analytics when I saw a proposal to a client to do this again. Guess what happened? Someone else from the team got the job to implement it. Happy client? No. They are questioning why no one is using it.
What would you do as a senior developer?
- Just serve notice and quit
- Try to talk to the boss (I don't see how it would work)
- Just don't give a shit1