News Feed

News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Community News:
Latest PECL Releases for 03.31.2015
March 31, 2015 @ 07:03:42

Latest PECL Releases:
  • imagick 3.3.0RC1 - Added ImagickKernel class. These can be used with the Imagick::morphology or Imagick::filter functions. - Added methods: * Imagick::brightnessContrastImage() * Imagick::colorMatrixImage() * Imagick::deleteImageProperty() * Imagick::filter() * Imagick::forwardFourierTransformImage() * Imagick::getAntiAlias() * Imagick::getImageCompression() * Imagick::getRegistry() * Imagick::getQuantum() * Imagick::identifyFormat() * Imagick::inverseFourierTransformImage() * Imagick::isPixelSimilarQuantum() * Imagick::listRegistry() * Imagick::morphology() * Imagick::rotationalBlurImage() * Imagick::selectiveBlurImage() * Imagick::setAntiAlias() * Imagick::setImageBiasQuantum() * Imagick::setProgressMonitor() * Imagick::setRegistry() - which allows setting the "temporary-path" used by ImageMagick * Imagick::statisticImage() * Imagick::subImageMatch() * ImagickPixel::getColorQuantum() - Added constants: * Imagick::RESOURCETYPE_TIME * Imagick::RESOURCETYPE_THROTTLE * Imagick::CHANNEL_RGBA * Imagick::ALPHACHANNEL_BACKGROUND * Imagick::FUNCTION_ARCSIN * Imagick::FUNCTION_ARCTAN - Fixed Imagick::clutImage() parameter parsing - Fixed tint image bug - Fixed ImageMagick compiled with HDRI having quantum values as floats - Fixed memory leaks in: * Imagick::getImageBlob() * Imagick::getImagesBlob() * Imagick::getImageChannelStatistics() * Imagick::getImageFormat() * Imagick::getImageMimetype() * Imagick::getSamplingFactors() * Imagick::identifyImage() * Imagick::tintImage - Fixed segfault when compiling statically - ImagickDraw::setFontFamily no longer checks whether the font is available. This allows a font family to be set where the family name is not the same as the font name. However it also means an invalid family name can be set, leading to the default font being used, instead of an exception being thrown. See - Removed Zend MM support - Excluded deprecated methods: * Imagick::getImageMatte() * Imagick::colorFloodfillImage() * Imagick::matteFloodfillImage() * Imagick::paintFloodfillImage() * Imagick::paintOpaqueImage() * Imagick::paintTransparentImage() * Imagick::mapImage() * Imagick::recolorImage() * Imagick::setImageIndex() * Imagick::getImageIndex() * Imagick::getImageSize() * Imagick::setImageAttribute() * Imagick::getImageAttribute() * Imagick::mosaicImages() * Imagick::averageImages() * Imagick::flattenImages() This is replaced by $im = $im->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN) * Imagick::getImageChannelExtrema() * Imagick::getImageExtrema() - Ini file changes * Added imagick.skip_version_check. Imagick now checks that it was compiled against the same version of ImageMagick that it is being run with, and will give a warning if it was compiled against a different version of ImageMagick. The skip_version_check setting allows you to suppress this warning. However it is strongly recommended to use the version of ImageMagick that Imagick was compiled against. - Misc: * CI now compiles with CFLAGS="-Wno-deprecated-declarations -Wdeclaration-after-statement -Werror"

  • xxtea 1.0.10 Fixed typo in configure output

  • swoole 1.7.14 - Update websocket server onOpen callback params - Update websocket server onMessage callback params - Added swoole_server->tick/swoole_timer_tick function - Fixed onReceive data merge failure - Added http server gzip compression supports - Update http server allows sending empty body

  • mongodb 0.3.1 * PHPC-211: Windows libbson and mongoc config files missing in release archive

  • mongodb 0.3.0 * PHPC-175: Fix header includes on Windows * PHPC-175: Fix build on 32bit * PHPC-175: Windows doesn't have these compiler attributes * IPHPC-176: Copy build templates, add missing file & set build flags * PHPC-200: Don't set stream initiator when creating client fails * PHPC-199: Missing file from mongoc in config.m4 * Update naming after PHPC-174

  • mongo 1.6.6 ** Bug * [PHP-1413] - Driver segfaults with SSL connection and no context options * [PHP-1414] - SSL peer verification should reference stream->context options

