PHP 5.6.0 Released
An anonymous reader writes The PHP team has announced the release of PHP 5.6.0. New features include constant scalar expressions, exponentiation using the ** operator, function and constant importing with the use keyword, support for file uploads larger than 2 GB, and phpdbg as an interactive integrated debugger SAPI. The team also notes important changes affecting compatibility. For example: "Array keys won't be overwritten when defining an array as a property of a class via an array literal," json_decode() is now more strict at parsing JSON syntax, and GMP resources are now objects. Here is the migration guide, the full change log, and the downloads page.
It does not have to be useful when it has been given a monopoly over the entire industry.
Troll is not a replacement for I disagree.
Have they come up with another way to calculate the number of days between any given day and Easter yet? I've been waiting for years for a third function to be added to easter_days and easter_date.. a sort of holy trinity, if you will.
But more seriously, though. Most of these new features are straight up things that python already does.
Const expressions? Since at least 2.0.
** syntax since forever.
integrated debuggers since 2.5ish
file size restrictions since never?
I mean... these are really kinda bad things to just now be getting to.
you just use the baby_jesus_butthole function
or was it jesus_baby_butthole? fuck ima need to check the manual
Student Suspended Over Suspected Use of PHP
I know. They have been adding standard default programming language features for years now. The last time I worked with it a year or two ago I was struck by how you could not even `getArray()[3];`, you needed to `$tmp = getArray(); $tmp = $tmp[3];`. It is a potentially decent generic language with some really retarded areas, that does not seem to be out of the beta phase of its development yet.
Troll is not a replacement for I disagree.
holy shit, I thought you were joking.
Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
That's not likely in a weakly typed language. Because the only overloads can be number of args.
How has PHP been given a monopoly on the entire industry? There are other languages out there and many of them are used quite a bit. PHP may or may not be the most popular (I honestly have no stats to tell either way), but even if it was vastly more popular than any other web programming language, it would be far from a monopoly.
My sci-fi novel, Ghost Thief, is now available from Amazon.com.
For what it's worth getArray()[3] was working two years ago (it's been working since PHP 5.4)
Great, what got deprecated? [goes to RTFA]
... and yet the parent still gets modded up. That should tell you something about relationship between what PHP is perceived as being and what it actually is.
Someone flopped a steamer in the gene pool.
PHP is a horrible programming language, but I know why people like PHP applications -- the ability to install an application on a LAMP stack by just untarring a single archive into the deployment directory is priceless.
Last time I tried to install a Python web application, I had to give the installer root privileges to install a bunch of junk in some system-wide module directory. No thanks.
Last time I tried to install a Ruby web application, I ran into a bunch of snafus related to newer versions of Ruby not being backwards compatible with older code, and discovered that the "right" way to do it was to install a whole new package management system that wasn't in sync with my OS's own package manager. No thanks to that, either.
There are other similar expressions that are still not working, though. If you read their todo list for the next major release, cleaning up the parser to allow for arbitrary expressions like that is a major work item. Apparently, they don't even have an AST.
... but, hey, we've got this major feature: you can now multiply two constants, and the result is also a constant! It's almost like C had in, what, 1985? Except that you don't actually need it because this is a dynamic weakly typed language, but who cares. PHP! PHP!
it's the cook that prepares the food. It's not the camera, it's the photographer that shoots the picture. It's not the racing car, it's the driver that wins the race. It's not the programming language, it's the programmer that creates the application.
All you whiners can bash PHP like you want. But a PHP website will still beat your Perl website if the PHP programmer is better than you. So, unless your coding skills are 100% perfect, you better start looking at your own flaws instead of wasting time at whining about a programming language that simply isn't your pick of choice. Please, it's time to grow up.
It doesn't have to be like this. All we need to do is make sure we keep talking.
Yes, and servers do not get updated instantly. Large corporations in particular are always a few years behind, and if you are writing code that will be hosted on a server you do not own yourself it needs to comply to their latest version of PHP, not the bleeding edge of php development.
Troll is not a replacement for I disagree.
Because that is what main players have adopted. If you are programming your own software, on your own hardware, you could write the entire thing in assembly. If you are programming for your companies servers, or "The Cloud" Good luck with the other alternatives.
Troll is not a replacement for I disagree.
It already exists. It's called the VB.Net compiler. I swear that VB was designed to look like pseudocode. I use it at work, and actually find the readability of it quite good.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
It doesn't have a monopoly as such, but it's very hard to avoid. Many - maybe even most - of the major web apps you're likely to be contracted to change/extend are written in PHP for some reason. There appears to be no mainstream alternative to, say, Wordpress/Drupal/et al that's written in something more solid like Java or C#.
You are not alone. This is not normal. None of this is normal.
https://www.flickr.com/photos/...
Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
Here are the lines matching for grep -P 'CVE-\d{4}-\d+':
Fixed bug #67390 (insecure temporary file use in the configure script). (CVE-2014-3981)
Fixed bug #66060 (Heap buffer over-read in DateInterval). (CVE-2013-6712)
Fixed bug #67716 (Segfault in cdf.c). (CVE-2014-3587)
Fixed bug #67705 (extensive backtracking in rule regular expression). (CVE-2014-3538)
Fixed bug #67327 (fileinfo: CDF infinite loop in nelements DoS). (CVE-2014-0238)
Fixed bug #67328 (fileinfo: fileinfo: numerous file_printf calls resulting in performance degradation). (CVE-2014-0237)
Fixed bug #67326 (fileinfo: cdf_read_short_sector insufficient boundary check). (CVE-2014-0207)
Fixed bug #67410 (fileinfo: mconvert incorrect handling of truncated pascal string size). (CVE-2014-3478)
Fixed bug #67411 (fileinfo: cdf_check_stream_offset insufficient boundary check). (CVE-2014-3479)
Fixed bug #67412 (fileinfo: cdf_count_chain insufficient boundary check). (CVE-2014-3480)
Fixed bug #67413 (fileinfo: cdf_read_property_info insufficient boundary check). (CVE-2014-3487)
Fixed bug #66731 (file: infinite recursion). (CVE-2014-1943)
Fixed bug #66820 (out-of-bounds memory access in fileinfo). (CVE-2014-2270)
Fixed bug #66946 (fileinfo: extensive backtracking in awk rule regular expression). (CVE-2013-7345)
Fixed bug #67060 (sapi/fpm: possible privilege escalation due to insecure default configuration). (CVE-2014-0185)
Fixed bug #67730 (Null byte injection possible with imagexxx functions). (CVE-2014-5120)
Fixed bug #66901 (php-gd 'c_color' NULL pointer dereference). (CVE-2014-2497)
Fixed bug #66356 (Heap Overflow Vulnerability in imagecrop()). (CVE-2013-7226)
Fixed bug #66815 (imagecrop(): insufficient fix for NULL defer). (CVE-2013-7327)
Fixed bug #67717 (segfault in dns_get_record). (CVE-2014-3597)
Fixed bug #67432 (Fix potential segfault in dns_get_record()). (CVE-2014-4049)
Fixed bug #67539 (ArrayIterator use-after-free due to object change during sorting). (CVE-2014-4698)
Fixed bug #67538 (SPL Iterators use-after-free). (CVE-2014-4670)
Fixed bug #67492 (unserialize() SPL ArrayObject / SPLObjectStorage Type Confusion). (CVE-2014-3515)
That's not the applications written in PHP, mind you. That's the language system.
... until one day someone gets food poisoned and the restaurant shuts down.
PHP is a horrible programming language, but I know why people like PHP applications -- the ability to install an application on a LAMP stack by just untarring a single archive into the deployment directory is priceless.
Last time I tried to install a Python web application, I had to give the installer root privileges to install a bunch of junk in some system-wide module directory. No thanks.
Last time I tried to install a Ruby web application, I ran into a bunch of snafus related to newer versions of Ruby not being backwards compatible with older code, and discovered that the "right" way to do it was to install a whole new package management system that wasn't in sync with my OS's own package manager. No thanks to that, either.
Maybe now you finally understand why every year is still the Year of the Windows Desktop?
it's been working since PHP 5.4
And guess where Red Hat Enterprise Linux stopped. The only things they backport from new versions are the security fixes.
Why didn't you resolve those dependencies as root yourself, the installer presumably shows what it dose when it fails as a non-root, even if it doesn't do this you can work out the name of the required package. It's normal to run a script and find that it uses some library that you don't have already. Ever tried a java web archive? Just plonk that in the tomcat ROOT dir and it installs automatically, you don't even have to run it. That's priceless.
Why UNIX?
That's because PHP doesn't require anything extra except tuning max_execution_time and the memory limits to make it work for everyone. I'd demand extra money if I had to babysit your rails process and kill it when it consumes a gig of ram on a shared host.
This is one of many reasons why PHP wins out over alternatives.
If you really hate PHP, find a better solution. I'm seeing a lot of talk here about Python and Ruby, but both completely fall flat where PHP excels. Let me know when the catch-up.
Required reading for internet skeptics
I'm certainly biased because my company (ServerPilot) sells a service for PHP developers using DigitalOcean and other servers, but it does seem like PHP is making great progress in the past few years both in the language and in terms of a strong developer community. We're very glad to see PHP 5.3 EOL'd recently. To encourage adoption of 5.6, we've already packaged and added support for 5.6.
tweaky, as in toothless meth addict.
Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
I code in PHP for my day job. There's almost nothing I can't do in PHP. Millions of people use my PHP code. I also know several other languages, so I have some basis of comparison to say PHP 5.0 kinda sucked as a general purpose programming language, and I can tell you exactly WHY it sucked.
PHP was originally a blog / CMS script written in Perl. It was designed to be a blog, not language for general programming. In fact, it wasn't even supposed to be used by programmers at all. It was designed for webmasters who didn't know Perl and didn't want to learn. Up through version 4, it's roots were painfully obvious. Lerdorf has said "I know nothing about language design ", and he's right. Fortunately, he hired some people who do have a clue for the 5.4 versions, so it's getting better.
Umbraco, Orchard? Both mainstream, both mature and both a worthwhile replacement for Wordpress et al.
... consider this:
How many people and projects use PHP? How many use another PL? How many fixes and updates would be in line for that other PL if it would have the same userbase. ... When did Ruby finally become UTF8 safe again?
Make it work, then make it beautiful.
If any PL incorporates this philosophy, it's PHP.
And AFAICT they're doing pretty well following it, don't you think?
My 2 cents.
We suffer more in our imagination than in reality. - Seneca
is any more readable than
To anybody with sufficient knowledge of math and programming, the second is actually more readable, because it's easier to discern what the values are and where the operators are. Assuming you aren't using simple variable names, but rather more descriptive terms, look at the following.
and
In the first option, everything is a word, making it hard for your eyes to pick out exactly what's going on. But in the second one, you know right away that you are dealing with AREA, LENGTH, and WIDTH. You know you are dealing with an assignment looking at the start of the statement, and it's easy to see that you are multiplying.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
I see the mods are still not bothering to read the moderation guidelines after all these years. /. jumped the shark when Rob left. I think it's time I take the hint and bail myself.
I think it's time for some *real* flamebait -
An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
Every time I update PHP on my Windows dev box, I have to re-arrange the order of the extensions in the config file to get PHP to start. Apparently, if you use any extensions that aren't enabled in a vanilla install, the default order of the extensions results in dependency issues. The helpful, paraphrased error message I get is something like, "PHP can't load this extension".
Yes, I know I'm talking about the Windows version, but installing PHP still isn't as simple as just unzipping an archive.
Then again, I've learned not to trust anything in PHP that is designed to make it portable across OSes. I used to use PHP_EOL to determine which newline style to use in my text files. On more than one occasion, PHP_EOL was broken and produced UN*X newlines.
Mainstream? Never heard of either of them.
Using Slashdot's search feature: Wordpress brings up too many hits to count. Umbraco? Zero. Orchard? Less than one page none of which appear to have any relation to the CMS project.
So I can reasonably suggest I'm not in a minority here in never hearing about any of them.
You are not alone. This is not normal. None of this is normal.
In fairness Java hasn't really been like that for years. Not that I blame anyone for holding grudges.
You are not alone. This is not normal. None of this is normal.