|Greetings PHP Fans,
Last week was Open Source week at SitePoint.com. This edition of Sourcehunt, however, is a little different to the usual, as they discuss open source in general, including how to help it spread.
Also the release candidate for WordPress 4.7 is available. Now is the time for testing, as 4.7 is due out next week.
We bring you Part One of a new series of tutorials on Composer, with the first episode going through the command-line options.
Plus the Sound of Symfony Podcast is back, looking at what makes a good Symfony bundle and how you can build a better one.
And finally, the International PHP Conference has been announced for May next year in Berlin, with Early Bird tickets already on sale.
We always appreciate feedback from our subscribers, so if you have anything you want to tell us, ask us or share with us, please drop us a line at firstname.lastname@example.org.
Katie and Ade
We love our sponsors. Why not try them?
From our sponsors:
Sourcehunt – Open Source Week Edition
This week is Open Source Week at SitePoint.com. While we do usually cover open source here, what with all the tutorials and introductions to amazing new libraries, packages, and frameworks, this week will be a little “theoretical” for a change. We’ll discuss open source in general, think about how it’s affecting our programming language’s landscape, what we can do to help it spread, cover some interesting open source projects, and more.
10 Quick Lessons From 6 Laravel Product Reviews
Those who follow this blog or Twitter account know that last week I did some Laravel-based products reviews. Totally 6 of them, all in one week. I’ve published them one by one, and now it’s time to recap and talk about main conclusions, takeaways and lessons. What have I learned from those Laravel products?
Scheduling ElePHPants (DateTime math is HARD)
It was while I was creating the 100th or so cronjob to do some very similar to the other 99 that I thought, “Hey! Why not just put all this in a database and check it once a minute instead?” I mean c’mon, working with MySQL is soooooo much easier than working with cron. Besides, a lot of these jobs are “sit and wait a random amount of time before doing something” type of jobs. It would be so much easier to deal with in PHP. Also, cron does not scale well at all either in performance or management.
Good News: WordPress 4.7 Supports Post Type Templates
The support for post type templates means that, in the future, theme developers will be able to deliver as many templates as they wish for as many post types as they want to. This is not to be confused with the support for custom post types, which has been around for a while already. Custom post types can be designed as desired as well, but only once per post type.
Use Laravel Shift For Your Next Upgrade
I’ve had an eye on LaravelShift.com since it first made its way across my twitter feed some time ago. I’ve also had the pleasure of meeting and talking with its creator Jason McCreary at a few conferences over the past year. I think it’s really awesome when community members are able to take a product to market that not only scratches their own itch, but can provide value to the rest of the community as well.
Tutorials and Talks
Setting Up and Deploying a Modern PHP Application
Despite widespread adoption, PHP has long received criticism for being inconsistent and encouraging questionable development practices. That said, millions of developers use PHP regularly, and many of them are making real software that solves real business needs, so it’s important that we understand how to use the language and deploy it in a modern environment.
Programming With Yii2: Security
In this Programming With Yii2 series, I'm guiding readers in use of the Yii2 Framework for PHP. If you're planning to share your application with the public, you'll need it to be secure, and it's best to plan this from the beginning. Fortunately, starting with a framework such as Yii makes this a lot easier than it otherwise would be. In this tutorial, I'll walk you through the basic security concepts within the Yii application framework.
Quick Way to Create a PHP stdClass
Simon Holywell shows how to quickly create the stdClass in PHP and populate it with properties and values, by casting an array to an object.
What’s New in PHP 7.1.0
The newest version of PHP – 7.1.0 – is already at RC6 (Release Candidate 6) status, which means it will be out soon. After a huge update that took PHP from 5.6 straight to 7.0 increasing speeds considerably, PHP is now focusing on core language features that will help all of us write better code. In this article I’ll take a look at the major additions and features of PHP 7.1.0 which is just around the bend.
Quickly Dumping Laravel Queries
When you are building an application and utilising Eloquent it’s very easy to hit the N+1 problem. This is where you select a model and then later use lazy loading to fetch child records.
An Uptime and SSL Certificate Monitor Written in PHP
Today we released our newest package: spatie/laravel-uptime-monitor. It’s a powerful, easy to configure uptime monitor. It’s written in PHP and distributed as a Laravel package. It will notify you when your site is down (and when it comes back up). In this post I’d like to show you how to start using the package and discuss some of the problems we faced (and solved) while creating the code.
Open Source Email Marketing with phpList
Email marketing has been exploding in popularity. You might have heard of the likes of MailChimp and Emma advertising the use of their services to send a whole bunch of messages for prospects and profit. The number of ways to promote goods online is forever growing, and research shows emails are still the most effective. I like to compare it with the “desktop is dead” myth; while mobile is on the rise, desktop is here to stay. I believe the same about email.
Ubuntu 16.04 and PHP 7 Not Rendering
After reloading my work laptop with Ubuntu 16.04 LTS (I prefer to do a reload versus an upgrade, for each LTS version) I was very excited to install PHP 7, and installed using the standard Ubuntu repositories using typical commands. However, after doing the installs I discovered PHP scripts would not render in a browser.
Solving Conflicts in composer.lock
Since I joined Usabilla, I have been working once more in a large team. With more people involved in the process of working with composer, adding, updating and removing libraries, merge conflicts are bound to happen. Ideally I would tell you to leave that process to only one person, but that is not realistic in teams over, well, one person. So it will happen, but how do we keep our sanity?
Event Sourcing in a Pinch
Let’s talk about Event Sourcing. Perhaps you’ve heard of it, but haven’t found the time to attend a conference talk or read one of the older, larger books which describe it. It’s one of those topics I wish I’d known about sooner, and today I’m going to describe it to you in a way that I understand it.
Shimming PHP for Fun and Profit
Slow websites in PHP are not especially rare, but most developers/clients do not seem to care too much. In cases when they do, there are usually strategies to address that. This was one of those times where the client both cared and I had nothing to offer them. (Names changed to protect the guilty/blameless).
Using Constraint-based Ordering in PHP
An interesting problem arose last week when we wished to generate a listing of recently completed jobs (along with their shortlist fees). Upon review of some earlier attempts, we did not like the aesthetics present when many of a particular shortlist fee were clustered together (i.e. two or more adjacent jobs with the same shortlist fee). What we were instead looking for was to create a constraint-based ordering that, when applied to the recently completed jobs, would give an even distribution of shortlist fees (data-set permitting).
Building Your Startup: Refining Email Templates
This tutorial is part of the Building Your Startup With PHP series on Envato Tuts+. In this series, I'm guiding you through launching a startup from concept to reality using my Meeting Planner app as a real-life example. In this tutorial, I'll be refining the responsive, HTML email templates that Meeting Planner uses to send out invitations, notifications, reminders, and account-related messages.
Using Traits With PHPUnit
As we already wrote "Code Reuse By Inheritance" has lots of problems and we consider it a code smell. You should always aim to use Dependency Injection, most likely Constructor Injection. But with test cases in PHPUnit we cannot do this because we have no control over how and when our test cases are created. There are similar problems in other frameworks, like we discussed in "Object Lifecycle Control". We also blogged about traits as a Code Smell, but let me show and explain why they might be fine to use in your test cases.
Creating a REST API in Symfony 3
Nowadays, Web applications are not simply displaying data, they are also integrating with other applications and combining the information and functionalities. A common way to enable easy communication between different applications is the REST API. Let's see how to achieve that with the Symfony 3 PHP framework.
The Composer Command-Line Essentials
I know that a series on Composer might seem odd. But, as Composer’s been a part of PHP for so long now, I feel that it’s something which most of us take for granted. In part one of this series, I’m going to take you through Composer’s command-line. I’ve cherry-picked a key subset of the command-line options, and focused in on key switches, so that you can do more than you already can.
|News and Announcements
WordPress 4.7 Release Candidate
The release candidate for WordPress 4.7 is now available. RC means we think we’re done, but with millions of users and thousands of plugins and themes, it’s possible we’ve missed something. We hope to ship WordPress 4.7 on Tuesday, December 6, but we need your help to get there. If you haven’t tested 4.7 yet, now is the time!
PHP Conference Brazil - December 7-11th 2016, Sao Paulo
Next week sees the 11th Brazilian PHP Conference. With hands-on courses, practical mini-courses, talks and keynotes, the conference takes place over five days. For beginners and professionals, students, project managers and analysts alike, there's only two days left to get your tickets.
PHP Benelux Conference - January 27-28th 2017, Antwerp
The conference and tutorials will take place at Hotel Ter Elst in Antwerp (Belgium). Friday morning January 27th we have a set of tutorials. The conference is spread over 2 days: Friday afternoon (after the tutorials) and Saturday. Tutorials as well as the conference itself are spread over several parallel tracks. On Friday and Saturday evening, we’re having the conference social. This will include drinks and all the cool side activities. Early Bird tickets are on sale now.
PHP UK Conference - 16-17th February 2017, London
PHP UK is pleased to announce the 12th Annual PHP UK conference; a 2-day event with 3 great tracks held at The Brewery, in the heart of the City of London. With over 700 delegates, speakers, and sponsors, PHP UK conference aims to deliver fantastic up-to-date content about PHP and related web technologies in a comfortable and professional setting. There are countless networking opportunities to engage with international speakers and delegates, which makes the event one you won't want to miss. Early Bird tickets are on sale now.
International PHP Conference - May 29th-June 2nd 2017, Berlin
The International PHP Conference is the world’s first PHP conference and has been going for more than a decade, for top-notch pragmatic expertise in PHP and web technologies. Internationally renowned experts from the PHP industry meet up with PHP users and developers from large and small companies. Early Bird tickets are on sale now.
Sound of Symfony Podcast: Episode 16 - Building A Better Bundle
In this episode we discuss what makes a good Symfony bundle, and how you as a bundle author can build a better bundle.
Three Devs and a Maybe Podcast - Getting Started Using Composer with Jonathan Klein
In this weeks episode we are joined by Jonathan Klein to discuss his recently released Composer Pluralsight course. We start off by discussing the problem Composer is trying to solve, followed by past attempts at trying to solve it in the PHP landscape. Following this, we move on to discuss how the composer.json and composer.lock files work, the importance of versioning, the Semantic Versioning standard and how autoloading works. Finally, we delve into a couple of lesser-known Composer features, such as the event life-cycle, scripts and the plugin architecture that is present.
MageTalk Magento Podcast #108 - “Hit Him Up Four Minutes Ago” (w/ Ali Ahmed)
In Episode 108, we discuss the Florida meetup and recent security hacks with Ali Ahmed, of Imagination Media in South Florida. Ali is a good friend of ours with some great and hilarious insights on the Magento community, and has been supplying 30% of the MageTalk content on the DL for months now.
The Laracasts Snippets Episode 50: Simple Laravel Performance Wins You Can Implement Right Now
In this episode, we're focused entirely on simple performance tips that anyone can implement right now. Every kilobyte counts, so try to implement at least a few of these, if you aren't already!
Zend Framework Quick Bites Episode 19 - Have YOUR Say
In this episode, I’m stepping back a bit from the usual flow and turning the mic over to you. I’m keen to find out exactly what you want to learn about Zend Framework, what the one feature is that you’re keen to know about. If there’s some way in which I can help you learn more effectively, more deeply, I’d love to know. Grab a warm beverage, and come find out more!
Voices of The ElePHPant - Interview with Sara Goleman and Elizabeth Smith
Recorded live at ZendCon back in October, Cal Evans chats to Sara Goleman and Liz Smith.
Thijs Feryn Podcast: Jenny Wong - From PHP to WordPress
This interview was recorded at the very first WordCamp Antwerp in Belgium. Jenny Wong is a community engineer at Human Made. In this interview we talk about how Jenny and I met. We also talk about Jenny's background, her involvement with PHP and her transition to the WordPress community. Plus we discuss the hash tag #HMGOES. Jenny and her colleagues use it every time they travel to WordPress events.
PHPChunkit – PHPUnit Test Runner with Test Chunking Capabilities
PHPChunkit is a library that sits on top of PHPUnit and adds additional functionality to make it easier to work with large unit and functional test suites. The primary feature is test chunking and database sandboxing, which gives you the ability to run your tests in parallel chunks on the same server or across multiple servers. This lightning talk aims to introduce you to the basics of PHPChunkit and show you how to get started using the library.
Ben Kepes Talks About The Importance of Cloud Hosting for SMBs
Ben Kepes is all about Diversity. It also happens to be the name of the project where he is a Director and Principal. But, then you see his experience - and you see his diverse roles: a technology evangelist, a commentator, an investor, and a business adviser. Honestly speaking, he was one of the first cloud evangelists who took Cloudways for a run.
New Book: Laravel Up and Running
Matt Stauffer, who has been blogging about Laravel since the 5.0 release, the host of the Laravel Podcast, and partner and technical director at Tighten.co, has been working on a new Laravel book, Laravel: Up & Running, published by O’Reilly. It’s available now as an e-book and the paperback version will begin shipping in a few days. With the book now complete and heading off into printing, I had the opportunity to ask Matt a few questions about the book and his experiences as a first-time author.
PHP 7 Programming Blueprints (by Jose Palala and Martin Helmich, published 7th Oct 2016)
Don’t just learn PHP 7 – follow a diverse range of practical knowledge to get started quickly. Take advantage of PHP 7's newest features – and find out how to use them to solve real development challenges.
Do you have a position that you would like to fill? PHP Weekly is ideal for targeting developers and the cost is only $50/week for an advert. Please let me know if you are interested by emailing me at email@example.com
Interesting Projects, Tools and Libraries
Porter is a data import abstraction library to import any data from anywhere.
A tutorial integrating Stripe in PHP.
A PHP 5.5+ tax management library.
Laravel PHP Facade/Wrapper for the Youtube Data API v3 (Non-OAuth).
A PHP LDAP Package for Active Directory Manipulation.
PHP function to verify if the email is valid by connecting to the mail server and checking the result.
an application in iOS that allows users to store coupons, boarding passes, event tickets, store cards, 'generic' cards and other forms of mobile payment.
Parses a RAML file into a PHP object.
The eBot is a full managed server-bot written in PHP and nodeJS.
A powerful engine for creating blogs, all you need is PHP to work.
A modern Textile markup language parser for PHP.
Middleware for PHP built on top of PSR-7.
|Please help us by clicking to our sponsor:
From our sponsors:
So, how did you like this issue?
Protect your PHP code with SourceGuardian 10. Free trial.