|Issue Number 200!!!!
Here it is PHP fans - the 200th edition of @phpweekly.com!
Issue number 1 was delivered to 7 subscribers.
Issue number 100 was delivered to around 17,000 subscribers.
Issue number 200 will be delivered to a staggering 20,000+ subscribers!!
A small sideline project with a team of two, we had no idea where that first issue would take us, yet here we are four years later and still going strong.
We would not be where we are today without the help and support of you in the PHP community, from our faithful readers to the article writers, from the bloggers to the podcasters.
So for that we want to simply say Thank You, and here's to Issue number 300.....
Katie and Ade
Please help us by clicking to our sponsor:
Every Heroku users favorite MySQL database; JawsDB, will soon be available to everyone — sign-up for early access and get a limited edition t-shirt and a 2.5 GB | 30 connections Blacktip database free for 3 months!
Convincing Developers to Write Tests
Having spoken to many developers and development teams so far, I've recognised several patterns when it comes to software testing. Use the following articles as a way to revive the discussion about testing inside your team or your company. Keep the testing spirit alive!
We Can All Learn From The Drupal Community
I started hearing about Drupal 8 back in 2014, how this CMS would start using Symfony components, an idea I as a PHP and Symfony developer found very cool. That is when I got involved with Drupal, not the CMS, but the community.
The Allure of Static Proxies
Several weeks ago I started playing with Laravel. Primarily because several colleagues are using it, and have suggested that I take a look at it. During my time reviewing how to build a view template I came across references to Html, Form, View and other static calls. Initially I was not impressed due to the use of so many static calls. I have come to an understanding about how static calls in certain circumstances can actually enhance code readability.
The State of PHP MVC Frameworks in 2017
A simple question prompted me to sit down and write this follow up to my article from about a year ago.
Q: Any thoughts about where things are today? (2/24/2017)
A: “I’d say it’s pretty much down to Laravel and Symfony at this point; when it comes to PHP frameworks. I don’t feel that there is any specific value to using CakePHP, Zend, CodeIgniter, Yii, etc. if you are starting a new project. Only if you already know those frameworks or have developers that are used to working with them, I could see a reason to use them.
How I Got From 0 to 1 000 Stars on GitHub in Three Months With My Open Source Side Project
Most developers have side projects. That's how we try out new things or make something that we miss on the market or in our dev stack. But most side projects end up unfinished and never actually see the light of day. And even if a developer builds up the courage to show his work to the public, he quickly finds out that just publishing a repository doesn't actually bring the masses to his doorstep.
Tutorials and Talks
How To Set Up PHP On An IIS Web Server
Although this is not a common software combination, some people might want to leverage the advantages of Windows servers, while still being able to develop and run PHP applications. In this tutorial, we will see how to install IIS Web server and PHP on a Windows Server 2012.
Building Your Startup: Preparing for Text Messaging
When you're on the go and scheduled meeting times are approaching, receiving helpful text messages is often more useful than email reminders. I've always known that text (or SMS) messaging would play a useful part in Meeting Planner. In todays episode, I'm going to walk you through the first half of my SMS configuration for the Meeting Planner application. Basically, I'll cover choosing an SMS provider, setting up the account, building the initial application infrastructure, and trial texting.
Manually Reconnect MySQL in CakePHP 3
We have encountered a weird issue in our CakePHP 3 application recently. It is a trick solution and we have decided to blog about it in case anyone else needs it.
Laravel Countries and Currencies Package
Antonio Carlos Ribeiro recently launched a new package that gives you a powerful setup for dealing with the different countries of the world, all through a comfortable Laravel syntax using Collections. The package does a lot. Everything from geology and topology, to states, currencies, and time zones.
Get Started Running Laravel in a Docker Container
Docker is an amazing tool, and so is Laravel. This tutorial will show you how to create a public posting forum using Laravel and Docker.
6 New PHP Analysers in Exakat 0.10.3
Exakat 0.10.3 shipped with 6 new PHP analysers : see the changelog. Here is a short presentation of them.
Fixing Text_LanguageDetect on PHP7
I recently upgraded my personal development laptop to PHP7, and suddenly writing blog posts was not possible anymore. Text_LanguageDetect, the library I use to autodetect the language of my blog posts from its title, had stopped working.
Bash Practices - Part 1: Input Validation and Local Variables
I'm going to show you some ways in which you can improve the design of Bash scripts. Again, it's a weird language, and a lot of what's below probably won't feel natural to you. Anyway, there we go.
PHP Frameworks: Choosing Between Symfony and Laravel
Today, when starting a new project, one of the key decisions is to pick the right framework. It’s become hard to imagine building a complex web application from scratch nowadays without one. Many popular languages for web development have their “default” framework. However, PHP has no such single default and has multiple popular options to choose from. Two of the most popular PHP frameworks are Symfony and Laravel. In this article, I am going to compare these two frameworks and show you how to implement simple, everyday features with each.
Closures, Anonymous Classes and An Alternative Approach to Test Mocking (Part 1)
Since their first introduction with PHP 5.3, Closures have proven an incredibly useful feature for writing simple callback code, making it cleaner and more intuitive. Anonymous Functions can be used inline for many of the array functions
Crawling a Page with Blackfire Player
Blackfire Player is a powerful Web Crawling, Web Testing, and Web Scraper application. It integrates with Blackfire in order to automate performance testing, but can also cover a lot more use cases, without necessarily involving any sort of performance management. Let’s have a look at a use case on the crawling capacities of Blackfire Player.
Minimalistic Way to Create Your First Nette Extension
Nette extension allows you not only to create open-source packages, but also to split your application to small and logical chunks of code. Open-source extensions are more complex using many Nette\DI features, but today I will show you how to start with one Nette\DI method and one service only.
Speed Up Your Laravel App With Config Caching
When deploying your Laravel Application, I’m sure you want to fine tune as much as possible to make it as performant as it can be. The community offers many tools to help you in development like the debugbar and production packages like HTTP/2 Server Push.
|News and Announcements
Announcing Expressive 2.0
Today we're excited to announce Expressive 2.0! What has changed since 1.0 was released last year? The short version: we've been providing changes that standardise, simplify, and streamline application development in Expressive.
PHPKonf - May 20th-21st 2017, Istanbul
PHPKonf is hosted by the İstanbul PHP community (İstanbul PHP) in İstanbul, Turkey from May 20th 2017, and you're invited! For the 4th year, we'll host some of the best speakers, awesome talk topics, latest technologies, and up to date news in PHP. The conference has something for every level of PHP developer with awesome keynote and 14 talks (multi-track). So come meet other PHP developers and see what others are doing, and please share your experience as well. Then relax or have some fun at the evening events with plenty of fun for everyone! Tickets are on sale now.
PHP Serbia Conference - May 27-28th 2017, Belgrade
PHP Serbia Conference delivers high-value technical content about PHP and related web technologies, architecture, best practices and testing. It offers two days of amazing talks by some of the most prominent experts and professionals in the PHP world in a comfortable and professional setting. Last Bird tickets are on sale now.
PHP South Coast - June 9-10th 2017, Portsmouth
That’s right, PHP South Coast conference in 2017 will be running not one, but two days of talks on 9th-10th June 2017. This means there will be more opportunity for new speakers to be a part of the conference as well as more experienced speakers being present on the lineup. On the Friday we will have two tracks all day, followed by a social event in the evening (more details to be announced). On Saturday we will have one track of talks, starting slightly later in the morning so that everyone is nice and refreshed from the night before :) Early Bird tickets are on sale now.
Web Summer Camp - August 30th-September 2nd 2017, Croatia
Nomad PHP US - April 20th 2017 20:00 CDT
Does Your Code Measure Up? Presented by Adam Culp. After days, weeks, or months of coding many developers don’t know how to gauge the quality of their code. I’ll introduce tools to grade, benchmark, and analyse PHP code in an automated fashion, allowing developers to write better quality software. Then I’ll explain key metrics to help understand what may need to be refactored, and use code smells to point out bugs before end-users discover them. Attendees will see how to use these tools, know where to find them, and be able to implement them into their own workflows.
Nomad PHP EU - April 20th 2017 20:00 CEST
Modern SQL, presented by Elizabeth Smith. Everyone knows that SQL is an outdated tool with a standard written in 1992 that isn’t webscale. Who needs consistency or isolation, or even atomicity with your data. Just shove it in a document store! And then that transaction is suddenly missing for your user… SQL is not a dirty word, and if you’re processing data you should know how to use the right tool for the job. Learn about modern SQL dialect features including CTEs, aggregate filters, with clauses and more. We’ll look at database support for these features, and use PostgreSQL for examples. We’ll also look at features that many traditionally relational databases are adding and play with PostgreSQLs json features.
MageTalk Magento Podcast #119 - “The Haircut by which All Other Haircuts are Judged”
Kalen worries about how much of a radio face he has and Phillip pays $350 for a haircut.
Voices of the ElePHPant - What Conference Organisers Wish Speakers Knew
This week Cal Evans chairs a panel discussion with several prominent PHP community members, and conference organisers, to talk about what they wish their speakers knew.
Free The Geek Podcast: Episode 22 - Talking Online Training and Growing an Online Presence with Wes Bos
Laravel News Podcast LN32: Laravel Shift with Jason McCreary
Jake and Michael speak with Jason McCreary about Laravel Shift, LTS software, and Getting Git.
The Laracasts Snippets Episode 60: How to Plan a Conference Talk Like Zack Morris
Today, we're discussing my personal workflow, when planning a new conference talk. Unfortunately, it's never quite as simple as opening your presentation app of choice, and typing away. Any typical conference talk likely took months to prepare.
PHP Ugly Podcast #50: Resistance Is Futile
Topics this week include Laravel Collection “tap” method and a bit of PHP history.
Install Vagrant via Composer with Homestead
I can put vagrant in your project in THREE COMMANDS! Don’t believe me? Join me for a quick how-to on adding vagrant to dang near any PHP project. Not only will we virtualise your environment, we’ll of course be using the latest and greatest PHP version 7.1!
php[architect] Magazine March 2017 - Back to the Drawing Board
The March issue of the magazine is ready for you to download. In this issue, we look at some server related technologies to keep your PHP application humming.
Acquia Podcast - What's in a Driesnote? ASH 'n Jam Talk Community Stories
Acquia Office of the CTO Multimedia Designer, Alena "ASH" Heath and I collaborated in 2016, collecting stories about contribution and changing lives from members of the Drupal community. Soundbites from some of those conversations were included in Dries Buytaert's "Driesnote" keynote address at DrupalCon Dublin. In this podcast, we talk about ASH's history in Drupal, this project and what we learned along the way! Watch the video here.
Insight In The Life Of Bridget Willard, Marketing Manager At WordImpress
Bridget Willard is currently the Marketing Manager for WordImpress, co-host of WPblab and the co-organiser of Women Who WP meetup. She started off her career in a desk job at an office as a social media marketer, ending up at a WordPress Development Shop. She has her own website by her personal name, where she mostly blogs about relationship marketing on social media and, of course, WordPress. Cloudways interviews Bridget Willard to find out about her professional life hacks and how she became such a successful employee. So let’s not waste any more time and hear about her achievements from her own self.
Functional PHP Kindle Edition (by Gilles Crettenand, published 14th February 2017)
A functional approach encourages code reuse, greatly simplifies testing, and results in code that is concise and easy to understand. This book will demonstrate how PHP can also be used as a functional language, letting you learn about various function techniques to write maintainable and readable code.
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 firstname.lastname@example.org
Interesting Projects, Tools and Libraries
Web based groupware server written in PHP.
A feature rich and highly flexible OpenSource Social Network Kit written in PHP.
A simple websocket server and client package for PHP 7.1.
Piwik is the leading Free/Libre open analytics platform, a full featured PHP MySQL software program that you download and install on your own webserver.
Modern, crazy fast, ridiculously easy and amazingly powerful flat-file CMS.
Cachet is a beautiful and powerful open source status page system.
An asynchronous event driven PHP framework with high performance for easily building fast, scalable network applications.
Flysystem is a filesystem abstraction which allows you to easily swap out a local filesystem for a remote one.
A PHP class that makes working with images as simple as possible.
Database management in a single PHP file.
The Themosis framework is a tool aimed at WordPress developers of any level, but the better WordPress and PHP knowledge you have the easier it is to work with.
Powerful, flexible web routing for PSR-7 requests.
|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.