|Welcome to the latest @phpweeklynews newsletter.
The results of the Drupal Association at-large election are in, so meet the newest board member to serve the Drupal community.
Also this week, if you are interested in supporting ongoing Laravel development, but are unsure how to go about it, Taylor Otwell explains how you can do so via Patreon.
We take a look at the latest tutorial in the Programming with Yii2 series, this week looking at Active Record, Yii's ORM for working with databases.
Plus Cal Evans interviewed Magento shop owner Thomas Gamble in the latest Voices of the ElePHPant podcast.
And finally, the 13th ZendCon has been announced for October this year, taking place in Las Vegas. This four day event is the largest gathering of the PHP and open source communities, and the Call for Papers is open now.
Have a great weekend,
Katie and Ade
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.
What's New in PHP Web Development?
PHP is everywhere, with estimates saying that, of the server-side language that is known, 82.6% of websites use PHP and about 95.3% of those are using PHP 5 according to W3Techs. It’s been 23 years since PHP was born, and we’re now at version 7.1.3. Tweaks and changes along the way are working to enhance performance (i.e. speed) and make coding more precise and efficient. If you’re part of the group that is still in earlier versions, it may be time to move up to PHP 7. Now that we’re a few versions into 7, let’s take a look at some of the features.
Boosting the Visibility of Your PHP Projects with Data Mining and Business Intelligence
If you ever tried to get attention to your Open Source software work but it did not get very far, now you can learn how to fix that. Thanks to basic data mining techniques on search engine traffic statistics and business intelligence methods, it is possible to help you to optimise the content that you publish to promote your Open Source work beyond the traditional methods of publishing the code in a repository and waiting to see what happens. Read this article and watch a demo video about a search engine optimisation tool that is being used to optimise the content of many Open Source projects, to leverage the number of interested users.
How Drupal.org Fights Spam Using Distil Networks
Drupal.org is the home of one of the largest open source communities in the world. We've been online for more than 13 years and collectively we build the Drupal software, provide support, write documentation, share networking opportunities, and more. The open source spirit pushes the Drupal project forward, and new members are always welcome. It falls to us to maintain our community home and preserve the welcoming atmosphere that leads people to say,"Come for the code, stay for the community." Spam is a nuisance to our existing community, devalues our project to the newcomers we are hoping to welcome, and left unchecked could degrade our search presence.
How To Publish Magento Extensions in Magento Marketplace
Magento Marketplace was launched in 2016 as a platform for Magento developers to submit their Magento 1 and Magento 2 products, under one authentic roof that caters to all types of user needs. In this article we will share the proper method of adding your extension at Magento Marketplace without any complicated steps.
Over the last several years of building Laravel, I’ve been asked numerous times how people can support ongoing Laravel development. I typically tell people that subscribing to Forge or Envoyer is a great way to support the framework. However, some either do not need these services or want to do more.
Tutorials and Talks
Statie 4: How to Create The Simplest Blog
Statie is very powerful tool for creating small sites. But you will use just a small part of its features, having just micro-sites. How to get to full 100%? Build a blog. Today I will show you how to put your first post.
Building Your Startup: Completing Group Scheduling
Welcome! This is the follow-up episode to Building Your Startup: Meetings with Multiple Participants. Today, I'll be completing the work that we began in that episode: scheduling multiple participant meetings. In today's tutorial, I'm going to cover reviewing all the areas of the site affected by multiple participant meetings, handling and smartly displaying lists of recipients of various statuses, properly managing notifications and notification filtering for groups, and finally upgrading the recently launched request meeting changes feature.
Keeping Your CLI Integration Tests Green on Windows
Lately on a Windows system, some failing integration tests for CLI commands utilising the Symfony Console component caused me some blip headaches by PHPUnit, insisting that two strings are not identical due to different line endings. The following post documents the small steps I took to overcome these headaches.
Simple React Native Forms With redux-form, immutable.js and styled-components
How to easily integrate user input into your state management on the mobile platform.
Running Magento on Zend Server Cluster on AWS – Simple Walkthrough
Deployment of Magento in a scalable and redundant fashion is an important, yet complex task. Since Magento is often used for making online stores and shops, it’s important to ensure maximum availability and performance, as downtime can directly affect a companys revenue. In this blog, I am going to walk through how to setup and deploy Zend Server Cluster, which automatically scales from 2 to 10 nodes depending on the load on cluster nodes, along with Magento. For this walk through, we’ll focus on how to complete this set up on AWS, but the basic principles could be applied to other deployment options.
Using Variables in Your .env File
Laravel’s .env file is included to use, so it’s easy to have a different configuration based on the environment your app is running on. This gives you the flexibility to have different variables for local, staging, production, and even different developers’ machines.
Why Is Doctrine Dying
Do you use Doctrine ORM? If so, do you follow its evolution on Github? Symfony is evolving, Laravel is evolving, Nette is evolving, world is evolving... Doctrine not. Today I will show you 3 reasons why.
Improving TYPO3 Docker Cache Warming Speed
Warming the page cache after a production deployment took up to two minutes for certain TYPO3 pages. We got that down to mere seconds by not throwing away scaled and cropped images.
Free Wildcard SSL Using Forge + Cloudflare
Securing sites with SSL used to be a headache. However, in the last few years it has become infinitely easier (and cheaper) to secure your site. Forge has always had support for easily installing SSL certificates, and even offers integration with LetsEncrypt to install free SSL certificates. However, I personally prefer to use Cloudflare, another service that offers free SSL certificates, as well as a variety of other free and paid services that are useful for web developers.
How to Program With Yii2: ActiveRecord
In this Programming With Yii2 series, I'm guiding readers in the use of the Yii2 Framework for PHP. In today's tutorial, I'll walk you through using Yii's object-relational mapping, known as ORM, for working with databases. It's called Active Record and is a key aspect of programming database applications efficiently in Yii.
Creating Strictly Typed Arrays and Collections in PHP
One of the language features announced back in PHP 5.6 was the addition of the ... token to denote that a function or method accepts a variable length of arguments. Something I rarely see mentioned is that it’s possible to combine this feature with type hints to essentially create typed arrays.
Debugging TYPO3 Crawler, or: The Tale of Many "Why?"
I spent the last couple of days at work integrating REST API data into the search result list of TYPO3's indexed_search extension. Yesterday I wanted to run a last test on my development machine to see if everything worked as it should and if API data would be indexed correctly. It did not work.
Power Conferences in PHP Part 2
Thanks for coming back and Happy St. Patrick’s Day. Last week, we figured out a way to play audio to all attendees in a conference. If you want to stick around, I am going to build on that today to finally get to the self-terminating conferences, that we are pursuing in order to support workplace efficiency.
Online Catering Reservation in PHP/MYSQL
A system created for catering services using Bootstrap and MySqli for online reservations to organise the schedule of reservations, to avoid conflicts with the availability of catering This includes the capability to generate unique reservation code for security purposes. This system will help to reduce time to generate reports and process reservations.
A Package for Snapshot Testing in PHPUnit
The gist of snapshot testing is asserting that a set of data hasn’t changed compared to a previous version, which is a snapshot of the data, to prevent regressions. The difference between a classic assertEquals and an assertMatchesSnapshot is that you don't write the expectation yourself when snapshot testing. When a snapshot assertion happens for the first time, it creates a snapshot file with the actual output, and marks the test as incomplete. Every subsequent run will compare the output with the existing snapshot file to check for regressions.
|News and Announcements
2017 Drupal Association at-large Election Winner Announced
The staff and board of the Drupal Association would like to congratulate our newest board member: Ryan Szrama. Thank you, Ryan, for stepping forward to serve the Drupal community. On behalf of the community I also want to thank the 13 candidates who put themselves out there in service of Drupal and nominated themselves. We are grateful that our community has so many brave and generous people willing to contribute this way.
PHP Founder Rasmus Lerdorf Comes to Bucharest Technology Week in May
Danish-Canadian programmer Rasmus Lerdorf, who created the PHP scripting language, will come to the Bucharest Technology Week in May. He is one of the first international speakers confirmed for the event’s Business Summits, which will take place at Athenee Palace Hilton Hotel in Bucharest from May 23rd to May 26th.
Packagist.drupal-composer Has Been Shut Down
If you are seeing this message, it is because you are using the deprecated Drupal Packagist, a Composer repository for Drupal. It was shut down Friday 10th of March 2017.
Conferência PHPRS - May 12-13th 2017, Porto Alegre Brazil
An event for the PHP Developer community of Rio Grande do Sul, focused on professional growth, exchange of experiences and networking. Strengthening language and the labour market. Day One will be workshops, and Day Two will be lectures. Tickets are on sale now.
php[tek] Conference - May 24-26th 2017, Atlanta
Hello and welcome to php[tek] 2017 - the premier PHP conference and annual homecoming for the PHP Community. This conference will be the 12th annual edition, and php[architect] and One for All Events are excited to bring it to Atlanta, the empire city of the South! An amazing schedule has been put together, including 4 full-day training classes, 8 hands-on workshops, 40 breakout sessions and 6 keynotes, all being provided by 40 different speakers from around the world. Tickets are on sale now.
International PHP Conference - May 29th-June 2nd 2017, 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. Early Bird tickets are on sale now.
ZendCon - October 23rd-26th 2017, Las Vegas
Now in its 13th year, ZendCon is the "must attend" event and the largest gathering of the PHP and open source communities. ZendCon brings together industry thought leaders, recognised PHP experts, enterprise decision makers, IT managers, dev and ops teams, and independent developers for four days of professional and business development. ZendCon connects the vast open source ecosystem and provides unique opportunities to engage with prominent speakers, community leaders, and vendors. You'll learn about the latest innovations and network with peers to get educated, advance your coding practices, and solve business challenges. The Call for Papers is now open.
PHP Ugly Podcast #53: Hot Pocket
Topics this week include recently released free NASA software and the PHP Unicorn Conference.
Three Devs and a Maybe Podcast - The Tale of State and Behaviour, Part 1 with Scott Wlaschin
In this weeks episode we are lucky to be joined by Scott Wlaschin again, to discuss his recent ‘Thirteen ways of looking at a turtle’ talk. We start off the discussion highlighting the value of solving a known problem in many different ways and the inspiration behind the talk. This leads us on to chat about the Object-oriented and Abstract Mutable/Immutable Data Model solutions, mentioning each ones merits as a way to solve the problem. We then move on to highlight the State, Either and Async Monad solutions, and how they aid in function composition of different ‘shapes’. Finally, we mention how good code should be boring, the balance of the abstract vs. concrete and transparency in code.
Voices of the ElePHPant - Interview with Thomas Gamble
This week Cal Evans interviews Magento shop owner Thomas Gamble. They talk about Magento, remote workers, and Magento Imagine.
PHP Roundtable Podcast Episode 60: Logging & Crash Reporting in PHP
No matter how experienced you are as a programmer, at some point your app will generate errors and crash. Fixing problems with your app quickly is paramount in order to affect as little of your user base as possible. We discuss what is involved with implementing effective logging and crash reporting techniques in PHP to help you keep your apps up and running like a well-oiled machine.
Free The Geek Podcast: Episode 24 - Interview with Taylor Ottwell
In this episode I talk to Laravel creator Taylor Otwell, a man who needs no introduction. I met Taylor for the first time at PHP World in 2015, and caught up with him again at ZendCon in 2016. He's someone who I very quickly clicked with, both for his technical knowledge, and also for his reservedness. I felt that he had quite a story to tell, one that's perhaps overlooked among all the buzz surrounding Laravel and its wider community. So, grab your favourite beverage, put your feet up, and come learn more about Taylor, what it was like in the early days of Laravel before he was at it full-time, and what it's like to build real products that make money and pay the bills.
Laravel News Podcast LN34: Forge Updates, Ubuntu DNS Issues, and PhpStorm 2017.1
Jake and Michael discuss the new Laravel announcements publication, Ubuntu DNS issues, using environment variables in your .env file, and PhpStorm 2017.1.
Acquia Podcast: Mumbai Memories - Neetu Morwani
My trusty microphone, camera, and I recorded a few great conversations in Mumbai that have never been released until now. Next up in “Mumbai Memories”, taking Drupal 8 from awesome to super-awesome with Neetu Morwani! Listening to Neetu talk about the significance of DrupalCon coming to India, how it is changing people's lives in India, her excitement is palpable. This energy was everywhere at DrupalCon in Mumbai. The Indian Drupal community is a wonderful (large!) group of men and women who are bursting with energy and ideas about how to improve the world. Watch the video here.
Stack Overflow Developer Survey Results 2017
Each year since 2011, Stack Overflow has asked developers about their favourite technologies, coding habits, and work preferences, as well as how they learn, share, and level up. This year represents the largest group of respondents in our history: 64,000 developers took our annual survey in January,
Is Your Server Secure Enough? Presented by Viraj Khatavkar
Two years ago, I had to unwillingly dive towards managing my own servers. As a developer, it was very frustrating. Servers are messy stuff. Managing them is pretty tough. I’ve been there, learned some lessons the hard way, and found success. I want to share those lessons with you.
Cloudways Interview - Interview With The Founder And CEO Of Inchoo, Tomislav Bilic
Tomislav Bilic is the Founder and CEO of Inchoo – A Leading Magento and Ecommerce Solution Development Agency. In his initial days, he worked as a Developer and Manager. Nowadays, he only looks after the Management. At Inchoo, his role is to organise the Business, HR, and Marketing.
Midwest PHP 2017 Short Recap
I was invited to speak at Midwest PHP 2017 to give my “DevOps for Small Teams” talk. I’m always excited to head up north because I’ve always had amazing experiences with the community there. Also a conference on my birthday weekend this year sounded like a great idea.
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
Behat Transliterator library inherited from Doctrine1 and used in Behat for snippet generation.
A free, open source, content management system for PHP.
A simple, powerful blog publishing platform that lets you share your stories with the world.
A PHP 5.3 library for asynchronously serving WebSockets.
PHP 5.3+ web browser emulator abstraction.
Database management in a single PHP file.
A high performance open-source forum software written in PHP.
Plugin to write WordPress themes w object-oriented code and the Twig Template Engine.
A small PHP 5.3 dependency injection container.
The core library to train certifications.
A Hashids bridge for Laravel.
A social networking engine in PHP/MySQL.
So, how did you like this issue?
Protect your PHP code with SourceGuardian. Free trial.