Viva64.com: Analysis of PHP7

On the Viva64.com site they’ve posted the results of their own evaluation of PHP 7 in terms of both the source of the language itself and the libraries it makes use of.

Sometimes checking a project one more time can be quite amusing. It helps to see which errors were fixed, and which ones got into the code since the time it was last checked. My colleague has already written an article about PHP analysis. As there was a new version released, I decided to check the source code of the interpreter once again, and I wasn’t disappointed – the project had a lot of interesting fragments to look at.

They start with a brief look at PHP 7 including when it was released, some of the features/functionality included and the tool they used to do the analysis. They talk about some of the difficulties in the analysis process and how the widespread user of macros tripped it up a bit. They includes some code examples from PHP’s source and the warnings that their PVS-Studio returned. The post ends with a brief look at the third-party libraries PHP uses and the responsibility the project takes in including them.

PHPDeveloper.org

SitePoint PHP Blog: What is SparkPost?

The SitePoint PHP blog has a post to their site introducing SparkPost, an email delivery service (in the same vein as Mandrill) that you can hook into your PHP applications to prevent the need to run your own mail servers.

I’ve used Mandrill for as long as I can remember. It sends transactional email, like the kind you receive when you sign up for a new account. Like me, many have been happy to use a free account for sending a relatively low number of emails a month. That is, until recently, when Mandrill caused a bit of a stir. The heart of the matter is that Mandrill removed their free tier. Anybody wishing to send mail through Mandrill now requires a paid-for MailChimp account

[…] Mindful that people are looking for alternatives (to power their personal newsletters or whatever), I spoke to Aydrian Howard. Aydrian is the Developer Advocate at SparkPost, whom I met at FluentConf. We talked for a bit about SparkPost and what makes it different from MailChimp.

After the little bit of Q&A about the service, the tutorial gets in and shows you how to get SparkPost set up for your application. They help you install their own client library and send a first test email using your account. Code is provided showing the configuration of the client with your key and the options you can define when sending the message.

PHPDeveloper.org

Community News: ZendCon 2016 Call for Papers Opens

The ZendCon conference has just announced the opening of the Call for Papers for their 2016 event. The conference will once again be happening at the Hard Rock Hotel and Casino in Las Vegas, Nevada in October (18th-21st).

We’re pleased to announce the ZendCon 2016 PHP Conference, the most anticipated PHP centric event of the year, where community and enterprise PHP developers from around the world gather to share and learn the latest hot trends and technologies in today’s professional PHP development.

We know speakers are key to the success of a conference and hope you will submit a talk. In appreciation for the efforts provided, our speakers package ensures they will not need to worry about anything other than delivering the best talks.

They’re not just looking for PHP topics either. They’ll consider a wide range of topics including PHP frameworks, devops, source control, continuous delivery and many more. The Call for Papers ends May 31st, 2016 so be sure to get those submissions in early (and often) before time runs out.

PHPDeveloper.org

Christian Mackeprang: Project delays: why good software estimates are impossible

Christian Mackeprang has a new post to his site with some of his thoughts on why software estimates are impossible in any realistic project development process.

When you, as a programmer, start a new project, you will often not know full well how to do it, for many reasons. But you are a professional, and you’ve completed similar tasks in the past, so you either try to figure it out, or find someone who can, and ask them how, or just google it.

[…] The problem comes down to the difference between tasks which require a lot of thinking, and routine tasks which you already have some practice with.

He gives an example of solving a Rubik’s cube, how most people take a very long time to figure it out but there are some that can do it in a matter of seconds. He talks about unexpected complexity and how that can blow previous estimates out of the water. He points out that complexity can be cumulative (related to the number of tasks) and the difference between creative and mechanical tasks.

PHPDeveloper.org

CloudWays Blog: Using Memcached With PHP

On the Cloudways blog they have a new tutorial posted showing you how to use memcached with PHP to help improve the overall performance of your application through cached data.

Memcached is a distributed memory caching system. It speeds up websites having large dynamic databasing by storing database object in Dynamic Memory to reduce the pressure on a server whenever an external data source requests a read. A memcached layer reduces the number of times database requests are made.

[..] Why Memcached? It increases the response time of your web pages, which in return enhances the overall customer’s experience. A better response time allows users to fetch data seamlessly.

He starts by ensuring that you already have a memcached instance up and running (it’s external to PHP). They suggest using their own Cloudways setup, but it’s relatively easy to install with packages on most Linux distributions. With that verified, he shows how to check for memchace functionality in your PHP installation and provides a bit of code to create a connection. Next is an example showing how to pull information from a MySQL database and push that data directly into the waiting memcache server via a set method call. It also includes a get example, showing if the caching was a success or not.

