|Welcome PHP Fans!
We bring you Part 2 of the New in Symfony 3.2 series, which this week introduces four additional new features to improve the developer experience.
Also this week, if you are familiar with dependency injection, you could save time only having to write code once by using a dependency injection container. Learn how here.
In the latest Voices of the ElePHPant interview, Cal Evans talks to web developer Michael Moussa, recorded live at Sunshine PHP 2016.
Plus, on Thijs Feryn's blog this week, he talks about Type Errors in PHP 7.
And finally, php[world] conference has been announced, taking place in Washington DC this November, bringing together the various sub-communities that are linked by the PHP programming language. Early Bird tickets are available now.
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
Getting Over Your Fear of Commitment With WordPress Plugins
When I first started out creating websites with WordPress, I was in awe of the depth and variety of plugins available. During those golden days I would willingly install just about anything that looked cool. Shortly thereafter, I was smacked in the head by reality. Stuff started breaking and seriously hurt my good time.
Community Relations: Not Just a Megaphone
In my last post on Building a Community Presence I went over some of the approaches for engaging communities. This time I want to talk about what the actual job of a community builder is.
Now that everyone is super comfortable with composer, I thought I’d share these two gems which I didn’t know or think about.
The New PHPToday Is Here, With an Exclusive Job Board for PHP
About one and half years ago, we started PHPToday, a dedicated news sharing platform for the PHP community. It was just a weekend project to learn Symfony, but the response from the community was overwhelming. So we decided to keep it active and later added a few more features to the website. Today, we are taking it a bit further. We are happy to announce the new version of PHPToday, with the new design, logo and a really great feature - PHPToday Jobs (beta).
Tutorials and Talks
New in Symfony 3.2: Console Improvements (Part 2)
In this second of a two-part series, we introduce four additional new features added by Symfony 3.2 to the Console component to improve its DX (developer experience).
Quick Tip: Testing Symfony Apps with a Disposable Database
Testing code that interacts with a database can be a massive pain. Some developers mock database abstractions, and thus do not test the actual query. Others create a test database for the development environment, but this can also be a pain when it comes to continuous integration and maintaining the state of this database.
Github Now Supports Blade Syntax Highlighting
Thanks to James Brooks, Github has just added support for Blade syntax highlighting on both your repos and Gists. This was added in from a pull request by James and then merged and deployed.
Storing Shakespeare's "Hamlet" Invisibly Inside an Image
So, a long time ago I came up with an idea to be able to send around secret messages masked as normal images. I called it Jailbird. Today I want to show you how you could store Shakespeare's Hamlet inside an image with almost no visible impact on it.
Using Tactician in a Zend Expressive Application
I spent some time connecting the dots last week, so I decided to put together an example on how to get started with using Tactician in a Zend Expressive application. The example itself is not really useful, but it does show how to setup the dependencies and get started with these two libraries.
Laravel User Registration with Email Activation
This post documents how to add an e-mail confirmation to the Laravel User registration that is generated by the Artisan console. In this example, the registered user will not be able to login until the activation link that is sent to the users registered e-mail account has been loaded into the browser.
Internationalizing WordPress Projects: A Practical Example, Part 1
In this series, we aim to make sure you're armed with everything you need to know in order to properly internationalise your WordPress project, understand what you're doing, and understand how to test it.
Implementing Smart Search with Laravel and Typeahead.js
In this tutorial, we are going to learn how to enhance your default search field in your site with real-time suggestions from the database. We will be using Laravel, jQuery and Typeahead (Bloodhound as the suggestion engine) to implement the smart search and Bootstrap for the styling. So, let's get started.
The Artist and the Engineer
I have my own personal under-bed monster, and it's in the form of another breed of developer. In truth, this article is less about that which torments me and more about two different types of developer that I've identified. I like to call these two types of developers the 'artist' and the 'engineer.' Both are skilled developers, but let's take a look at where they differ.
The Webshell Game Continues
The IBM X-Force Research team reported an increase in PHP C99 webshell attacks in April 2016. More recently, webshells dubbed b374k made their mark with attacks that the team has been tracking over the past few months. Although this blog highlights some features of the b374k shell, the main objective is to call your attention to the fact that PHP applications are becoming an increasingly popular choice for attackers aiming to glean your data and deface your website without much hard work.
Compile PHP 7 on Mac OS X 10.11 "El Capitain"
Apple has made numerous changes to the way OS X (10.11) "El Capitain" uses open source elements like PHP and OpenSSL. Compiling PHP from source requires a bit more modification. This article is a follow-up on my previous post Installing PHP 7 with XDebug, Apache and MySQL on OS X Yosemite.
Cleaning Up Code: Is Refactoring for Aesthetics Worth It?
Most development teams want to get their codebase into a better, more maintainable state. But what definition of better should be chosen? In many cases, it is not necessary to dig deep into Domain Driven Design (DDD) to achieve this goal. Sometimes, it's even counter productive. But one of the most basic collections of principles can help each team a lot already: Clean Code.
Understanding Dependency Injection Containers
If you are writing modern PHP, you will run across dependency injection a lot. Basically all dependency injection means is that if an object needs something, you pass it in. Dependency injection makes your code more flexible and easier to test. Learn how you could save time only having to write code once by using a dependency injection container.
Advanced Operations with Collection::Where in Laravel 5.3
If you want to filter a Laravel collection to only those records which meet particular criteria, you're most likely going to reach for
|News and Announcements
WordPress 4.6 Beta 4 is Now Available!
This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version.
Drupal 8.1.7 Released
Drupal 8.1.7, a maintenance release which contains fixes for security vulnerabilities, is now available for download.
PhpStorm 2016.2 is Released
My favourite IDE, PhpStorm, just released their second release of this year and it includes a lot of great new features.
Northeast PHP Conference - August 4-5th 2016, Canada
The Northeast PHP Conference is a community conference intended for networking and collaboration in the developer community. While grounded in PHP, the Northeast PHP Conference is not just about PHP. As the organisers know, most PHP developers are working on websites and applications, which means that they need more than just PHP skills to get ahead. The additional Web Technology and User Experience topics help these developers broaden their skill sets and expand their knowledge & experience. Tickets are on sale now.
PHP North West Conference - 30th September - 2nd October 2016, Manchester
For the ninth year running, the community run PHPNW Conference will be ready to welcome over 500 delegates to the Manchester Conference Centre in October. Our conference has the reputation within the PHP community as a ‘go to’ conference, with our friendly style, inspiring content and valuable community network. Join us for 2016 for our biggest event yet! Tickets are on sale now.
BRNO PHP - October 15th 2016, Czech Republic
Welcome to Brno PHP community. We bring together great technology content and great people. You will find high-quality presentations by the brightest experts in the PHP world, coupled with a welcoming and friendly community of attendees and speakers. The Call for Speakers is now open.
Forum PHP - October 27-28th 2016, Paris
The annual conference organised by the French PHP-users group, gathering all PHP and Open Source communities, pros and PHP lovers. The Call for Papers is now open.
php[world] - November 14-18th 2016, Washington DC
php[world] is a conference like no other. Designed to bring together the various sub-communities that are linked by the PHP programming language. Drupal, WordPress, Joomla!, Magento, Laravel, Zend Framework, Symfony and CakePHP all have strong independent communities, but together as the PHP community, the sum is greater than the whole. Early Bird tickets are on sale now.
Lately in PHP Podcast Episode 73 - PHP Using Too Much Memory
PHP memory usage can be limited in its configuration, but there are some cases that may cause PHP to request a very large amount of memory, sometimes due to bugs. That was one of the main topics discussed by Manuel Lemos and Arturs Sosins in Episode 73 of the Lately in PHP podcast hangout.
Voices of the ElePHPant - Interview with Michael Moussa
Recorded live at Sunshine PHP 2016, Cal Evans chats with web developer Michael Moussa.
Laravel IO Podcast - Episode 47: Musical Routes
The crew talks about where the routes file lives, some tantalising hints of big new 5.3 features, Jeffrey's 2 sets of 2 hours plan, and Taylor's love for DHH.
Full Stack Radio Podcast Episode 45: Derek Prior - From Rails to Phoenix
In this episode, Adam talks to Derek Prior of thoughtbot about building web applications in Elixir with Phoenix, and how it compares to building an application in Ruby on Rails.
Acquia Podcast: Mastering Drupal 8 Views - Meet Gregg Marshall
Gregg Marshall contacted me while he was finalising his book, Mastering Drupal 8 Views, for Packt Publishing. Flatteringly, he asked me whether I'd be willing to write a foreword for it, after having a look at a late draft. I had a look, I liked it, I wrote the foreword and was pleased to run into Gregg at DrupalCon New Orleans. Listen to the audio or watch the video of our conversation. Below is also a full transcript of our chat.
The Laracasts Snippets Episode 33: Victims of Our Curiosity
If you think about it, every single year, certain development trends take the community by storm. Whether repositories, or service classes, or the command bus, this is undeniably true. Let's talk about it.
The John Morris Podcast - How to Create a Mobile App Landing Page
As of June 2016, there are 2.2 million apps available for download in the Google Play Store alone. It’s 2 million for the Apple App Store. Even lowly ol’ Windows has 669,000 apps available for its mobile platform.
Learning Web Development in 2016-2017
I put out a ‘learning web development’ video every so often, because WHAT you need to learn changes over time. Here is the video for 2016-17.
6 Important Steps to Make Your Software Product Succeed
Creating a successful software product business is not just a matter of creating a good software product. Fortunately there are just a few more well known things you need to know to create a promising business. Watch this short video to learn what other criteria you need to satisfy to build a successful software product business.
Writing Your First Test with PHPUnit
A Nomad PHP lightning talk, presented by Matthew Trask.
Sebastian Bergmann Talks About PHP Development and PHPUnit
Sebastian is the co-founder of “thePHP.cc”, a leading PHP consultancy company and a speaker at various PHP conferences. He has years of experience in PHP development and has authored several books on PHP. In his interview with Cloudways, Sebastian talks about how his career started, shares his experience of PHP conferences, talks about how he founded his company, discusses PHP 7 and his hobbies. Enjoy the interview 🙂.
7PHP Interview with Chris Hartjes
What Secret Tools does The Grumpy Programmer ‘Chris Hartjes’ Harness, to be so grumpy?! It’s The Tools Talking! Aye!
What Are Type Errors in PHP 7?
PHP 7 has a concept called Type Errors. These errors are thrown on a type mismatch when interacting with functions. They can be caught just like exceptions. I created a video that explains the situation. This blog post goes into more detail and has some code examples. But check out the video to get a quick overview.
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
Modern, crazy fast, ridiculously easy and amazingly powerful flat-file CMS.
A wrapper around Google's Geocoding API to get different details such as latitude, longitude, country, city, district, postcode, town and street number regarding some specific address.
Mellivora is a CTF engine written in PHP.
PHP mocks engine that allows to redefine functions and user methods on-the-fly (provides similar functionality to runkit and uopz extensions).
Middleware for PHP built on top of PSR-7.
A high-performance project management system in PHP.
A simple but powerful PHP library for talking to CouchDB.
A lightweight and simple object oriented PHP Router.
Collection pipeline library for PHP.
A fluent api for the PHP dom extension.
Nette Tester is a productive and enjoyable unit testing framework. It's used by the Nette Framework and is capable of testing any PHP code.
PHPePub allows a PHP script to generate ePub Electronic books on the fly, and send them to the user as downloads.
Elefant is a refreshingly simple PHP content management system and web framework.
|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.