|Welcome back PHP fans.
In this week's edition, learn about what's new on Drupal.org by looking at the Roadmap.
Also this week, the second part of the Laravel API tutorial looks at building the client, using a bootstrap template.
The latest PHP Round Table podcast is all about PHP-FIG, its past, present and future.
Plus, the Italian PHP conference is only a couple of months away, starting on May 13th in Verona. You can still purchase Early Bird tickets if you're quick.
And finally, Nomad brings us a lightning talk on the essentials of CQRS and Event Sourcing, including the benefits of applying them to your domain.
Have a great weekend!
Katie and Ade
We love our sponsors. Why not try them?
From our sponsors:
||imgix Real-time image resizing as a service, with a global CDN. Free to try.
(ads by LaunchBit)
What’s New on Drupal.org? - February 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.
A Hand Full of Composer Related Tools that I’ve Found Useful
Peter Petermanns recently added a handful of tools to his stack, which he thinks can benefit most developers, so here are a few tools that you might want to look upon if you are using composer.
Introduction To PHP 7: What's New And What's Gone
One of the most exciting events in 2015, in the PHP world, was the release of PHP 7, 10 years on from the release of the last major version PHP 5. With a major step forward, PHP 7 introduces plenty of new features and performance upgrades. However, it also removes old, deprecated functionality, which introduces some compatibility breaks, making it harder for older applications to migrate to the new version. This guide should serve as a quick tour on what to expect if you plan on moving your existing applications, or building new ones, on top of PHP 7.
Why Do PHP Developers Think MVC Is An Application Architecture?
I’ve pointed out before that Model-View-Controller is a user interface pattern, not an application architecture. But why would PHP developers get the idea that MVC is an application architecture in the first place? (This may apply to all server-side developers, not just PHP folks.)
Tutorials and Talks
PHP Source Code Protection Solutions
Many PHP developers need to protect their source code when they distribute it to customers, to minimise the chances of their work being altered or copied without their permissions. Read this article to learn about PHP source code protection solutions in general, and how PackApp package can help protect your PHP source code.
How to Consume Laravel API with AngularJS
In Part 1 we built our server part. Now we can build our client. We are going to use AngularJS to make a Single Page Application. We will use a very basic bootstrap template, built on the fly.
Sending Logs to a Remote Server Using RabbitMQ
Some time ago I wrote an article to show how to send Silex logs to a remote server. Today I want to use a messaging queue to do it. Normally, when I need queues, I use Gearman but today I want to play with RabbitMQ.
A Modern Backup Solution for Laravel Apps
Recently our team released a new major version of laravel-backup. It can backup the files and databases of your application to one or more external filesystems. It uses Laravel’s native cloud filesystem to do this. The package can also notify you via Slack and/or email when something goes wrong with your backups. We’ve also created a dedicated site with full documentation. In this blogpost we want to give you some background of why and how the package was created.
Tags for PHP in Vim
One thing I was missing for a long time in Vim is to be able to "jump to definition" in an easy and painless way. The other thing I wanted to improve is to be able to tell easily where am I actually in the code base; to see the current class and method name of wherever the cursor was. With a bit of googling and poking around, I finally came up with a perfect combo of 5 plugins (yep, five!) that enables me to do both, and a little bit of extra.
Exploring Laravel's Custom Blade Directives
Recently, I was working on coding up a design that displays a varying number of cards - each with a unique title and description… think Masonry/Pinterest-esque. I’ve been using Model Factories to stub out a bunch of cards, all with different content. Once I’d hooked up the dummy data to the card templates, I realised that the design didn’t work as well with titles that had more than 20 or so characters.
Normalise Your Values on Input
Dynamic languages allow us to pass anything as a parameter without requiring a specific type. In turn, this means we often need to handle some extra validation for the data that comes in to our objects. This is a lightweight post on handling your incoming values effectively by normalising them as soon as possible. It's a simple guideline worth keeping in mind, which will help you keep your code easier to reason about.
Testing Slim Framework Actions
To test a Slim Framework action, you need a request and a response object and mock whatever is in the action. This is one way to do this.
Contributing to Open Source: Gatekeeper Case Study
GateKeeper is a pretty nifty user registration, authentication and authorisation library which uses its own database to store and query the user records. This means that it’s completely decoupled from your main app (so you can, essentially, use Postgre or Mongo for your business logic while using a completely different engine like MySQL for basic user records) and easy to tweak and extend.
Blade tip: @unless instead of @if-statement
Another quick tip for you guys from Laravel world – this time it’s about Blade template engine.
Enhance Your WordPress Site with a Parallax Theme
Parallax One is a WordPress theme developed for site owners that want to present their site in a way that impresses their users. It uses stunning presentation effects like parallax scrolling, that makes large images in the background appear as if you are seeing a scene in 3D. Read this article to learn more about the parallax effect and how to use and configure the Parallax One theme features in your WordPress site.
|News and Announcements
New Releases and Collected Content
Some quick notes from the past few days about various projects.
Italian PHP Conference - May 13-14th 2016, Verona
2 days, 2 tracks, 20+ international speakers dedicated solely to PHP development, technologies and management. With talks about design, project management, agile and various PHP-related technologies like Zend Framework2, Symfony2, Laravel, Drupal, Wordpress. Early Bird tickets are on sale now.
The PHP Tour - May 23rd-24th 2016, Auvergne, France
Organised by AFUP, the French PHP users group, and Clermont’ech, a local organisation which gathers developers from the area. This year, part of the program will focus on performance. With more and more business-critical applications, performance becomes decisive. Performance is in the core of PHP7, the latest version of our language. Tickets are on sale now.
International PHP Conference - May 29th-June 2nd 2016, 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. Today is the last day to register for Early Bird tickets and a free Tablet.
Nomad PHP US - April 21st 2016 20:00 CST
Expressive Microservice Framework Blastoff, presented by Adam Culp. With PHP frameworks being more decoupled than ever, and with the help of a package and dependency manager, large and heavy PHP frameworks are becoming a thing of the past. Modern PHP developers now have a wealth of libraries available that specialise at specific tasks, and microservices are fast becoming a preferred way to architect applications. But many don’t know how to start. This talk will briefly introduce what microservices are, and how to use them. Then show how to build a foundation using the Zend Expressive microframework leveraging components of Zend Framework, and other libraries, to quickly create awesome things without requiring an entire framework. Resources for reference and continued learning will also be shared.
Nomad PHP EU - April 21st 2016 20:00 CET
Docker for PHP Developers, presented by Chris Tankersley. Thanks to tools like vagrant, puppet/chef, and Platform as a Service services like Heroku, developers are extremely used to being able to spin up a development environment that is the same every time. What if we could go a step further and make sure our development environment is not only using the same software, but 100% configured and set up like production. Docker will let us do that, and so much more. We’ll look at what Docker is, why you should look into using it, and all of the features that developers can take advantage of.
dev/hell Podcast Episode 73 - Old Guys Last Longer
This time out we had PHP community icon Cal “Doesn’t Follow Chris On Twitter” Evans on to discuss the traveling minstrel show known as NomadPHP, the awesomeness of Day Camp 4 Developers, his thoughts on how Mailchimp handled The Mandrill Issue, and helped trigger Chris in to an epic rant. Chris also hopes that Cal has not noticed he hadn’t finished that thing he was supposed to do for him yet. It will be done really soon!
Voices of the ElePHPant - It's The Booze Talking - User Groups
In the latest of the It's The Booze Talking series, Cal Evans talks to several members of the PHP community, including Ben Ramsey and Larry Garfield.
That Podcast Episode 26: Show Me The Monii
Beau and Dave start a series of episodes discussing Beau's new startup, Monii. We talk briefly about the features and scope of their first product, including how he can really see how it would have helped him while he was self-employed. We then take a dive into some of the tech stack, with Beau telling us all about the front-end, including the frameworks, libraries and build tools.
Full Stack Radio Podcast Episode 37: Chris Hartjes - Getting Started with Testing
In this episode, Adam talks to the Grumpy Programmer himself about getting started with testing PHP applications.
MageTalk Magento Podcast #83 – Gushingly, Seriously-Disgusting Bro-Monkey Love
The guys bro down on Mandrillgeddon.
PHP Round Table Podcast Episode 41 - The PHP-FIG: Past, Present & Future
The PHP-FIG has really helped the PHP community get onboard the collaboration train with really great standards, like the PSR-4 autoloading standard and the PSR-7 HTTP message interfaces. We discuss PSR-0 through PSR-13 and the process they go through to become standards. We also discuss where the FIG came from and the possible big changes coming to the organisation soon.
Laravel News Podcast LN11 – Spark Watch, Interview with Shawn McCool
In this episode we talk with Shawn McCool about Laracon.eu, and latest Spark news, my new dotdev.co project, and painless switching to mariadb.
LaraChat Live - Episode #3
The third episode from the Slack Channel devoted to learning about Laravel.
The Laracasts Snippets Episode 17 - Pass the Salt, Please
The topic of discussion for this episode is a pet peeve of mine: treating developers like children. "Bobby, you're likely to cut yourself, so, no, you may not use sharp knives." Is that really the type of community we wish to foster? I hope not.
Lately in PHP Podcast Episode 69 - Will PHP var Keyword be Removed in Future PHP Versions?
Since PHP 5 was introduced the class var keyword became an alias of public, so there is a discussion now about a proposal to remove the support for the var keyword in PHP 8 and deprecated in PHP 7.1. That was one of the main topics discussed by Manuel Lemos and Arturs Sosins in Episode 69 of the Lately in PHP podcast hangout.
Using an Event Store in PHP
With CQRS (Command Query Responsibility Segregation) you use a different model to update data than the model you use to read data. Event Sourcing ensures that all changes to application state are stored as a sequence of events. In this lightning talk we’ll explain what the essentials of CQRS and Event Sourcing are, and what benefits you’ll get when applying it to your domain.
The New CSS Grid Layout, Niche Down to Niche Up and More
In Episode 66 of the John Morris Show: the new native browser support for CSS grid layouts, getting started with web development, niching down to niche up and more.
Magento Developer And Agency Owner Mihai Craciun Discusses Ecommerce
Mihai Craciun is a co-founder & CTO at 4ideas. He has vast years of experience in development. In this interview Mihai shares his advice for business leaders. He said “My advice for all leaders is to not neglect the bigger picture while they are focused on all the small pieces that build the puzzle.” Mihai was a speaker at Meet Magento Romania 2015 and he shares his views about Meet Magento; “I highly recommend Meet Magento events because they offer new opportunities, helping you to approach a situation from different perspectives.”
Juozas “Joe” Kaziukėnas – Digital Nomad, Being Homeless & Living in New York
Juozas “Joe” Kaziukėnas is a tech entrepreneur and digital nomad currently living in New York. Joe is Lithuanian and moved to Edinburgh (Scotland) for his studies. During his time at university, he also got involved in open source communities. He traveled to conferences and eventually became an international conference speaker.
Drupal, meet PHP FIG and PHPUnit - with Sebastian Bergmann [video]
Sebastian Bergmann, the maintainer of the PHPUnit testing framework, came to our office in Cologne, Germany to talk with Campbell Vertesi (@CampbellVertesi) and me about PHP, PHP FIG and the PSRs, and, of course, testing. It is another in the series of interviews we carried out with important and interesting people from the PHP community in preparation for DrupalCon Asia in Mumbai. Now we're releasing those to you!
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
Virtualised Development Environment Management in PHP.
CliTools for Docker, PHP and MySQL development.
JoliNotif is a PHP library to send notifications to your desktop directly from your script.
Easy access to the Twitter REST API, Collections API, Streaming API, TON (Object Nest) API and Twitter Ads API - all from one PHP library.
A social networking engine in PHP/MySQL.
Very simple Flash messages for PHP projects.
A collection of our critical PHP tools.
A petite library of encryption functionality for PHP.
Admin console for Beanstalk queue server.
A PHP-powered weblog application which gives the user an easy way to maintain an online diary, weblog or even a complete homepage.
Async sockets is the library for asynchronous work with sockets based on PHP streams
Eris is a porting of QuickCheck and property-based testing tools to the PHP and PHPUnit ecosystem.
PHP Fake data generator framework with multiple input and output formats.
Elefant is a refreshingly simple PHP content management system and web framework.
A lightweight, expressive, framework agnostic query builder for PHP, that can also be referred as a Database Abstraction Layer.
Pager is a library to split results to multiple pages - any way you want them!
|Please help us by clicking to our sponsor:
From our sponsors:
||imgix Real-time image resizing as a service, with a global CDN. Free to try.
(ads by LaunchBit)
So, how did you like this issue?
Protect your PHP code with SourceGuardian 10. Free trial.