Subscribe! Enter your email address below:

NO SPAM: We absolutely hate spam. We will not share, rent, or give away your email address to anyone.You can unsubscribe at any time. Easily!

April 12, 2018

Hello to the PHP community and welcome to phpweeklynews.

If you're a developer who enjoys exploring new tools, you should start to use APIs. Here we have a list of five of the most essential.

Also this week, we have the second part in the Discharging Static series, learning how testing classes where we have static properties is hard to manage.

In the latest podcast from the Voices of the ElePHPant team, Cal Evans interviews the original grumpy programmer Chris Hartjes.

Plus we have a curated list of the most awesome podcasts for software engineers. 

And finally, the Call for Papers for the Northeast PHP Conference has been extended for another couple of weeks, so you've still time to submit your proposal.

Enjoy your weekend,

Ade and Katie

Please help us by clicking to our sponsor:

encrypt php scripts 
Protect your PHP Code
Why not try SourceGuardian 11. Click here to download a 14 Day Trial copy. Protect your code using Windows, Linux or Mac and run everywhere with our free Loaders.


Five APIs All Developers Need to Know
Every day, dozens of developer tools get released online. Some new developers opt for doing all their work manually, while others choose to explore new tools. If you fall into the second category, then you need to start using APIs. The acronym stands for Application Programming Interface. In essence, it’s a programming language that lets one service – let’s say Google Maps for instance – communicate with another – for example, AccuWeather. In order to help you save even more time, we’ve put together a short list of essentials APIs. So instead of spending months exploring different APIs, you can simply focus on these five first.

Top 10 Popular PHP Projects in github
PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language. It was originally created by Rasmus Lerdorf in 1994, the PHP reference implementation is now produced by The PHP Group. PHP originally stood for Personal Home Page, but it now stands for the recursive acronym PHP: HypertextPreprocessor.

Top 5 Best PHP Frameworks For Web Development
PHP is a general-purpose scripting language that is especially suitable for server-side web development. We’ve talked about PHP being one of the best programming languages for web development. Now let’s have a look at the top 5 best PHP frameworks for you to know.

Modern Backend Developer in 2018
Web development today is completely different from what it was a few years ago; there are lots of different things that can easily baffle anyone entering into the web development. It was one of the reasons that we decided to make these step by step visual guides demonstrating the bigger picture and to give anyone a clear idea about what they have to follow to be in certain roles in web development.

The Conquest Code of Conduct
If you’re tired of SJW COCs in open-source projects, try this one on for size.

Tutorials and Talks

Less Known Eloquent Model Actions
There are some common, well known actions that we can perform on our models. However, you may find some interesting things only when you dig a bit deeper.  Let’s cover some less known model actions.

Try PSR-12 on Your Code Today
The standard is still behind the door, but feedback, before it gets accepted, is very important. After accepting it will be written down and it will be difficult to change anything. Try PSR-12 today and see, how it works for your code.

How to Calculate The Size of a MySQL Database
Many times we need to calculate the size of a MySQL database through code for purpose like database backup or to check how fast the database is growing for a certain application. The database size can be easily ascertained using phpmyadmin or other desktop tools, but that requires you to manually launch the tool and check. Below we will see how to do the same through a query.

Laravel Route Tips to Improve Your Routing
The Laravel router has a great, well-polished API when you first dive into Laravel as a beginner or newcomer to the framework. What follows is not anything hidden or new, but a few tips that should help you when you’re learning Laravel 5.

How To Use Laravel with Socket.IO
Websockets are cool. They are really helpful if you want to show real time activities from your users (or perhaps some queue jobs). Now, if you are afraid of the word “Websockets”, don’t be. I will lay down the instructions on how you can use it and will be around to answer your questions if you need to.

Discharging Static #2
In the first article in this series, I wrote about the problems with testing static methods in classes, and showed a few approaches that allow us to write mocks for statics. Testing classes where we have static properties is a lot harder to manage, because any changes made in any test to those properties are global, across the entire test suite, not simply the test that we are running.

Testing Web API Clients Using Guzzle Mock Handler
Whether you're writing a client for your own web API to offer it to users or you're simply implementing integration for a 3rd-party API in your system, it is important to test it to make sure your client is capable of handling actual API responses correctly. Testing web API clients is mostly about checking how they deal with responses received after sending requests to API endpoints, and for your unit tests, you introduce test doubles to simulate API calls instead of executing real HTTP requests.

