|A very warm welcome to you out there in the PHP community, and thank you for joining us.
This week we bring you our Spanish counterpart La Semana PHP, a Spanish newsletter about all things PHP.
We also take a look at the five best PHP frameworks being used this year.
With the Laracon Australia Conference taking place next month, the organisers are giving six lucky people the chance to win a full conference ticket. Enter now for a chance to win.
Plus we continue with the Get Started With Pusher series, this week building a simple chat app.
And finally, the latest PHP Round Table podcast offers advice to all you self-taught programmers how to prepare for a tech interview.
Have a great weekend,
Ade and Katie
Please help us by clicking to our sponsor:
Easily Monitor and Protect Your PHP Apps
Sqreen helps you monitor security anomalies and automatically
respond to threats. Avoid SQL injections, XSS, account takeovers
and custom business threats. Get started in under 5 minutes with a
simple PHP extension.
Farewell Megan, But Not Goodbye
As you might have read on the Drupal Association blog, Megan Sanicki, the Executive Director of the Drupal Association, has decided to move on. Megan has been part of the Drupal Association for almost 8 years. She began as our very first employee responsible for DrupalCon Chicago sponsorship sales in 2011, and progressed to be our Executive Director, in charge of the Drupal Association.
Why You Should Contribute to Open Source Projects in 2018 and Beyond
Open source can change your life. It has changed mine with Corcel, an Open Source project that I started in 2013 which changed who I am and how I live. Read this article to learn more the story of the project and how it became a passion for Open Source projects that is probably like yours.
5 Best PHP Frameworks of 2018 for Modern Web Development
Websites have become more complex and demanding with time. On the plus side, they now deliver far more value than they used to in yesteryears. As most developers will tell you, PHP frameworks are the go-to creation tools that give life to those sites, and as a result, almost 80% of the web pages on the internet are backed by PHP frameworks. In this article, we have compiled for you a list of best PHP frameworks out there.
Guide to 24 PHP Frameworks Part 1
Imagine if you could type one simple command on your terminal, and see half of the code required for your new web application already written. This is the power of learning how to use PHP Frameworks! Below I have listed a review of 24 of the best PHP frameworks that will give you enough knowledge on how to make your job easier and faster. Let's get started!
Tutorials and Talks
Get Started With Pusher: Build a Chat App With Channels, PHP, and Vue.js
In this post, I'll show you how to write the functional components of a very simple chat app. It's a stripped-down example, but you'll see how Channels can simplify the implementation of real-time communication in a web app.
Building a Single-Page Application with Symfony 4, Vue.js, Vue Router, Vuex and Axios
With Symfony, I used to build my web applications in a traditional way: the framework handles everything, from the routing to the page rendering. However nowadays web applications have complex user interactions and the previous approach does not fit well for such cases. That's where single-page application architecture comes to the rescue.
Solving Conflicts in Magento's config.php
Sometimes you run into this situation when a git pull will responds with `Merge conflict in config.php`. How to solve this issue in a proper way? Let's have a look how other people solve similar issues.
Don’t Clone Your PHP Objects, DeepCopy Them
As you know, PHP has a well-known clone keyword that shallow copy all of the objects properties. This behaviour seems what we expected. However, it might give “weird” results if the object that you are cloning contains properties that are objects. Let’s see.
Debug PHP With XDebug On NetBeans
PHP-level Performance Optimisation with Blackfire
Throughout the past few months, we’ve introduced Blackfire and ways in which it can be used to detect application performance bottlenecks. In this post, we’ll apply it to our freshly started project to try and find the low-points and low-hanging fruit which we can pick to improve our app’s performance.
React/Cache In Use
Recently we, ReactPHP, released 0.5 of our cache package with TTL and other PSR-16 similarities. In this post we'll go over which packages I recently updated and how I am using them in my sites.
Inviting Users with Laravels Singed URLs
We can handle user invitations easily with the old and good database way. We create an invitation, store it with a unique token, then email it to the user. If the user uses the link, we can delete it from the database and that’s all. Now let’s give a try to Laravel’s signed URLs to handle a database-less solution.
Curveball - A TypeScript Micro-Framework
I’ve been doing Node.js development for a little while, and I wanted to try my hand at writing a framework. It’s probably a rite of passage to do this, although it’s not really my first. By releasing it today I want to see if this is worth investing time in in the future, or if I should focus my energy elsewhere.
WordPress Plugin Development Using Docker
In this tutorial we will create a docker environment for dev and then go through how to get started building a plugin. I want the ability to let my readers submit article ideas and even vote on each other’s ideas so I have some good starting points for what you want to read about. Unfortunately such a plugin exists, but only for older versions of WordPress (and for security purposes we should all be upgrading constantly, right?!). Let’s get started!
Bitmask Constant Arguments in PHP
PHP has a handful of core functions that can accept boolean arguments in the form of constants that have a binary value. These can be combined together in a single function argument, essentially passing multiple boolean flags in a very compact manner. They work a bit differently to how most people implement options in their userland functions, so let’s take a look at how they work.
4 Ways to Add Global Option or Argument to Symfony Console Application
I'm working on ChangelogLinker, a package that makes managing CHANGELOG.md very easy - it generates it. It a CLI Application with a 3 Console Commands. All was good, until I needed to add an argument to all commands at once... and in lazy, extensible, maintainable way.
Use Laravel Observers and Global Scopes to Create User Multi-Tenancy
Multi-tenant application are pretty common these days, where database are entries can be accessed only by users who created them. In this article, I will show the simplest way to achieve it in Laravel.
Define Symfony Access Control Rules in a Database
I was recently at a PHP conference in Odessa where I met many great developers. One of them asked me a question, that the answer was not obvious. His use case was that he wanted to use Symfonys Access Control configuration to restrict access in his application. But he also wanted to configure the rules dynamically. Since all the configuration in Symfony is cached with the container for performance reasons, we could obviously not allow a use a database to somehow “print” new configuration. We need to do something smarter.
300 Multiple Choices
300 Multiple Choices is the first of the 3xx series, which are all used for redirection. 300 should be emitted specifically when a resource can redirect to more than one location, and it wants the user to decide which one.
Final Classes by Default, Why?
I recently wrote about when to add an interface to a class. After explaining good reasons for adding an interface, I claim that if none of those reasons apply in your situation, you should just use a class and declare it "final".
|News and Announcements
Laracon Australia Conference Ticket Giveaway
Laracon AU is giving away six full conference tickets to Laracon AU 2018, thanks to Tighten Co, Laravel News (oh hey!), Linode, and Nexmo! This giveaway is for the ticket only, so you will still need to make travel and lodging arrangements. Enter now for a chance to win one of six tickets.
Board Meetings at Drupal Europe
Drupal Europe is right around the corner! Just like previous large European Drupal Conferences, part of the week includes Drupal Association Board meetings. Below is a summary of their activities and agendas. We hope you will join the public board meeting in person or virtually.
PHP Developer Days - September 21st-22nd 2018, Dresden
After a very successful edition in 2017 we aim to push this community driven conference to the next level in 2018. For the first time we will offer a full day with workshops, so you can get the most out of our excellent trainers. On the second day our international speakers will provide you with great sessions in a single track. We are committed to creating a unique community experience - an event where everyone is among #PHPriends. Tickets are on sale now.
Symfony Live - September 27-28th 2018, London
Symfony is proud to organise the 7th edition of the British Symfony conference and to welcome the Symfony community from all over the UK. Join us for 2 days of Symfony to share best practices, experience, knowledge, make new contacts and hear the latest developments with the framework! Tickets are on sale now.
php[world] - November 14-15th 2018, Washington DC
PHP as a language and a community has been rapidly changing in the last few years. A staggering 83% of the Web runs on PHP, and those websites are built on frameworks such as Drupal, WordPress, Magento, Symfony, ZF and Laravel, each of which has their own strong community. We created a conference designed to appeal to all these communities and bring them together. Hence, php[world] was born. Early Bird tickets sales ends this weekend.
Nomad PHP US - October 180th 2018 20:00 CDT
Websockets in PHP, presented by John Fansler. Long gone are the days of serving up stale HTML pages. Users want to see their data in real time – not some old (or even slightly old) version of the data! Older technologies just don’t do this very well. Using WebSockets, we can deliver near-real-time data to our users while reducing the bandwidth on our servers at the same time. Although this technology is not new, its application in web development is. Let’s take a deep dive into the world of WebSockets – how to create and use them in PHP. We will look at what they are, what they can and cannot do, and then dig into some real-world code along with how to leverage it in a production environment.
MageTalk Magento Podcast #176 - Certification Extravaganza! (w/ Peter Manijak, Magento U)
Recorded LIVE on June 20, 2018 we dive deep into Magento certification exams for Magento 2 and beyond. Special guests include Peter Manijak from Magento U, Magento Master David Alger from Classy Llama, and Todd Christensen of Something Digital. Listen now!
PHP Round Table Podcast 77: Tech Interviews for Self-Taught PHP Programmers
Self-taught PHP programmers, even those of us with decades of experience, would likely fail a tech interview in an epic way. If you've ever wanted to work for a big tech company like Google, Amazon or Facebook but have always been too nervous about the tech interview, this episode is for you. We chat about what we need to do to be fully prepared for a tech interview. And maybe soon you'll be showing your friends how to reverse a binary tree on a whiteboard.
PHP Ugly Podcast #119: Licenses To Code
This month the team discusses prooph.
PHP Web Development Podcast Ep #13 - Start Ups V/S Corporates , Agency V/S Inhouse
In this episode I will cover some questions and answers I asked Dan a few months ago and I wanted to cover this as I believe it’s relevant based on some recent questions. We will cover Dan’s personal experience working with Corporates & Start ups, as well as working within an agency and the benefits & disadvantages of that.
Laravel News Podcast LN69: Laravel 5.7, ZSH, and Nova Packages
Jake and Michael discuss all the latest Laravel releases, tutorials and happenings in the community.
Full Stack Radio Podcast Episode 97: Ryan Florence - Building Accessible UI Components
In this episode Adam talks to Ryan Florence about the challenges of making custom UI components accessible, and how Ryan is trying to make that easier with Reach UI.Ryan Florence - Building Accessible UI Components.
php[architect] Magazine September 2018 - Magniphpicent 7.3
PHP 7.3 features, upgrading legacy code, Symfony Worfklow, estimates, Kahlan, RabbitMQ and more.
PHP La Semana
Bienvenido a la primera edición de La semana PHP. Welcome to the first edition of La Semana PHP.
Learn The Tricks of Web Development in 44 Hours
Spending just $29 could be the start of your future in web development. The minimum outcome is that you learn an interesting and marketable new skill. If things go well, it could be life-changing. That’s right, for just $29 you can get the Complete PHP & MySQL Web Development Bundle this week. This combination of seven online training kits and 44 hours of expert instruction is enough to take you from absolute newbie to pro web developer by the time you’re done.
Introducing the Theme & Plugin Files Addon for WP Migrate DB Pro
At long last, after 10 months, 10 beta releases, 760+ commits and 93 closed issues, we’re finally ready to announce the release of the Theme & Plugin Files Addon 1.0 ! This release is a culmination of many new features and updates, most importantly the ability to migrate your WordPress theme and plugin files along with your database and media files.
Black Friday Performance of Magento, Oxid, Shopware Shops 2016/2017
With all the customers running Tideways on their Magento, Oxid or Shopware shops I was interested in how in the aggregated average, those shops usually perform on Black Friday compared to the 8 weeks before and the weeks after leading up to Christmas.
A Week of Symfony #610 (3-9 September 2018)
This week, the upcoming Symfony 4.2 version merged lots of new features in preparation for its "feature freeze" at the end of this month: a new intl formatter for the Translation component, SameSite cookie support, a new PDO-based lock store and the Messenger component was made final.
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
Jobeet is a great tutorial on how to build a fully functional job board site. It was written by the Symfony team for Symfony 1.x version and I want to adapt it for Symfony 4.1.
A general purpose graph library written in PHP 7.1+.
Open Source VoIP Billing Solution for Freeswitch, it supports prepaid and postpaid billing with call rating and credit control.
Easy!Appointments is a highly customisable web application that allows your customers to book appointments with you via the web. Moreover, it provides the ability to sync your data with Google Calendar so you can use them with other services.
An open source web application which lets users create website screenshots through a simple API, built with Laravel.
PHP Standalone library for validating data.
DOMjudge is a system for running a programming contest, like the ACM ICPC regional and world championship programming contests.
The Twig Bundle provides configuration for using Twig in your applications.
PHP Binance API is an asynchronous PHP library for the Binance API designed to be easy to use.
Use the Mollie API to receive payments directly on your website or easily refund transactions to your customers.
With the Serializer component it's possible to handle serialising data structures, including object graphs, into array structures or other formats like XML and JSON.
The PropertyAccess component provides function to read and write from/to an object or array using a simple string notation.
A free, open source and online accounting software designed for small businesses and freelancers.
Batflat was created as a lightweight alternative to heavy and outdated CMS'.
Fast, efficient and useful Query Builder and PDO Class for #PHP.
Please help us by clicking to our sponsor:
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?