News Feed

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

Community News:
Recent posts from PHP Quickfix
April 01, 2015 @ 07:05:48

Recent posts from the PHP Quickfix site:
0 comments voice your opinion now!
A Beginner's Guide To Composer
March 31, 2015 @ 13:48:55

The site has posted a guide that can help you if you're just getting started in the world of PHP packages via Composer. In this new tutorial Daniel Pataki introduces you to the tool and how to use it to install the dependencies you need.

I'm sure there are plenty of coders out there who are wondering about the benefits of using composer and many who are afraid to make the leap into a new system. In this article we'll take a look at what exactly Composer is, what it does and why it is a great tool for PHP projects.

He starts with the basics of dependency management, why it would be used in a project and how it automates the installation and integration of 3rd party libraries. From there he helps you get Composer installed and starts in on a sample "composer.json" configuration file. In his example he installs Monolog, the popular PHP logging class. He talks some about how to specify versions, locking down the dependency versions to install and installing "developer only" requirements.

0 comments voice your opinion now!
composer package dependencies library introduction beginner guide

Using HHVM With WordPress
March 31, 2015 @ 12:11:03

On the site today they've posted a new tutorial showing you how you can use WordPress with HHVM now that they're 100% compatible.

Over the past few months HHVM has taken the PHP community by storm. Since WordPress 3.9 was released, HHVM is now 100% compatible with WordPress.

Unfortunately, HHVM is not quite ready for use in production in self-hosted environments. In my experience, HHVM crashes about once per day, which makes it not viable for a site where high availability is important. Recently, WP Engine has released project Mercury which seamlessly allows HHVM to gracefully fail by falling back to PHP 5.5 when it fails. In this article, we're going to install HHVM on an Ubuntu server running the latest LTS release, 14.04.

They walk you through the full process including:

  • installing MySQL
  • Installing Nginx
  • Installing HHVM
  • Setting up and configuring them all to play nicely with WordPress

It's a pretty short article and doesn't get into the specifics of the WordPress setup steps past ensuring it's working with HHVM but it does give a good starting place.

0 comments voice your opinion now!
hhvm wordpress setup tutorial configure install ubuntu


Derick Rethans:
Xdebug 2.3 Improvements to Tracing
March 31, 2015 @ 11:15:33

Derick Rethans has posted a new article in his series highlighting some of the changes in the latest release of Xdebug (v2.3). In this new post he talks about some of the improvements in the trace file functionality.

Trace files are a way to document every function call, and if you enable it, variable assignment and function's return values - including when these functions were called, and how much memory PHP was using at the moment of function entry (and exit). Xdebug 2.3 adds a new type of parameter rendering for stack traces and function traces through the xdebug.collect_params setting.

This new setting allows much more information to be reported back in the trace results, adding on a serialized version of the value of variables. He also shows the output results (human-readable) that shows the memory usage and time index for the execution. He also shows the new handling to include return values in the trace output using the "xdebug.trace_format" handling.

0 comments voice your opinion now!
tracing improvement xdebug release series part5 output


Voices of the ElePHPant:
Interview with David Stockton
March 31, 2015 @ 10:34:03

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


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


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 Events

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

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

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