Exceptions and Talking Back To The User
From the Domain-Driven Design movement we've learned to go somewhat back to the roots of object-oriented design. Designing domain objects is all about offering meaningful behaviour and insights through a carefully designed API. We know now that domain objects with setters for every attribute will allow for the objects to be in an inconsistent state. By removing setters and replacing them with methods which only modify the object's state in valid ways, we can protect an object from violating domain invariants.

Understanding Design Patterns - Singleton
Ensures a class has only one instance, and provides a global point of access of it.

4 Ways to Speedup Your Symfony Development with PackageBuilder
Symplify 4 was released and with it also one package, that contains all the Symfony tweaks that Symplify packages use. Throwable render? Test services without public violation? Load parameters with glob? We got you covered!

Using the Laravel Optional Helper and the New Optional Closure
The Laravel Optional class and accompanying optional helper were introduced in Laravel 5.5. This class is useful to avoid those pesky Trying to get property of non-object errors in your code.

How To Deploy PHP Application From GitHub To Cloudways
If you are a developer of any level you must know about git for source code management. Git is very popular when it comes to interact with multiple team members and open source contributors for building coding solutions. I’ve written a short series on Git for beginners covering, commands cheat sheets, Branches, Conflicts etc.
News and Announcements

Passing The Torch of Memphis PHP User Group
In September of 2012 David Haskins and I took over MemphisPHP from Jeremy Kendall. Today I want to announce that the MemphisPHP torch is once again being passed on.

CakePHP Conference - June 14-17th 2018, Nashville
CakeFest is organised for developers, managers and interested newcomers alike. Bringing a world of unique skill and talent together in a celebration and learning environment around the worlds most popular PHP framework. Celebrating over eleven years of success in the PHP and web development community, CakePHP’s 2018 conference will be an event not to miss. Early Bird Tickets are on sale now.

Mid-Atlantic Developer Conference - July 13-14th 2018, Baltimore
Mid-Atlantic Dev Con is a polyglot event, designed to bring together programmers from the region, regardless of their choice of platform, for two full days of learning from each other and building a stronger regional community. Early Bird tickets are on sale now.

PHP Detroit Conference - 26-28th July 2018, Livonia
PHPDetroit is a two-day, regional PHP conference that brings the community together to learn and grow. We're preceding the conference with a 2 track tutorial day that will feature 4 sessions covering various topics. We will also be running an UnCon alongside the main tracks on Friday and Saturday, where attendees can share unscheduled talks. Early Bird Tickets are on sale now.

Northeast PHP Conference - 19th-21st September 2018, Boston
Our event is a community conference intended for networking and collaboration in the developer community. While grounded in PHP, the conference is not just about PHP. Talks on web technology, user experience, and IT management help PHP developers broaden their skill sets. The Call for Papers is now open.

Nomad PHP US - May 17th 2018 20:00 CDT
The Container is a Lie! Presented by Larry Garfield. Containers are all the rage these days. They’re fast, they make deployment easy, they handle dependencies, they slice, they dice, they make julienne fries! But… what are they? What exactly is a container and how does it work? Just how does a container differ from the “old” silver bullet, virtual machines? Here’s a hint: It has nothing to do with boats, or whales, or shipping. That’s all marketing fluff. Containers are simply a shorthand name for leveraging newer features of operating system kernels that let the OS lie to programs about how they’re running. In fact, all of modern software is built on lies. That’s what’s useful about it! To understand how that works, why it’s so useful, and where it’s not, let’s dive into how software actually works on a modern Linux system to see how those kernel features fit into the big picture, building up to “containers” along the way. Pull back the veil of lies and see how your computer really works.

Nomad PHP EU - May 17th 2018 20:00 CEST
Move over Graphite, Prometheus is Here. Presented by Michael Heap. We all agree that metrics are important, and that Graphite’s a great tool for capturing them. However, in the last few years the metrics space has released lots of great tools that blow Graphite out of the water – one of which is Prometheus from Soundcloud. Prometheus allows you to query any dimension of your data whilst still storing it in a highly efficient format. Together, we’ll take a look at how to get started with Prometheus, including how to create dashboards with Grafana and alerts using AlertManager. By the time you leave, you’ll understand how Prometheus works and will be itching to add it to your own projects.


Lately in PHP Podcast: PHP and JavaScript Innovation Award Report March 2017 Edition - December 2016 nominees
This is the latest podcast hangout episode on the PHP Innovation Award and the JavaScript Innovation Award, about the nominees of December 2016. We comment only on past nominees to avoid influencing the voting results. This way we are only talking of packages published already in December. The nominees of December were voted for in January. In February the results were announced.

