Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

they should introduce a robust "clean" api in PHP6 and remove the old stuff in PHP7. that will let sometime to rewrite libs.They should move to C++ too,it's a pain to OO write extensions in C.


sort by: page size:

Somebody should fork PHP 5.6. There is a lot of Software still depending on it and it is unrealistic to expect companies to migrate millions of lines of third party code to PHP 7.

We upgraded our bespoke, massive php5 codebase to php7 in a week.

The much bigger upgrade was 4 to 5. We have something like 6 custom C extensions and that was a huge pain.

php7 is a great language though. Worth the pain.


The same reason there is still a ton of legacy PHP 5.6 code.

Migration in interpreted languages that implement major breaking changes is really tedious.


I guess there is a business opportunity then to write a module with the old API that keeps working with new versions of PHP.

PHP 6 was originally started back on 2005 with a very clear and well advertised set of features. Many of those have been merged into 5.x releases except for the largest item which involved improved unicode handling, which has been dropped entirely.

I'd rather see them skip ahead to 7 than to try to re-write the existing definition of PHP 6.


Good.

Dont know if i'll still be using PHP in 5 years, but I think PHP team is trying hard to turn the language around and bring some sanity to the project. PHP7 ,the next version will be an important step in the right direction.


It really does. I work partly on a 10 year old PHP software. PHP 7 has apart from some other breakages some changes in the evaluation order that I expect to break everything. Thankfully related to objects, so with a bit of luck it will mostly hit the bundled libs (the project of course does not use objects for its own structure) which can then be exchanged or maybe will get updates.

Lots of work.


I think PHP7+ has provided a lot in terms of modernization and focus on the OO paradigm.

For what it's worth, there are a couple of tools out there that should help getting your personal app up and running on PHP7 if you're interested in doing that at some point. Most of the breaking changes I've run into are because deprecated features were removed, which in a lot of cases seemed like strange/wrong syntax to me anyway.

I have a legacy app that can't feasibly be updated past 5.6 because it uses a totally undocumented framework that wasn't built in-house. While I could run one of the tools I mentioned, 99% of the framework code probably never runs so there would be a lot of work done for nothing.


While I appreciate it as a user, I hope that when it happens they learn from Python and, surprisingly, PHP.

PHP took over 10 years between 5 and 7. A bit push to upgrade from 5.6 was around 2017/2018 when support would stop. It was a mess because most developers simply didn't care or didn't know enough to handle this.

Now they're doing yearly releases (7.2, 7.3, 7.4) but also PHP 8 was released already (along with 8.1 and 8.2).


Of course, but they won't do that because of backwards compatibility and I get that.

It's one of the nice parts of rebranding. Hack could keep and throw out anything they wanted because it was intended for private FB use. At some point, PHP will have to start cutting off the stdlib PHP4.x warts. There's enough about PHP 7 that's good enough to be compelling to anyone working in an interpreted language on the web, but the (well earned) reputation keeps a lot of people away.


Major PHP versions are the evolutionary jumps for the language. They don't tend to worry as much about backwards-compatibility when going from PHP3 to PHP4 to PHP5. I've read that PHP6 was supposed to take it further and outright remove a lot of deprecated and insecure aspects of the language, but I don't know if or when PHP6 will be released.

I agree that they should take things even further and really clean up the language before releasing the next major version. Fix the needle-haystack vs. haystack-needle inconsistencies, function naming conventions, and so forth.

The adoption rate of a new major version on shared hosting providers is relatively slow, so it'd be a perfect time to really shake things up and clean it up.


There are people trying to take care of some of that already. https://github.com/php/php-src/pull/301 was at some point hoping to get into 5.6 but I don't know what happened to it since then.

They better keep the backward compatibility, or you face the fiasco of Python 2 vs 3. The way that PHP deprecate API functions slowly over a period of time is prefered.

The goal for PHP6 is basically to provide good unicode support (strings internally as unicode etc.)

However due to problems and internal conflicts the effort was stopped a few years ago and there has been no progress since.

If this goal hadn't been stated PHP 5.3+5.4 would probably have been PHP 6 (they have some major new features). Core API cleanup never has been (and it doesn't look like it will soon be) a goal for a future release, unfortunately.


Then they have a couple options: fork and keep their own fork, they can pay the PHP community (or someone in it) to change it back (or to provide a backwards-compatibility mechanism) or pay developers to change their software to work with newer versions of PHP.

They can't bully their way like they tried.


They want to break backwards compatibility. That would arguably be a bad thing for PHP as a language. It's apparently something they need for themselves though. The only choice that isn't being a bad citizen is to break away from PHP.

PHP. Can freely being in any improvements that fit their model, but the goals of the two projects are no longer compatible.


Yeah I wish the focus was more on backwards compatibility at this point. Most PHP codebases are very old.

In my experience, the kind of crappy codebase this would affect would never be upgraded anyway. Many of them are still on PHP 4!

This one does look promising. I didn't know they re-written it for PHP7. But still looks like an early days. Might wait a bit!
next

Legal | privacy