automation

How compatible are git and wordpress? Let's see how easy it is to make WordPress posts auto-update based on PR submissions on the Github repository!

Cloud deployment SaaS compared: Runcloud vs ServerPilot vs Laravel Forge - who's cheapest? Who's simplest? Who's got the features?
Symfony's Console can be used in any non-Symfony project to develop command line apps. Learn about console helpers in this tutorial by Claudio Ribeiro!

Younes present Postman - the API development tool of choice - in comprehensive detail. There's never been a better way to improve your API dev workflow!

Sharoze asks some prominent community members about their development workflow - some answers are predictable, others will surprise. What can you relate to?

Let's take a fresh look at PHPUnit - the de-facto TDD tool for PHP. We'll explain TDD on an example, implement code coverage, and more!

Chris writes test watchers: auto-compiling PHP from Preprocess files, and auto-testing after every file-change. No need to manually run PHPUnit ever again!

Allan takes us on a ride in Machine Learning land with PHP-ML and explains how to develop a tweet sentiment analyzer with it (positive, negative, neutral)

Joel walks us through the complex process of auto-trading cryptocurrency and turning profits over night with Laravel, APIs, Bitcoin, and various exchanges!

Zoran uses Siege to benchmark and load-test a Symfony app, killing it in the process. He then uses cache to revive it and make it work under pressure!

Is it possible to use Laravel Mix - the "Webpack simplifier" - in non-Laravel projects? Let's find out! Join Lasse Rafn on this explanatory journey!

This time, we look at a package that lets us interactively add code to Laravel from the command line, an image drawing package, and much more.
In this in-depth tutorial, we'll look at all the various cloud hosting providers for PHP, and deploy the same app on ALL of them. It's really not hard!

Ever wanted to add user following and real-time notifications to your Laravel apps? Now you can - easily: with Stream. Let's see how to bootstrap it!

Younes sets up a CI pipeline on SemaphoreCI and makes sure it invokes Deployer or Laravel Envoy to deploy the app after a successful commit / test.

This sourcehunt, we've found a lot of Laravel and/or JSON focused packages. It's an interesting combo which led us to our newest "app idea of the month"!

Viraj takes us through the basic process of setting up Continuous Deployment to a DigitalOcean server by means of Semaphore CI. Exciting!

Younes looks at Fractal - a PHP League package for formatting and transforming JSON, YAML, and other data formats to something consistent. APIs rejoice!

Viraj demonstrates Laravel Dusk - a browser testing tool designed for testing your apps in full - including UI and JavaScript!

Eugene explains Forwarding Decorators: a crazy concept for approaching modularity in apps - wrapping them in other classes and recompiling everything.

Chris adds some unexpected functionality to PHP, and all without custom extensions or recompiling. Let's unlock the power of macros and preprocessors!

Let's take a look at Peridot - a testing suite with a different approach. Can we BDD test our units? Should we?

Wern builds a fully custom calendar application using the Google Calendar API and the Laravel framework - check it out!

Chris hacks together a live-notification LED device with Arduino and PHP, notifying you of new Gmails or Tweets, and more!

Alex Bilbie looks at Jenkins' newest feature: pipelines. With it, we configure Laravel's auto-testing procedure, and make sure our builds stay alive!

Luka covers some Logstash basics, and teaches you how to send event messages from PHP to it on Windows. Yes - PHP on Windows - still alive and kicking!

Viraj demonstrates the full process of writing custom code for deploying different commits of your app to an SFTP server using Git and PhpSecLib

Scott Molinari takes a look at Packer and analyzes its viability for the typical PHP developer of today - find out whether or not it's worth learning about!

Matthew Setter takes an introductory look at atoum - an alternative to PHPUnit with an interesting twist

Chris shows us how we can connect PHP to Minecraft in a way that lets us create terrains and buildings from PHP code!

Wern develops an app which uses Microsoft's Text Analytics API to recognize positive or negative sentiment in people's reviews of an Amazon product.

Connecting to IMAP and SMTP from PHP in order to filter, identify, and reply to recruiter spam - the inbox blight of any decent developer!

Claudio introduces us to a new PHPCS standard - PhpCompatibility. This standard checks your code for compatibility with past and present versions of PHP!

