|Here we are again PHP fans, with your latest edition of phpweekly.com.
The PHP development team has recently announced three new releases - 5.6.19, 5.5.33 and 7.0.4. All are available immediately.
Also this week we bring you a step by step guide on building a Laravel application, for those developers who are new to this popular framework.
PHPKonf takes place in Istanbul from May 23rd to the 27th, hosted by the Istanbul PHP community. The Call for Papers is open now.
Plus The March edition of php[architect] "Hunting Mutants" is out now, with articles on Humbug, Eloquent, and Zend Expressive, to name a few.
And finally, the That Podcast team is back after a long hiatus. Find out what Beau and Dave have been up to.
Have a great weekend folks,
Katie and Ade
We love our sponsors. Why not try them?
Top 10 Contributing Customers
We spent a lot of time thinking about how to highlight the organisations in our Marketplace that are actively contributing to the project. There are some awesome Drupal shops and hosting partners out there that are making a huge difference. Last week, we launched a new list of organisations on Drupal.org that shows every profile that has been created for an organisation. This includes companies, universities, nonprofits, governments and more. So who have been most active among this type of organisation over the last 90 days?
Announcing SQL Server on Linux
It’s been an incredible year for the data business at Microsoft and an incredible year for data across the industry. This Thursday, at our Data Driven event in New York, we will kick off a wave of launch activities for SQL Server 2016 with general availability later this year. This is the most significant release of SQL Server that we have ever done, and brings with it some fantastic new capabilities.
How Object-Oriented Design Helps Create Better Estimates
I have a long-standing client who has a complex piece of software that I developed for them some time ago. From time to time they approach me and ask me to make improvements to the software, which I am almost always happy to perform. And like any good client they want an understanding of the cost before they move forward, largely to ensure that the cost-benefit analysis makes sense. And so, they ask for an estimate.
Tutorials and Talks
Megasync for Debian 9 Stretch - Rasmus Lerdorf
Like most of my posts here, this is mostly a note to myself so I don't forget how I did it. I moved to Debian 9 on my desktop box at home, and everything works great, except I occasionally use Mega.nz and they don't provide a Debian 9 build. It would be great if they just provided a statically linked generic Linux binary, but they don't. So, to make it work, grab their Debian 8 .deb file.
How to Build Your Own Dependency Injection Container
In this article, we are going to learn how to make a simple dependency injection container package. All of the code written in this article, plus PHPDoc annotations and unit tests with 100% coverage, are available at this GitHub repository. It is also listed on Packagist.
Quickly Finding the Best PHP Packages Recommended by Other Developers
Sometimes you need to find good recommended PHP components for your needs. However, often you do not find any qualified developer that can give you quick advice. Read this article or watch a short tutorial video to learn how you can now quickly find the best PHP packages recommended by other PHP developers.
How to Create & Configure Multiple Store Views in Magento 2
Magento is the most preferred and liked platform for eCommerce sites, which allows the store owners to make available products and services for their customers. To facilitate merchants with advance features, Magento 2 has recently launched with lots of additions.
Load Balancing Applications with NGINX Plus in a CoreOS Cluster
CoreOS is a Linux OS designed to run applications across a cluster of machines. There can be multiple running copies of a web application (each in a separate Docker or rkt container), distributed across a cluster. For such a deployment the configuration of the load balancer needs to change frequently in reaction to changes in the cluster.
Using The ::class Keyword in PHP and Laravel
Do you hate to write fully qualified class names in strings too? Have you ever seen PHP frameworks use the ::class keyword and wondered what it does and where it comes from? Let's find out how these two things fit together!
Testing Effects of Commands With Phake::capture()
Today I want to share a simple trick for the excellent Mocking library Phake (I wrote about it before) when testing state on APIs that don't return values.
Mapping, Filtering and Reducing in PHP
Over the past couple of years I have transitioned from boilerplate-heavy, imperative code, to begin using the more intuitive map, filter and reduce higher-order functions. In this article I hope to highlight the transformation that occurs, along with simplification, when moving away from the imperative and onto the declarative.
How to Optimise Performance of The LAMP stack With eZ (Part 1)
Nowadays, a website is not only a simple HTML page. Your visitors expect dynamic, personalised information fast and you need a scalable way to deliver content as quickly as possible. This, of course, puts significant pressure on page loads and response time. In this series of posts, we’ll explore eZ’s system architecture and provide recommendations on how you can optimise caching and decrease response time with eZ software.
Step by Step Guide to Building Your First Laravel Application
The Laravel framework has experienced exponential growth since it’s initial release in 2011. In 2015 it became the most starred PHP framework on GitHub and has risen to be the go-to framework for people all over the world. My goal with this is to create a guide for those just learning the framework. It is setup to take you from the very beginning of an idea into a real deployable application.
How to Build an API-Only JWT-Powered Laravel App
In this article, we will learn how to use it to quickly create a fully functional API for an imaginary book wishlist application. As an aside, we will also see how to build a client application with AngularJS that will use our APIs.
Determining The Image Type of a File
One thing I learnt recently, which I probably should have known already, is that getimagesize() returns more than just the width and height of the image.
Command Bus and Action-Domain-Responder
Over the past few weeks, different people have asked me where a Command Bus goes in an Action-Domain-Responder system. While I’m not a DDD expert, after brushing up on the subject a little, my answer is: “In the Domain.”
|News and Announcements
PHP 5.6.19 is available
The PHP development team announces the immediate availability of PHP 5.6.19. This is a security release in which several security bugs were fixed. All PHP 5.6 users are encouraged to upgrade to this version.
PHP 5.5.33 is available
The PHP development team announces the immediate availability of PHP 5.5.33. This is a security release in which two security bugs were fixed. All PHP 5.5 users are encouraged to upgrade to this version.
PHP 7.0.4 Released
The PHP development team announces the immediate availability of PHP 7.0.4. This is a security release. Several security bugs were fixed in this release. All PHP 7.0 users are encouraged to upgrade to this version.
Drupal 8.0.5 released
Drupal 8.0.5, a maintenance release with numerous bug fixes (no security fixes) is now available for download.
WordPress 4.5 Beta 2
WordPress 4.5 Beta 2 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.
PHPKOnf - May 21st-22nd 2016, Istanbul
PHPKonf is hosted by the Istanbul PHP community, and you're invited! We'll host some of the best speakers, awesome talk topics, latest technologies, and up to date news in PHP. The Call for Papers is open now.
php[tek] - May 23-27th 2016, St Louis
Once again the team behind php[architect] magazine will be hosting their annual php[tek] conference! For this 11th edition of php[tek] we are excited to announce that we are moving to St. Louis! The new larger venue will allow us to continue to grow this conference, allowing more people from the PHP community to come together for a week of learning and camaraderie! Tickets are on sale now.
PHP UnConference Europe - May 28-29th 2016, Majorca
In its 5th year, tickets are already available for the 2016 PHP UnConference. Anyone who has attended a conference knows that the most interesting pieces of information and experiences do not come from the presentations themselves, but from the time spent speaking with other attendees between the presentations. The idea of an UnConference is for the attendees to decide on the topics they are most interested in, and the speakers they would like to present them, decided on the day.
Voices of the ElePHPant - Interview with Christian Wenz
This week Cal Evans talks to PHP and security guy Christian Wenz, from Munich.
Three Devs and a Maybe Podcast - Robots One, Humans Zero
That Podcast Episode 25: S02E01
Beau and Dave catch up after a 5 month break. Beau has moved to the UK and is just about settled, Dave is much the same.
MageTalk Magento Podcast #82 - “Your Voice Sounds Like it’s Doing the Tango Right Now”
The guys discuss Mid-Market Strategies, Kalen rants about Partnerships, and they interview Miguel Balparda from Nexcess.
PHP Round Table Podcast Episode 40 - Graph Databases
Traditional relational databases like MySQL or Postgres are really good at providing many solutions to the problem of persisting state. But these types of database are really horrible at querying highly connected models in an efficient way. Graph databases like Neo4j and OrientDB excel at highly connected data. In fact, graph technologies are the backbone of social networks, like Facebook and Twitter. We discuss how to think about our data using the graph model and what tools we can use in our PHP projects to interface with them. We also discuss the considerations we'll need to make when deciding whether or not to use a graph database in our next project.
Free The Geek Podcast: Episode 13 - Talking Nomad PHP, Laravel, and Conferences with Joe P. Ferguson
In this episode I have a fireside chat with the voice of Nomad PHP, Joe P. Ferguson. Joe shares how he got started as the voice of Nomad PHP. He gives a rousing tale of what it was like to effectively build the community from scratch, with nothing but the backing of Cal Evans to open doors for him. Ok, Cal's name is legendary in the PHP community. He also shares what it's been like for him personally, growing over that time, and how he keeps sounding so passionate and enthusiastic on the show. You won't believe his secret. As well as this, we talk about being a conference speaker, whether that's starting out, or being a professional, along with some of the ups, downs, dos and don'ts. And what would a chat with Joe be without a bit of Laravel. So grab your favourite beverage, your comfy chair, and get ready for a rousing fireside chat with Joe and I.
LaraChat Live - Episode #2
The second episode from the Slack Channel devoted to learning about Laravel.
The Laracasts Snippets Episode 16 - The Q&A Episode
I keep a list of frequently asked questions, related to Laracasts and being a programmer in general. In this episode, we'll breeze through a long list; everything from Jim Henson, to DHH, to facades!
php[architect] March Edition - Hunting Mutants
The March 2016 issue of php[architect] magazine is out! This issue will show you how to use Humbug to add mutation testing to your toolkit. Our issue also includes articles explaining how compilers and interpreters turn code into executable instructions, a look at Laravel’s Eloquent ORM, how to integrate authentication across apps, and getting started with Zend Expressive.
Why Mimic Donald Trump, Udemy’s Pricing Shake-up, Dominate Local Business Marketing, and more.
In this episode of the John Morris Show, why I think more developers should think like Donald Trump, Udemy’s new pricing bombshell, how to rake in clients from local businesses, and more.
Event-Driven Architecture for Microservices
These days building applications using microservice approach has become a defacto standard in many cases. Microservices are all about splitting large applications into smaller ones, which means that there must be some sort of communication between them. During this session, Martins will go over how event-driven architecture can be applied for communication between various services, describe the pros and cons, and gives real world examples of how it can be used with PHP and other programming languages.
Joomla Ace Tessa Mero Shares About PHP, Community, And Offers Invaluable Advice To Students
Tessa Mero is Joomla Extension Directory(JED) Assistant Manager and a contributor to different PHP open source projects. She performs as a speaker in different PHP conferences and she is also an instructor and PACE-IT Mentor at Edmonds Community College. You can also contact her and she can provide you with the best guidance for your career. In this interview, she talks about her initial career, developers to follow in the PHP community and also gives useful consultancy to students.
Richard Burford Community Spotlight
Richard Burford (psynaptic) was an active contributor in the Drupal community. After he joined the community in late 2006, he actively encouraged, organised, and mentored other community members, while also posting more than 1,100 commits. On February 11, Richard unexpectedly passed away while jogging. He’s survived by his wife, Sara, and their three children, William (aged 2), and twins Lucy and Kate (age 1). This spotlight has been a collaborative community project, and showcases just a few of the many qualities and contributions admired most about Richard.
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
PHP-DI dependency injection container implementation for Slim Framework.
A deployment tool written in PHP with support for popular frameworks out of the box.
MINI is an extremely simple and easy to understand skeleton PHP application, reduced to the max.
liâ‚ƒ is the fast, flexible and most RAD development framework for PHP.
PsySH is a runtime developer console, interactive debugger and REPL for PHP.
Flight is a fast, simple, extensible framework for PHP, enabling you to quickly and easily build RESTful web applications.
This is a library package that includes the PHP Markdown parser and its sibling PHP Markdown Extra, with additional features.
Displays a debug bar in the browser with information from PHP. No more var_dump() in your code!
Workerman is a library for event-driven programming in PHP, with a huge number of features.
PHP's best friend for the terminal, CLImate allows you to easily output coloured text, special formats, and more
Smart and Readable Documentation for your PHP project.
PHPHub is a Forum project written in Laravel 4.2, and it is also the project build up PHP & Laravel China community.
A PHP string manipulation library with multibyte support, compatible with PHP 5.3+ and HHVM.
PHPCoverFish is an open source php(cli) code coverage pre-processor.
Icicle is a PHP library for writing asynchronous code using synchronous coding techniques.
A virtual machine designed for executing programs written in Hack and PHP.
A lightweight, simple and easy PHP library for calculating annuities (e.g., mortgages) according to various input data.
|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.