0 comments voice your opinion now!

Christopher Pitt:
Co-operative PHP Multitasking
March 30, 2015 @ 12:47:41

Christopher Pitt has posted a new article on about when an "array is like an adventure" when in the context of co-operative PHP multitasking. In it he shows how to make code work asynchronously with out the use of extensions, only generators.

Last week I got the opportunity to share recent work with my colleagues, at SilverStripe. I was going to present Async PHP today, but since I covered ReactPHP last week; I decided to talk about something slightly different. So here's a post about cooperative multitasking.

He starts with some basic arrays and other things that act like them and can be iterated through (Traversable). He talks about implementing custom iterators to act the same way and the use of IteratorAggregate to "cheat" a bit when making them. The he gets into generators, showing how they can be used to iterate similarly. He shows how it's possible to send data to a generator, throwing exceptions inside them and the use of "coroutines" to create asynchronous code. He builds up a queue system with this method and shows how they execute with some simple echo output. He also shows the use of RecoilPHP, another coroutine-based library, to replace the main kernel for a ReactPHP script. He also mentions IcicleIO as another option.

0 comments voice your opinion now!
cooperative multitasking asynchronous code coroutine generator


SitePoint PHP Blog:
Best PHP Framework for 2015 - SitePoint Survey Results
March 30, 2015 @ 11:59:00

In a new post to the SitePoint PHP blog editor Bruno Skvorc shares the results of the PHP framework survey the site posted a month back. In it they asked developers for their opinions on favorite frameworks (not necessarily the one they use, but their own personal opinion). For anyone that's been keeping up with the current state of PHP frameworks, the results aren't all that surprising though.

One month ago, we started the annual SitePoint framework popularity survey. Now that the month has expired, it's time to look at the results and to distribute the prizes. The response was a whopping ~7800 entries, far more than any other survey we've held so far, and even after filtering out invalid entries we end up with a formidable number of valid participants.

According to the results the most popular framework, by far, was Laravel. Coming in second was Symfony2 and third the Nette framework. They did ask for different opinions for personal versus business choices but the results track the same between the two. He also splits out the data into the top results by country and by the age of the people who responded.

