|Welcome PHP Fans,
This week, as part of Andreas Heigl's "24 Days in December" series which sees a different PHP community member post an article on PHP every day in the run up to Christmas, we have Erika Reinaldo's contribution.
We also have Part 3 of the Magento Theme Development series, looking into modifying home page content.
The International PHP Conference has been announced, taking place in Berlin next May. Early Bird tickets are available now.
And finally, on the NomadPHP website, Amanda Folson presents her Lightning Talk on using Laravel’s new micro-framework Lumen to build an API.
Hope you enjoy your read,
Katie and Ade
We love our sponsors. Why not try them?
On Security and PHP
This is an Opinion/Editorial (a.k.a an Old Man Rant) from Cal Evans. “PHP IS INSECURE!”. Yet another consultant group has decided that their traffic stats are too low so they need to “shake things up a bit”. As usual, they picked PHP as the whipping boy. No, I am not going to link to them; too many people are already doing that unironically.
20 Useful Laravel Packages Available on CodeCanyon
Here's a rundown of the Top 20 most popular Laravel packages currently available in the Envato Marketplace.
The Rise of the Elephpants
Erika Reinaldo writes - When I was invited by Andreas Heigl to participate on 24 days in December, I was quite unsure about what exactly I would be writing on my post. The challenge to me was writing anything that wasn’t said before, multiple times, even by myself. How not to repeat over and over the same discourse, of how awesome and how empowering the PHP community is, or how grateful I am for being part of it? Mind you, this is all very true, but it’s becoming a cliche. What else could I say about community?
PHP Version Roundup - PHP Install Statistics for 2015
Last year, Anthony Ferrara posted an excellent round up of PHP versions in the wild, specifically focusing on the volume of un-patched versions running production websites. Even as an estimate it was an eye-opening moment for many people. 12 months on Jack Skinner has reproduced this report, focusing on patch version fragmentation, % change in install numbers and % of installations running an insecure or out of date PHP version.
Tutorials and Talks
The Beginners Guide to WooCommerce: Adding Coupons - Usage Restriction Part 3
In the previous article I covered the settings of the Products and Exclude products options, which online store owners find at the time of creating a coupon in WooCommerce. These settings reside in the Usage Restriction section/tab, where the last three options are Product categories, Exclude categories, and Email restrictions. These three options are what we are going to configure today.
Running Phan against Slim 3
Having installed Phan, I decided to use it against the upcoming Slim 3 codebase. Phan needs a list of files to scan, and the place I started was with Lorna Mitchell's article on Generating a file list for Phan.
Installing PHP 7 with XDebug, Apache and MySQL on OS X Yosemite
In my previous blog post "Installing PHP 7 on OS X Yosemite" I gave some insights on how to get quickly started with PHP7 on your Mac, specifically on your commandline. But before I continue on how to make it work with your installed Apache and MySQL, I would like to address a subject many people found worth mentioning: PHP Installation Managers.
Building a Basic Video Search App with Vimeo’s API and Slim
In this tutorial, you’ll get to know the basics of the Vimeo API. With it, you can fetch information on a specific user or get information on the videos uploaded by the user. If the video is private, you can only get it from the API if the user has given permission to your app.
Magento Theme Development: Home Page, Part 3
Now that we have completely customised the first half of the home page, we need to modify the content of the home page next. If we look at our HTML design, the home-page content section has just one heading and a carousel for the latest products. There is a Magento widget we can use to show the latest products on the home page. Actually, if we look at our current home-page section, it already has the latest products widget enabled on it, but we need to modify it to match our design requirements.
Interacting with Your PHP Site Users with the Telegram CLI Wrapper
In the first part of this article we talked about several solutions to notify our Web site users using SMS, Facebook, WhatsApp and Telegram when you want them to return to your site to see some new content or take some action. Read this article to learn how to notify Telegram in practice using the PHP Telegram CLI Wrapper class with some PHP code examples.
Create a View Inheritance in Laravel
Often times - for example, with index page lists - we have virtually the same blade for all of our models. "Virtually" all is the key word - because of course, a few will have some small differences. The temptation is to start adding conditionals, but we all know what a mess that can quickly turn into. For one recent project what I did was this: all models used the same blade, but each also had its own sub-directory where I could "override" that view with one specific to the model. However, it was nice to be able to make a generic check in a BaseController::index() function, so I did it like this.
Dockerizing PHP 7 with Zend Server
PHP 7 is out, and to help you join the revolution we’ve updated our official PHP/Zend Server container on Docker to allow you to set up the latest PHP 7 stack (GA) using the Zend Server PHP 7 technology preview in just a few minutes. This tech preview gives you the safest and most comprehensive PHP 7 stack out there with the largest amount of tested extensions, and of course you’ll also get access to all the rest of Zend Server’s development, deployment and monitoring tools.
Weird PHP Error Output Bug
On Leonid Mamchenkov's blog last week, he reported a bug he came across during his work developing cron jobs.
Filling out PDF Forms with PDFtk and PHP
PDF files are one of the most common ways of sharing documents online. Whether we need to pass our clients’ documents to third-party service providers like banks or insurance companies, or just to send a CV to an employer, using a PDF document is frequently the first option. PDF files can transfer plain/formatted text, images, hyperlinks, and even fillable forms. In this tutorial, we’re going to see how we can fill out PDF forms using PHP and a great PDF manipulation tool called PDFtk Server.
PHP Code in 2006 and 2016
I've been writing PHP code for almost 15 years, and next year will be the 10 year anniversary of this blog. Back when I started the blog, PHP 5 had just come out. It occurred to me that it might be interesting to take a quick look how my PHP code has changed in this timespan. It might also not be interesting, in which case: leave now! So I dug up some old code and created two fictional code samples, representing a class I might have written in 2006 and 2016.
Working with Ionic and PHP Backends. Remote Debugging with PHP7 and Xdebug Working with Real Devices.
Sometimes I speak with PHP developers and they don’t use remote debugging in their development environments. Some people don’t like to use remote debugging. They prefer to use TDD and rely on the unit tests. That’s a good point of view, but sometimes they don’t use remote debugging only because they don’t know how to do it, and that’s inadmissible. Remote debugger is a powerful tool especially to handle with legacy applications. I’ve been using xdebug with my linux workstation for years. These days I’m using Mac and it’s also very simple to set up xdebug here.
|News and Announcements
Expressive 1.0.0RC4 Released!
The Zend Framework community is pleased to announce the immediate availability of Expressive 1.0.0rc4!
PHP 7 OCI8 2.1.0 Available on PECL
I've released PHP 7 OCI8 2.1 on PECL and simultaneously made a patch release OCI8 2.0.10 which is compatible with PHP 5.2 - PHP 5.6.
PHP UK Conference - 18-19th February 2016, London
With over 700 delegates, speakers and sponsors, PHP UK conference aims to deliver fantastic up-to-date content about PHP and related web technologies in a comfortable and professional setting. There are countless networking opportunities to engage with international speakers and delegates, which makes the event one you won't want to miss. Early Bird tickets are on sale now.
SymfonyLive - April 27-29th 2016, Cologne
We are happy to announce SymfonyLive Cologne 2016. This time, the conference will kick off with two workshop days, with the main, single track conference on Friday 29th of April. Of course, there is going to be a hack day as well on Saturday at the Cologne SensioLabs office. The Call for Papers is open now.
International PHP Conference - May 29th-June 2nd 2016, 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. The last few Early Bird tickets are still available.
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.
Laravel IO Podcast: Episode 39 - Updates On All The Things
In this episode, the crew discuss the status and features of Laravel 5.2, Lumen 5.2, and Spark.
Three Devs and a Maybe Podcast - Wibble, Wobble, Wubble...
On this week’s ramble podcast we are joined by the Macintosh Speech Synthesis Manager!? We start off the show with a discussion on dedicated full-text indexing search solutions, followed by a conversation on random domains that we may have purchased in the past. We then move on to chat about blogging solutions, the small refactoring cycles vs. full rewrites decision and what a design pattern truly is. Edd then goes off on a tangent about the ‘curse’ of the DRY principle, followed by the use of traits over conventional OOP concepts. Finally, we wrap up the show touching upon HTTP and how it is favourable to try and put off caching until it is justifiably needed.
Voices of the ElePHPant - Interview with Eli White
This week Cal chats to managing director of php[architect] Eli White.
PHP Round Table Podcast Episode 36 - A Room 11 Special
We bring room 11 chat room from Stack Overflow to the Roundtable. We discuss security, PSR-6, Magic the Gathering, PHP 7 and kittens.
Zero to API with Lumen - presented by Amanda Foldon
Building and maintaining an API or microservice doesn’t have to suck. We’ll use Laravel’s new micro-framework Lumen to build an API using all of the Laravel features we love without all of the full-stack stuff we don’t need.
Nginx HTTP Server (by Clement Nedelcu, published 18 Nov 2015)
Harness the power of Nginx to make the most of your infrastructure and serve pages faster than ever.
Ubuntu Unleashed 2016: Covering 15.10 and 16.04 (by Matthew Helmke, published 1 Dec 2015)
Ubuntu Unleashed 2016 Edition is filled with unique and advanced information for everyone who wants to make the most of the Linux-based Ubuntu operating system. This new edition has been thoroughly revised and updated by a long-time Ubuntu community leader to reflect the exciting new Ubuntu 15.10 while including tons of information that will continue to apply to future editions.
Jump Start PHP Environment Paperback (by Bruno Skvorc, published 25 Nov 2015)
Many entry level PHP developers want a quick path to glory, a shortcut to "knowing PHP." Too many books and tutorials go straight into a pre-made, awful environment that just wants you to code, with no regard for security, version control, or other absolutely essential practices. This book is aimed at the absolute beginner who wants to start learning PHP, but aims to set you up with a thorough understanding of what makes for a good, modern, adaptable PHP environment before you start diving into PHP itself.
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
A light weight testing framework for PHP.
A PHP library with commonly used code blocks for faster development.
The lightweight PHP-Framework for high-performance websites.
Create multilingual apps with this localisation plugin for the PHP Fat-Free Framework.
A PHP Blogging Platform. Simple and Powerful.
Propel2 is an open-source Object-Relational Mapping (ORM) for PHP 5.4.
A CLI tool for scaffolding docker-compose configuration for PHP projects, currently opinionated at PHP projects.
Database query builder for PHP, framework agnostic, lightweight and expressive.
An open-source Object-Relational Mapping (ORM) for PHP5, that allows you to access your database very easily by using ActiveRecord pattern API.
Incubator for PHP components under development.
Famework is a simple to use PHP Framework to easily create splendid but lightweight web applications, based on a MVC pattern.
A robust library to handle immutable big numbers inside PHP applications.
Library that adds the ability to reverse-engineer classes, interfaces, functions, constants and more.
A resource watcher that allows you to watch a resource for any changes.
Imanee is a simple wrapper library for Imagemagick on PHP (using the Imagick PHP extension). It provides an easy flow, and convenient methods for creating thumbnails, watermarks, text writing, animated gifs and more.
Multilingual CMS build with Laravel 4.2.
Stripe PHP library.
|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.