A new tool for static analysis of PHP code has shown up: PHPSA - PHP Smart Analyzer. Tune in and check out what it can do!

Crunz is a framework-agnostic library for scheduling and defining cronjobs wholly in PHP. Commit them to VCS, edit without server access, and more!

Wern Ancheta shows us how to install, use, customize, and deploy a static site blog generated with Sculpin - a PHP static site generator!

Here's a quick way to get rid of filesystem troubles (cleanup anyone?) when practicing TDD - virtual file systems!

We use tests to test our code. But... how do we test our tests? Let's take a look at Humbug: a mutation testing framework!

Andrew Carter makes an LED blink on a Raspberry Pi with PHP - Building Raspberry Pi projects with PHP has never been easier!

Chris connects an Arduino to PHP and reads the log output to signal a LED on a certain condition, completing the real world Minecraft door-alarm

Chris Pitt combines Minecraft and PHP to prime the ground for an Arduino implementation, culminating in a real world alarm for a Minecraft door!

Our intro post to the world of IoT and PHP - a list of resources to get started with, and sites to buy electronic components from!

Daniel shows us how we can apply the ELK stack to WordPress for advanced monitoring and error logging - never stare at confusing logs again!

Nitpick CI is a service with a singular purpose - making sure your Github PRs respect the PSR-2 code standard. In this post, we'll put it to the test

Bruno demonstrates the use of Phinx, a framework-agnostic database migration package helping you write database-independent and versionable database changes
Chris Pitt was building a testing suite which compares screenshots of websites before/after. For that, he needed image diffing. See how he did it!

Daniel Berman explains what the ELK stack is, how to install it, and how to make it analyze the logs of the typical LAMP stack
Laravel Valet is an OSX-only light-weight alternative to Vagrant for those quick, demo, throwaway projects.
In this edition of sourcehunt, we look at cron managers for PHP, a Laravel Hackathon starter kit, a PHP-GUI package that lets you do desktop-PHP, and more
Younes demonstrates Deployer, a tool for deploying PHP applications to live, development, or staging servers with just a few lines of PHP code.
Parham dives into Vagga - a lightweight alternative to Docker useful for containerized development environments - and builds a PHP environment!
Christopher Pitt dives deeper into PHP macros, using them to add some functional programming to PHP!
Composer recently went into beta and made plugin development much easier. Chris Pitt shows you how by developing an "evil" data-snooping plugin!
Chris demonstrates using Yay, a library for building PHP macros - syntax sugar for the language that doesn't rely on PHP extensions or blood magic
Daniel goes through the simple process of setting up a powerful LAMP stack on AWS with Zend Server, for high traffic cloud-safe web applications!
Let's take a look at Glide - an image manipulation library for easy dynamic on-demand image resizing for all the screen sizes!
The newest edition of sourcehunt presents 6 more promising packages that might find a home in your project one day. Help them grow by contributing!
Here's how to use a popular AI engine to classify uploaded images of dogs into breeds - much like Microsoft's What-Dog app, but in only 80 lines of code!

M. Lavaryen explains the Blackfire profiler in depth and demonstrates its use on a simple script, laying the groundwork for further exploration on your end!
See how easy it is to set up PHP 7 servers with both Laravel Forge and a manual DigitalOcean setup!
Younes introduces Bugsnag, an excellent professional error monitoring, reporting and parsing tool, and implements it into an old Laravel app.
Ever wondered how to quickly add that "Xmas mode" or holiday promotion to your site? Feature toggling to the rescue! Check out Qandidate's Toggle!
Danny, our Drupal expert, explains and demonstrates a Drupal 8 queue, implementing a queue handler that can be both triggered manually, or via Cron.
Daniel Berman presents a dead easy way of doing continuous delivery (integration + deployment) with the power of ContinuousPHP and Zend Server
Christopher Pitt shows us how we can use RulerZ, the PHP rule engine, to smarten up playlist song selection by applying constraints and filters!
Reza goes through Elixir, a Laravel addon for front-end asset management. Compilation, minification, optimization, versioning and more - check it out!