He finishes off the post with some of his own thoughts on why Laravel was the clear winner with only some of it having to do with the framework itself. He points out the related projects, "near perfect documentation" and other things (like Laravel's own subreddit). He suggests that, even though open source and "free" tend to go together, spending money and a good amount of time on a project can help ensure it succeeds. He also offers some practical advice for those wanting to give their project a boost:

Spread the word, analyze solutions from other people, discuss them. Be open, be transparent. Have an official blog, get a StackOverflow tag, justify your decisions, get in touch with popular publications which can help promote your framework if you present it well enough.
0 comments voice your opinion now!
framework survey results opinion popularity 2015 laravel symfony2 nette


Voices of the ElePHPant:
Interview with David Stockton
March 30, 2015 @ 10:34:18

The Voices of the ElePHPant podcast has posted their latest interview with a member of the PHP community. In this latest episode host Cal Evans talks with David Stockton, a conference goer and member of the Front Range PHP User Group

Cal and David talk about conferences and how it has had an effect on him as a programmer. Cal also asks him about his preference between going to sessions versus hanging out in the "hallway track".

You can listen to this episode either through the in-page audio player or you can download the mp3 of the show. If you enjoy the episode, you can subscribe to their feed.

0 comments voice your opinion now!
voicesoftheelephpant community interview davidstockton podcast


Rob Allen:
Building and testing the upcoming PHP7
March 30, 2015 @ 10:14:08

Rob Allen has posted a guide to building and testing PHP 7, the next upcoming major build of the PHP language (released sometime later this year).

The GoPHP7-ext project aims to ensure that all the known PHP extensions out there work with the upcoming PHP 7. This is non-trivial as some significant changes have occurred in the core PHP engine (related to performance) that mean that extensions need to be updated. In order to help out (and prepare my own PHP code for PHP 7!), I needed the latest version of PHP7 working in a vagrant VM. Fortunately Rasmus has created a such a VM called php7dev, so let's start there.

He walks you through the process of grabbing the latest version of the virtual machine and set it up as a Vagrant VM instance. He talks about the different PHP versions contained in the VM and how to update PHP 7 to the latest pre-release version. Finally he talks about building an extension on the VM (he uses the apfd extension) and how to configure the VM to be able to test your own code too.

0 comments voice your opinion now!
php7 test vm extension rasmuslerdorf vagrant tutorial


That Podcast:
Episode 16 The one with HTTP/2
March 30, 2015 @ 09:05:49

That Podcast has posted their latest episode today, Episode #16 - The One with HTTP/2.

Beau and Dave catch up on their latest happenings and talk about HTTP/2, what makes it different and how we understand it could change the way we do things.

Other topics mentioned in this new episode include:

You can listen to this latest episode either through the in-page audio player or by downloading the mp3. Be sure you subscribe to their feed if you enjoy the show too!

0 comments voice your opinion now!
thatpodcast ep16 http2 podcast beausimensen davemarshall


Community News:
Latest PEAR Releases for 03.30.2015
March 30, 2015 @ 07:09:18

Latest PEAR Releases:
0 comments voice your opinion now!

ServerGrove Blog:
New Symfony installer the fastest way to start your Symfony project
March 27, 2015 @ 12:13:42

The ServerGrove blog has a new post today introducing the new Symfony Installer, a tool that can make getting started with a Symfony2 application quick and easy.

Yesterday, the Symfony team introduced the new Symfony installer. Its main goal is to help developers to create Symfony projects faster. Until now, installing Symfony to start a new project required a few steps. [...] The installer tries to do this in one step. It downloads a compressed file with all the code, including the vendors directory, so you don't need anything else to run Symfony for the first time.

The post shows you how to install the installer via a curl call to fetch the executable. They show how to use it to create a new project, making a demo project and the resulting application and web interface for the demo. They also mention some of the future work that's planned for the installer including HTTPS support and caching improvements. The post finishes up with a quick mention of the code "under the hood" using the Symfony console component.

0 comments voice your opinion now!
symfony installer introduction demo tutorial example command console


5 Things You Must Know about PHP 7
March 27, 2015 @ 11:07:39

There's been a lot of talk in the community about PHP 7 and what features will be included but there's been a *lot* of it. To help distill it down a bit Zend has posted this infographic of the Top 5 features that will be coming in this next major version.

Their top five list includes both the main points and a quick summary for:

  • When it comes out (hint: this year)
  • The spaceship operator
  • Return type declarations and scalar type hints
  • Performance improvements

...and #5, even more performance improvements. There's also some links to other information about some of the topics to provide even more detail for those wanting to dive in.

0 comments voice your opinion now!
php7 infographic top5 list release spaceship returntype scalartypehint performance


Kristopher Wilson:
Using Interfaces Effectively in PHP
March 27, 2015 @ 10:12:32

Kristopher Wilson has a quick post talking about how he thinks you can use interfaces effectively in PHP applications.

Yesterday, a question appeared on Reddit about the purpose of interfaces in PHP. While I was too late to the party to provide an answer to that thread (at least that would get noticed by anybody), I thought it was a great topic of conversation. So let's take a look at interfaces in PHP.

He introduces some of the basics around interfaces and provides some sample code showing how they're created and used (and extended). He talks about some good practices for implementing them in your classes and how this fits into the world of dependency injection. He also includes a bit about type hinting based on the interface implemented and how they can be seen as "contracts" in your code.

0 comments voice your opinion now!
using interface contract introduction example extend


Community Events

Don't see your event here?
Let us know!

library version release framework list example series opinion voicesoftheelephpant unittest extension interview laravel5 php7 podcast laravel introduction language community api

All content copyright, 2015 :: - Powered by the Solar PHP Framework