Voices of the ElePHPant - Interview with Chris Hartjes
This week Cal Evans chatted with The Grumpy Programmer himself, Chris Hartjes.

Laravel IO Podcast Season 3: OG Reunion #1
In special edition of the Laravel Podcast, the Season 2 crew reunites.

Three Devs and a Maybe Podcast - EconoNAS and HTPC System Builds with Brian Moses
In this weeks episode we are joined again by Brian Moses to discuss several of his recent system builds.

Changelog Podcast #292: Elasticsearch and Doubling Down on “open”
Philipp Krenn joined the show to talk with us about Elasticsearch, the problem it solves, where it came from, and where it's at today. We discussed the query language, what it can be compared to, whether or not it's a database replacement or a database complement, Elasticsearch vs Elastic the company.

Full Stack Radio Podcast Episode 86: Jonathan Reinink - Rebuilding a SaaS with Vue.js and Tailwind CSS
In this episode, Adam talks to Jonathan Reinink about lessons learned rebuilding his SaaS app with Vue.js and Tailwind CSS. 

Magetalk Magento Podcast #166 - “Dark Souls”
"Doing Magento Development with one hand tied behind your back" - the guys break it down and get real about Magento 2.3, the "Marathon Masters" program and more. Listen now!

PHP Ugly Podcast #101: Class is in $_SESSION
Topics include Pros and Cons to one and one meetings, and the end of windows.

North Meets South Web Podcast Episode 43: Mechanical Keyboards, Shared Databases, and Code Thoughts
Jake and Michael discuss their new keyboards, Michael tells us about an app using shared database models and migrations he got into production, and we both discuss the code thoughts experiment on Telegram. 

Post Status Draft Podcast - Network Effects and WordPress
In this episode, Brian and Brian discuss the power of network effects and how they relate to WordPress’ increasing market share and maturity.

Reading and Viewing

List of podcasts which are helpful for software engineers/programmers.

Cloudways Interview - Julio Potier Talks About the Wordpress Vulnerabilities
Julio Potier, co-founder at SecuPress, is one of the well-known WordPress security specialist and consultant helping users identify vulnerabilities and prevent attacks. He has been working in the web security domain since 2009 and currently has 25+ plugins to his credit in the WordPress directory.

PHP Digest #15: News and Tools
A tool for quick smoke testing, a PHP parser in PHP, a cool extension for PhpStorm, an object graph visualiser, a library for implementing Event Sourcing in PHP apps, the lightweight in-memory message queue, and more. This digest seems to be really informative. Keep on reading!


LaraTalent - Companies apply to YOU
LaraTalent is a reverse job board. We find the best PHP developers and showcase them to companies looking to hire the best talent.

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

Create powerful video conferences on demand and easily integrate eyeson with your own PHP applications.

LifterLMS, the #1 WordPress LMS solution, makes it easy to create, sell, and protect engaging online courses.

Increase your traffic, view your stats, speed up your site, and protect yourself from hackers with Jetpack. 

Clockwork is a browser extension, providing tools for debugging and profiling your PHP applications, including request data, application log, database queries, routes, visualisation of application runtime and more.

WIP: A PHP7 implementation of the GraphQL specification.

The ultimate debugging and development tool for ProcessWire.

PHP client/server for the telegram MTProto protocol (better tg-cli). 

AST based PHP Mutation Testing Framework.

Transformation Style Sheets - Revolutionising PHP templating.

An OOP based, dependency free, PHP library with easy-to-use syntax that scrapes and parses data from MyAnimeList back to you.

The process virtual machine. The library provides us with a frame to build a workflow or business processes such as BPMN.

MailChimp for Magento 2. 

Please help us by clicking to our sponsor:

encrypt php scripts 
Protect your PHP Code
Why not try SourceGuardian 11. Click here to download a 14 Day Trial copy. Protect your code using Windows, Linux or Mac and run everywhere with our free Loaders.

So, how did you like this issue?

Like us on FacebookFollow us on Twitter
We are still trying to grow our list. If you find PHP Weekly useful please tweet about us! Thanks.
Also, if you have a site or blog related to PHP then please link through to our site.

unsubscribe from this list | update subscription preferences 

Subscribe! Enter your email address below:

NO SPAM: We absolutely hate spam. We will not share, rent, or give away your email address to anyone.You can unsubscribe at any time. Easily!

Talk to us!

If you have some news, want to share a link with us or chat with us feel free to email us.

And we also have an RSS feed that you can use.

Like us on FacebookFollow us on Twitter

Copyright ©