Learn how to set up a cron job in your Laravel application, and the difference between basic and advanced scheduling.
OCR in PHP is possible! Lukas White builds a simple Silex app into which a user can upload an image, and get the text from image accurately extracted.
Docker Explained! Younes goes through the process of building a sample Laravel + MySQL app powered by two docker containers - check it out!
Narayan introduces Munee - a PHP lib that automates CSS, JS, LESS, SCSS, CoffeeScript etc minification and compilation, image resizing, caching, and more!
Wern Ancheta takes a look at the Instagram API, and uses both Guzzle and a PHP client to access it - tune in and build your own Instagram app!
Matthew Setter take a look at Static Review - a framework for writing git hooks, so you can do hook inspections on your files on certain git actions!
Wern introduces API.ai, a service which allows you to tie voice control to your apps by recognizing natural language and applying callbacks to phrases
Younes introduces the Web Driver API integration with PHPUnit by utilizing Facebook's Webdriver for PHP to simulate a browser and automate it
Bruno Skvorc combines BowerPHP, Mini-Asset and Robo.li into a PHP front end asset building pipeline that aims to completely avoid having to deal with NodeJS
ReadTheDocs is a popular platform for free hosting of Sphinx-generated project documentation. Bruno shows you how to use it when documenting PHP projects!
In this introduction, Bruno Skvorc introduces BDD in Laravel by installing and using Behat and PhpSpec to develop a simple testable feature.
Younes Rafie demonstrates the use of Selenium for acceptance testing and browser automation in tandem with PHPUnit
Bruno Skvorc uses Twig, Bootstrap and Diffbot's PHP client to build a search engine app for Diffbot-powered harvested data collections
Bruno Skvorc introduces Diffbot's crawling and searching functionality as he crawls the entire SitePoint.com domain in one go, and then queries the data.
Bruno Skvorc visually guides you through setting up a DigitalOcean droplet and deploying a PHP app to it with DeployBot
Bruno wrote a quick tutorial on boxing up apps as Phar archives and distributing them as executable bins via Composer
Bruno Skvorc reintroduces Vagrant driven development in a post that covers the theory behind it - the what, the why, and the how.
Jacek Barecki explores Memio, a library one can use to generate PHP code programmatically. It uses Twig templates and an OOP interface to make things easy!
With version 8 looming on the horizon, Danny ups our development game with automated testing of Drupal 8 modules - write functional tests like a pro!
Scrutinizer is an online service for checking the quality of your PHP, Python or Ruby code. Bruno Skvorc shows you how to set it up and navigate the options
Tired of setting up new virtual hosts for every new project? Make your server of choice do it automatically. Bruno Skvorc shows you how.
In this short tutorial, Rafie Younes will show you how to implement Github webhooks with your PHP app - log all changes to a repo in your local database!
RAML, the RESTful API Modeling Language, can be used for much more than documentation. In this post, Lukas White shows you how to use it to auto-test APIs.
Continuing the TDD story from before, we now test our API client by mocking the responses of the Diffbot API. Tune in to learn how to use response mocking!
A tutorial by Danny Sipos on pushing the status/events of your website to your phone by means of a service/app called Pushover
Bruno Skvorc explains how to use TDD (test driven development) to jumpstart your new PHP package's development. Dive into professional workflow, now!
Peter Nijssen installs CSSLint, JSHint and Task Scanner into Jenkins, helping you automate the scanning of your PHP project even further.
Peter Nijssen will run you through the data that Jenkins can return after building and scanning your project, explaining every aspect.
Learn how to configure, clone and build a PHP project with Jenkins in this step by step tutorial by Peter Nijssen
Peter Nijssen guides you through installing and securing Jenkins, preparing ground for implementing it with a PHP project in part 2. Code quality FTW!
Ruby editor Glenn Goodrich walks us through how to set up a continuous deployment system with Ninefold and Codeship.
Wern Ancheta introduces you to Prediction.io, an open source machine learning server you can use to smarten up your web apps - build the full app now!
Wern Ancheta introduces you to Prediction.io, an open source machine learning server you can use to smarten up your web apps - learn how to install it.
George Fekete expands on previous posts about common PHP mistakes by listing 18 critical oversights in PHP and general web development