Welcome back PHP fans,
This week sees the 100th episode of the Three Devs and a Maybe podcast! Reflecting on the past three years of podcasting and thanking all of the previous guests and listeners over the years.
Also this week, learn what was new on Drupal.org during the month of May.
Laravel 5.3 is currently in development, and we take a quick look at some of its new features.
Plus the June issue of php[architect] magazine is now available, including a look at techniques to decouple different aspects of code.
And finally, the Madison PHP Conference has been announced for the end of September/beginning of October. A full day of tutorials, followed by a day of three tracks of talks, offering something to attendees at all skill levels. The Call for Papers is open now for another couple of weeks.
Have a great weekend everyone,
Ade and Katie |
We love our sponsors. Why not try them?
From our sponsors:
|
Exclusively to PHP Weekly readers, we have an offer on SourceGuardian, up until the end of July2016 (was June 2016, but its been extended), to receive 25% off the purchase price of SourceGuardian. Protect your PHP code. Download the free trial and use the following discount code: bldcvzrh0FIw5AoY |
|
Articles
How to Choose a PHP Framework
PHP is one of the most popular programming languages around the world, and the recent PHP 7 release made this server-side programming language better and more stable than ever. In this article, we'll look at three of the most popular PHP frameworks: Symfony, Laravel, and Yii. We'll examine how they compare to help you decide which one might be the best fit for your needs.
What’s New on Drupal.org? - May 2016
Read our Roadmap to understand how this work falls into priorities set by the Drupal Association, with direction and collaboration from the Board and community. The team is back from New Orleans and thankful for the time we had to spend with the community, attending sessions, presenting sessions of our own, and sprinting with you throughout the Con. As individuals, we’re all members of the community, and as an organisation we're proud to hold the home of the community in trust. Because of DrupalCon North America, May is always a busy month for the Association engineering team. We're preparing our sessions, ensuring that the testbots will be running smoothly for DrupalCon sprints, and polishing new features and ideas to share with the community. Here's what's new.
Moaning About The Fig (again)
I’ve spent a lot of recent weeks moaning about the FIG (again), and I feel that it’s only fair to all involved that I solidify my thoughts about exactly what I feel is wrong with the current direction, and what needs to be done to fix things. |
Tutorials and Talks
Using Doctrine ORM with Symfony PHP Framework, Part 2
Welcome to the second part of the Using Doctrine ORM with this Symfony PHP Framework tutorial. This section will cover querying object relationships.
Localizing Dates, Currency, and Numbers with Php-Intl
The first part of this series was an introduction of the PHP Intl extension and of how to localize your application’s messages. In this part, we’re going to learn about localizing numbers, dates, calendars, and similar complex data. Let’s get started!
Simple PHP MySQL Pagination Script
Pagination is a frequent requirement part for listing large number records from the database. In this post we will see how to implement pagination for your web development projects.
Sharing Authentication Between socket.io and a PHP Frontend (Using JSON Web Tokens)
I’ve written a previous post about Sharing Authentication between socket.io and a PHP frontend, but after publishing the post a colleague (hi @mariotux) told me that I can use JSON Web Tokens (jwt) to do this. I had never used jwt before so I decided to study a little bit.
Using Microsoft Visual Studio as PHP IDE with the PHP Tools extension: Part 2 Developing a CRUD Application With a noSQL Database
There are many IDEs for PHP development. All of them provide common features but when we get closer we notice that there are some that provide different features that make them better for our purposes. Thanks to the PHP Tools extension it is possible to use Microsoft Visual Studio for PHP development and benefit from some of Visual Studio features for this purpose. Read this tutorial to learn about the way it works for developing a practical PHP application, in this case a CRUD application based on a noSQL JSON file database.
A Package to Manage Events on a Google Calendar
As mentioned before we’re currently building a new dashboard to display on our wall mounted TV at the office. One of the things we want to show on that dashboard is important events for our company. Things like when a site goes live, when there’s a conference we’re going to visit, when we’re doing our monthly visit to our favourite Italian restaurant and so on. We manage these events on a Google Calendar. To make working with such a calendar real easy we’ve made a new package called laravel-google-calendar.
How to Use Composer Packages Directly from GitHub (or other VCS)
Recently, some packages were unavailable via Composer due to a human error. This is an inconvenience that may happen again intentionally or unintentionally. Luckily Composer allows the use of custom VCS repositories that you can easily use to bridge the gap when packages are available again. The way is to load packages directly from a version control repository as described in the Composer Documentation.
Passing by Value vs. by Reference Visual Explanation
When writing software code, you will spend a lot of time defining, reading and changing variables. Using a variable means you use a descriptive word in your code which holds some information (a number, some text, an object, etc.). This descriptive word is the “title” of the stored information. However, sometimes it is very useful to know what happens behind variables. This article will explain how variables are passed around between functions, and specifically explains how it works in Java.
Logrotate for Forge
Laravel Forge (and Envoyer) keeps your Laravel application's storage directory persistent through deployments. One side effect of this is that your storage/logs/laravel.log file is always growing. Linux systems come with Logrotate, which can help us manage your growing log files. It's really simple - we can basically set it and forget it.
Why Care About PHP Middleware?
Recently there has been a lot of buzz about HTTP middleware in PHP. Since PSR-7 was accepted, everyone and their friend Sherly has been knocking out middleware implementations, some of them stunning, some of them half-arsed, and some of them rolled into existing frameworks. HTTP Middleware is a wonderful thing, but the PHP-FIG is working on a specific standard for middleware, which will standardise this mess of implementations, but some folks don't seem to think that would be useful.
A Look at What’s Coming to Laravel 5.3
Laravel 5.3 is currently in development and, with all new Laravel releases, new features are being teased out as they are added. Here is a quick look at some of these new features.
Finding Differences in Images with PHP
I recently stumbled across a fascinating question: how could I tell whether an image had changed significantly? As PHP developers, the most troublesome image problem we have to deal with is how to resize an upload with an acceptable loss of quality. In the end I discovered what many before me have – that this problem becomes relatively simple given the application of some fundamental mathematical principles. Come along with me as we learn about them.
Using Laravel Valet for WordPress Development
If you're familiar with the PHP community, then you're likely familiar with a number of the different applications and frameworks that are currently popular in the development space today. One of the more common frameworks that we're seeing used to build web applications is Laravel. Though this tutorial is not specifically about Laravel, I recommend checking it out if for no other reason than to see what else is going on outside of WordPress.
Finally, File Streams, and Deferred Execution in PHP.
Cleaning up after yourself can be a tedious task. For example, closing file handlers after using them needs to be done. A programmer's life isn't all about the happy path. When things go pear-shaped you might end up duplicating clean-up code throughout your code. This is horrible, so let's explore an alternative. |
News and Announcements
PHP South Coast - June 11th 2016, Portsmouth
Happening this weekend, this one day event will be packed with excellent talks from speakers around the world, followed by dinner and an evening social. The last few tickets are on sale now.
DevConf - June 17-18th 2016, Moscow
DevConf is the ultimate meeting place for Russian-speaking web-developers, combining several language-specific conferences under one roof. Tickets are on sale now.
Dutch PHP Conference - June 23rd-26th 2016, Amsterdam
Ibuildings is proud to organise the tenth Dutch PHP Conference on June 24th and 25th, plus a pre-conference tutorial day on June 23rd. Both programs will be completely in English so the only Dutch thing about it is the location. Keywords for these days: Know-how, Technology, Best Practices, Networking, Tips & Tricks. The last few tickets are on sale now.
Madison PHP Conference - September 30th-October 1st
Join us on Friday, September 30th, 2016 for a full day of tutorials followed by three tracks of talks on Saturday, October 1st, 2016. Madison PHP Conference in Madison, Wisconsin focuses on PHP and related web technologies. This event is organised by Madison PHP and is designed to offer something to attendees at all skill levels. It will be two days of networking, learning, sharing, and great fun! Blind Bird tickets are on sale now, and the Call for Papers is now open.
Using Oracle on OS X? Instant Client 12.1 is Here
Oracle Instant Client 12.1 for OS X was just released and is now available for free download from OTN for 32-bit and 64-bit applications. Instant Client provides libraries and tools for connecting to Oracle Database. Among other uses, languages such as C, Python, PHP, Ruby, Perl and Node.js can use Instant Client for database connectivity.
Zend Framework 3 Update for 2016-06-02
This is an installment in an ongoing series of posts on ZF3 development status. |
Podcasts
PHP and JavaScript Innovation Award Report May 2016 Edition - February 2016 Nominees
This is the May edition of the Innovation Award podcast hangout recorded by Manuel Lemos and Arturs Sosins to comment on the outstanding features of all the past month nominees and winners PHP and JavaScript packages and the prizes that the authors earned, starting with the nominees from the month of February 2016.
LaraChat Live - Episode #8
The eighth episode from the Slack Channel devoted to learning about Laravel.
Voices of the ElePHPant - Interview with Adrian Cardenas
This week, Cal Evans chats to one of the organisers of The South Florida PHP Users Group (SoFloPHP) Adrian Cardenas.
Laravel IO Podcast - Episode 45: Free Parking
In this episode, the crew discusses the releases of Valet and Echo, Laracon US 2016, Laravel 5.3, and their favourite nut.
Three Devs and a Maybe Podcast - The One Hundredth Episode!
We have a full host podcast for the 100th episode! Starting off the show by thanking all of our previous guests and you the audience, we then move on to discuss our recent catchup in-person and reflection on the past three years of podcasting. During which, we have a déjà-vu moment with another audio blip similar to what occurred in the first episode. This leads us on to discuss testing in React/Flux and moving away from the reliance on jQuery as a dependency. Edd has run some stats on the previous 99 episodes and with these results we then have a quick quiz. Finally, we discuss how/why we started the podcast in the first place, encourage anyone who is thinking of starting a podcast to do it and bring back hot picks of the week!
The Laracasts Snippets Episode 26 - Permission to Forget
I use task apps religiously for, mostly, two specific reasons: I want permission to forget about it, and I believe the process of checking off items gets you in the habit of being productive for the day. Listen to me ramble, if you'd like to hear more.
Acquia Podcast: So how is it working with Drupal 8? With Michael Schmid
Michael Schmid, Group CTO at Amazee, sat down in my Cologne office in March 2016 with the idea of comparing the promise of Drupal 8 to the real life experience of him and his teams. The conclusion? It's already great and will keep getting better. With so many Drupal 8 projects now underway, I expect to be hearing a lot more of this sentiment in the near future!
MageTalk Magento Podcast #95 - Zero Percent Body Blubber
The guys discuss what it would be like to eat Brendan Falkowski, "faraway billing", and Kalen got a new microphone.
The John Morris Show Podcast - jQuery Smooth Scroll to Anchor Using animate()
I always get a kick out of jQuery… especially animation methods. It’s one of those things that just wows clients… and truthfully, I feel pretty cool watching the animations run on a site. That said, much of what you can do with jQuery animations is more than “eye-candy”… they help enhance the user experience. This is one such animation: smoothing scrolling to an anchor tag. Instead of that abrupt flash you get as default behaviour in a browser… you get a nice smooth scroll that gives a site visitor some context about what they just clicked and where they’re ending up. Here’s how to do it.
PHP Round Table Podcast Episode 46 - Character Encoding and UTF-8 in PHP
If you've ever gotten a number of weird looking characters in your database or on your website like, "�" and didn't know why, then this episode is for you. Those bizarre characters called "mojibake", rear their ugly heads when we don't account for a consistent character encoding. Today we discuss what character encoding is, how to accommodate for it in HTML, PHP & your database, and how we can ensure we'll never encounter an unexpected alien character in our web apps again. |
Your First PR: How to Contribute to Open-Source Projects
Contributing to open-source projects is a great way of giving something back to the PHP community, and often it can help your own development by exposing you to new codebases and processes. Dipping your toes into the waters of OSS can be daunting, so this talk will go through a few ways that you can contribute to OSS projects and step through the process of submitting your first pull request. You’ll be contributing to your favourite projects in no time, but be warned – it’s addictive!
June 2016 – Decoupled by Design
The June 2016 issue of php[architect] magazine is now available! Less tightly coupled code is easier to debug and re-use. This month we look at techniques to decouple different aspects of your code: including using asynchronous & distributed workers, transducers, middleware, and secure web services. Also in this issue, we have a library to use FFMPEG from PHP, using JSON in MySQL 5.7’s, PHPeople, Professional Development advice, and entrepreneurship.
Traveling to Paris for dotScale Conference 2016
dotScale is one of these special events I always enjoy attending. The dotScale conference is a tech event that focusses on the scalability of web applications and Cloud platforms. I already attended the event in 2014 and 2015 and this time around, I manage to convince some more colleagues to join me. Want to see the trip report? Here’s the video.
Irene Iaccio Talks About Magento, Magento Community & Development
In the series of Cloudways interviews, today we have Irene Iaccio with us. With more than 6+ years of experience in Front-end Development and Magento, Irene is one of the most experienced individuals in the Magento Community. Currently, she is working at Bitbull as a Front-end Developer. In this interview, Irene talks about Magento and her personal life. She also shares her experience about how she got involved with Magento. So, without further ado, let’s start.
Yii 2 Quick Start Guide Kindle Edition (by JB McKee, published 3rd May 2016)
A nuts and bolts guide born straight from the trenches to get you up and running with Yii 2 fast! Necessity is the mother of invention. And, in this case, it is the mother of a simple, concise, yet well rounded treatment of how to get a Yii 2 project off the ground fast.
PHP Mysql For Advanced Learning Kindle Edition (by Hirdesh Bhardwaj, published 19th May 2016)
PHP Mysql For advanced Learning for web based application, a popular platform for developing dynamic web pages using php mysql technology. |
Jobs
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 protected] |
Interesting Projects, Tools and Libraries
phpdotenv
Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.
autom
The modern, simple and intuitive PHP unit testing framework.
corcel
Use WordPress backend with any PHP application.
hateoas
A PHP library to support implementing representations for HATEOAS REST web services.
bernard
Bernard is a multi-backend PHP library for creating background jobs for later processing.
stikked
Stikked is an Open-Source PHP Pastebin, with the aim of keeping a simple and easy to use user interface.
imagehash
Perceptual image hashing for PHP.
pdfparser
Pdf Parser, a standalone PHP library, provides various tools to extract data from a PDF file.
phppresentation
PHPPresentation is a library written in pure PHP that provides a set of classes to write to different presentation file formats.
wikitten
Wikitten is a small, fast, PHP wiki, and the perfect place to store your notes, code snippets, ideas, etc.
crunz
Crunz is a framework-agnostic package to schedule periodic tasks (cron jobs) in PHP using a fluent API.
pinboard
Realtime PHP monitoring system which aggregates and displays Pinba data. |
Please help us by clicking to our sponsor:
From our sponsors:
|
Your SaaS Is On The Line Increase uptime of your apps, services and infrastructure with PagerDuty. With full incident visibility, you can respond to and resolve issues faster. Try it free.
(ads by LaunchBit) |
|
So, how did you like this issue?
|
Protect your PHP code with SourceGuardian 10. Free trial.
|
|