PHPDeveloper.org

Laravel News Podcast: Episode #13 – Chrome Extension for Tests, Jigsaw, Fixing MySQL Memory & More

The Laravel News Podcast has released their latest episode, Episode #13 hosted by PHP and Laravel community member Eric L. Barnes.

In this episode, we talk about Laravel Exception Reporter, Chrome Bandwidth limiter, Chrome extension to generate Laravel tests, Jigsaw, Helpspot Vault, Fixing MySql Memory, Sparkwatch, and Taxes.

You can listen to this latest episode either using the in-page audio player or by subscribing either through iTunes or their RSS feed.

PHPDeveloper.org

Jordi Boggiano: Composer goes Gold

Jordi Boggiano has posted some excellent news for all of the Composer users out there – the widely popular dependency management tool has officially "gone gold" and has tagged the stable v1.0.0 version of the tool.

Five years ago today, Composer was born. In some ways it feels like yesterday, at least it doesn’t feel like five years went by. In other ways it seems like a lifetime ago, and I can barely remember what it was like to write PHP code without having a whole ecosystem at my fingertips.

Jordi talks about one big change that happened recently around the "self-update" feature of the tool. He hopes that more people will use the preview or snapshot channels in their deploys/development so he can get more information about these other options before they get to stable. Finally, to mark the occasion Jordi has put a "gold" copy (on floppy disk none the less) up for sale on eBay to commemorate the release.

PHPDeveloper.org

Scotch.io: The Ultimate Guide to Sending Email in Laravel

On the Scotch.io site today there’s a new tutorial giving you the ultimate guide to sending emails in Laravel – from choosing your provider out to sending both text and HTML emails (some with attachments).

Sending emails in web applications has become so essential. Marketing, notifications, newsletters, adverts, etc are some of the reasons why we send emails to our clients. I’d say the majority of websites send automated emails at least via a „Contact us“ form.

Let’s explore the many possible ways to send emails in a Laravel application.

They start off with a brief look at three different services you can set up out of the box with Laravel: Mailgun (for regular sending), Mailtrap (for debugging) and Mandrill (for bulk emails). They show you how to configure each service in Laravel and setting one of them up as the default. The tutorial then gets into sending the actual emails through a simple EmailController::send endpoint. They show the code to set up the Mail. They show examples of what the resulting emails look like and how they show up in the related mail services. There’s also instructions on attaching files, using queues to optimize email sending and a "bonus" about sending bulk emails with MailChimp.

PHPDeveloper.org

SitePoint PHP Blog: Drunk with the Power of Composer Plugins

The SitePoint PHP blog has a new tutorial for the Composer users out there talking about Composer plugin development and how they can add functionality to this already powerful tool.

Composer is the sharpest tool in the toolbox of the modern PHP developer. The days of manual dependency management are in the distant past, and in their place we have wonderful things like Semver. Things that help us sleep at night, because we can update our dependencies without smashing rocks together.

[…] Even though we use Composer so frequently, there’s not a lot of shared knowledge about how to extend it. […] Yet, recent changes have made it much easier to develop Composer plugins. […] So, today I thought we would explore the possibilities of Composer plugin development, and create a fresh bit of documentation as we go.

He walks you through the creation of a simple plugin: one that tracks users and the dependencies they require. He shows you how to create the initial plugin boilerplate and the creation of the addDependencies and activate methods. These grab the dependencies being added and send the information off to a remote site.

PHPDeveloper.org

Semaphore CI Blog: Dockerizing a PHP Application

On the Semaphore CI blog they’ve posted a great tutorial that wants to help you Docker-ize your PHP application and deploy the application easily out to Heroku (with some help from Semaphore, naturally).

In this tutorial, you will learn what Docker is and how you can use it to create sophisticated working environments. If you already have experience using VMs such as VirtualBox, Vagrant, etc., you’ll grasp the concept quickly.

To make things more concrete, we will use a demo application which interacts with the 500px API to list popular photos, view, upvote and comment on them. The application is built using Laravel 4, but this shouldn’t present an issue in our case.

They start with a brief introduction to what Docker is for those not familiar with the technology and some of the requirements you’ll need to use it. They help you get Docker installed on your local system and how to work with Docker images and containers to create a custom environment for the Laravel application. Next, he talks about Dockerfiles (configurations for Docker), spinning up the environment and an alternative to manual commands: Docker YAML configuration. The next move is to deploy to Heroku using the "heroku‘ command line tool and integrating it all with Semaphore for continuous deployment.

PHPDeveloper.org