Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

SitePoint PHP Blog:
How to Properly Deploy Web Apps via SFTP with Git
Nov 29, 2016 @ 11:53:49

On the SitePoint PHP blog there's a new tutorial posted showing you how to properly deploy applications with SFTP and Git. In their examples they build a PHP-based deployment process that uses a few handy packages to make the flow simpler than a set of manual commands.

Uploading files is an integral aspect of any deployment process, and the underlying implementation can vary depending on the type of your server.

[...] The PHPSECLIB (PHP Secure Communications Library) package has an awesome API for routine SFTP tasks: it uses some optional PHP extensions if they’re available, and falls back on an internal PHP implementation otherwise. You don’t need any additional PHP extension to use this package, the default extensions that are packaged with PHP will do. In this article, we will first cover various features of PHPSECLIB – SFTP, including but not limited to uploading or deleting files. Then, we will take a look at how we can use Git in combination with this library to automate our SFTP deployment process.

They start with a quick command (Composer) to get the phpseclib library installed but then quickly move into using it and some SSH keys to:

  • authenticate to the server with public/private keys
  • uploading a sample file
  • automating the deployment with Git, pushing only changed files from a local git repo
  • getting the contents of a specific commit
  • the actual push of the files via SFTP

There's also a few other helpful hints included showing how to manage permissions on the remote server, execute remote commands and downloading files. The post ends with links to other similar tools if you're interested in more complete approaches.

tagged: deploy application sftp git deployment tutorial phpseclib example

Link: https://www.sitepoint.com/how-to-properly-deploy-web-apps-via-sftp-with-git/

Deployer Blog:
How to deploy Laravel application
Nov 22, 2016 @ 12:39:30

In a new post to their blog the Deployer project (a PHP-based deployment tool) has shared a quick tutorial about deploying Laravel applications using the tool and just a few simple commands.

Apparently you already have some Laravel application and some server or shared hosting. Now you need to automate the process of deployment. Deployer will helps you in this as it ships with some ready to use recipes for Laravel based application.

They start with the details about installing the tool then share the single "dep init" command to create the deployment configuration needed to deploy a default Laravel application. There's a few modifications you'll need to make for your own project (like repository location, server information and the path to your SSH key) but that's basically it. The "dep deploy" command can then be used to push the release to the remote server in a "current" directly ready and waiting for your web server to serve up.

tagged: deployer deployment tool tutorial laravel application setup

Link: https://deployer.org/blog/how-to-deploy-laravel

SitePoint PHP Blog:
Build Your Own Dropbox Client with the Dropbox API
Nov 04, 2016 @ 09:36:55

On the SitePoint PHP blog there's a new tutorial posted by author Wern Ancheta showing you how to make your own DropBox client with the help of a bit of PHP and the DropBox API.

There are lots of file hosting solutions out there, but few things compare to Dropbox because of its simplicity, auto-sync feature, cross-platform support and other cool features.

As a PHP developer you can even take advantage of their API in order to create apps that use its full capabilities. In this article, you’ll learn how to build one such app to perform different operations in a user’s Dropbox account. You will be using the Dropbox API version 2 in this tutorial. If you want to follow along, you can clone the project from Github.

They start off by walking you through the creation of an application on the DropBox side (required to connect to the API) and how to get its credentials (complete with screenshots). With that set up they get into the application - a simple Laravel-based setup that lets you connect to your account and get information like current file lists, user info and even upload new files. The tutorial includes all of the code for the controllers, models, views, routes, etc. you'll need to make it all work. There's even search functionality letting you look through current files/folders and locate certain items.

tagged: dropbox client api tutorial laravel application upload search list crud

Link: https://www.sitepoint.com/build-your-own-dropbox-client-with-the-dropbox-api/

SitePoint PHP Blog:
Shopify App Development Made Simple with HTTP APIs and Guzzle
Oct 27, 2016 @ 11:51:09

The SitePoint PHP blog has posted a tutorial from author Wern Ancheta digs into the Shopify API and shows you some simple methods to use it with Guzzle.

In this tutorial, you’re going to get started with developing Shopify apps. You’re going to create a simple app that lists out products from a Shopify store. [...] Shopify apps are a way of extending the functionality of a Shopify store or to provide ecommerce capabilities to websites or mobile apps.

The tutorial then starts in, showing you how to set up a Shopify Partner Account and create the "Store" instance you'll be using for the development. With that created, you'll have to set up a new application inside the store - this is what the script will actually connect with. From there they start in on the demo application, installing Twig, Slim, Guzzle and a few other libraries. They show the code to set up the simple Slim application along with a handful of routes, views and some SQL interaction. The tutorial includes the code for:

  • authenticating users against the API (and your store)
  • making requests to the API for product information
  • outputting the results to a simple page

If you're short on time or just want to jump to the end, you can get the code for this example in this GitHub repository.

tagged: shopify tutorial api http guzzle client shop application

Link: https://www.sitepoint.com/shopify-app-development-made-simple/

SitePoint PHP Blog:
Picking the Brains of Your Customers with Microsoft’s Text Analytics
Oct 14, 2016 @ 12:19:21

In the latest tutorial posted to the SitePoint PHP blog author Wern Ancheta shows you how to integrate your application with the Microsoft Text Analytics API, a service offered by the company putting machine learning to work on things like keyword extraction, topic detection and language detection.

With the explosion of machine learning services in recent years, it has become easier than ever for developers to create “smart apps”. In this article, I’ll introduce you to Microsoft’s offering for providing machine-learning capabilities to apps. Specifically, you’ll learn about the Text Analytics API and build an app to enhance the understanding of online sellers when it comes to their customers.

The tutorial then introduces the Microsoft Cognitive Services API and, more specifically, the Text Analytics API that they'll be hooking the application in to. They walk you through getting an API key for the service, creating an "account" for the application you're working with and deploying it for immediate use. They introduce the functionality of the API with a few "play" examples of each API offered before getting into the creation of their sample application - a tool that reviews the contents of customer feedback, looking for key phrases and returns highlighted versions with what it sees as important.

tagged: customer tutorial text analytics microsoft machinelearning highlight feedback application slim3

Link: https://www.sitepoint.com/picking-the-brains-of-your-customers-with-microsofts-text-analytics/

TutsPlus.com:
Building Your Startup With PHP: Choosing and Configuring Production Hosting
Oct 03, 2016 @ 10:47:19

The TutsPlus.com site continues their "Build Your Startup with PHP" series of tutorials with the latest part of the series. In this most recent article they move into the hosting world and offer some tips and setup options for your production hosting.

In this tutorial, I'll explore choosing an ideal hosting platform for Meeting Planner and the initial configuration of our server. I'll be guiding you through the process as I migrate the pre-launch website to a better production environment for our upcoming alpha launch.

[...] As a reminder, all of the code for Meeting Planner is written in the Yii2 Framework for PHP. If you'd like to learn more about Yii2, check out our parallel series Programming With Yii2.

They start by looking at how to choose the right hosting company for your application and abilities. For their particular needs, they opted for managed hosting (like Rackspace or Digital Ocean). For the remainder of the tutorial, they show the setup with Digital Ocean and a simple "droplet" (virtual machine instance). They walk you through the setup of the droplet, the server configuration for hosting the application and packages to install. Then they check out and set up the code for the "Meeting Planner" application and, finally, update the DNS to point to the new server.

tagged: startup hosting application production digitalocean

Link: https://code.tutsplus.com/tutorials/building-your-startup-with-php-choosing-and-configuring-production-hosting--cms-23359

SitePoint PHP Blog:
Single-File Symfony Apps? Yes, with MicroKernelTrait!
Sep 28, 2016 @ 12:19:44

The SitePoint PHP blog has an interesting tutorial posted from author Deji Akala showing you how to create a "single file Symfony application" using the MicroKernelTrait, a recently added piece of functionality that, while added for other uses, can be easily adapted to make a "Single File Application".

A Single Page Application (SPA) offers a desktop experience to users of a web application by loading a single HTML page, and dynamically updating it as required without reloading. However, a Symfony application may have hundreds of classes, and in a basic application we end up with lots of files we don’t really need.

The latest versions of Symfony (2.8 and 3.0) introduce us to the concept of a Single File Application (SFA) – a super-slim application or micro-framework implemented in one file.

The tutorial is then broken down into three steps towards creating this application:

  • Step 1: Install Barebones Symfony
  • Step 2: The Front Controller
  • Step 3: The Kernel Class

The last step in that process is where most of the code is created and the work is done. It helps you build out the "SfaKernel" class (using MicroKernelTrait), add a few basic routes and the handlers to match them. There's also a bit about container configuration and adding in other bundles you might need. The tutorial finishes out with a look at potential use cases for a single file application like this such as microservices.

tagged: tutorial symfony microkerneltrait singlefile application

Link: https://www.sitepoint.com/single-file-symfony-apps-yes-with-microkerneltrait/

Freek Van der Herten:
Automatically generate a sitemap in Laravel
Sep 01, 2016 @ 10:51:31

Freek Van der Herten has a post to his site sharing a package and showing how to use it to generate a sitemap for your Laravel application automatically.

Today my company released a package called laravel-sitemap. There are already a lot of excellent sitemap packages out there. They all have in common that you have to manually add links that must appear in the sitemap. With our new package that isn’t required. It can automatically build up a sitemap by crawling a site. In this post I’d like to explain why we built it and how it works.

He starts off talking about why a sitemap might even be needed, mostly related to other automatic systems (like search engine spiders) that would use to reach even the far parts of your application. He then gets into the code, showing two examples of generating the XML document: one that's more manual and another using the "generator" to create based off of a base URL. He ends the post talking about some limitations of the package and includes a few links for further reading on the subject of sitemaps.

tagged: sitemap laravel application package example tutorial generate

Link: https://murze.be/2016/08/automatically-generate-a-sitemap-in-laravel/

Laravel News:
How to use WordPress as a backend for a Laravel Application
Aug 17, 2016 @ 12:51:08

The Laravel News site has posted an interesting tutorial where they describe the use of WordPress as a backend for a Laravel application. This setup is based on the Laravel News' own experience with it in the recent refactoring of the site.

Last week I relaunched Laravel News, and the new site is running on Laravel with WordPress as the backend. I’ve been using WordPress for the past two years, and I’ve grown to enjoy the features that it provides. The publishing experience, the media manager, the mobile app, and Jetpack for tracking stats.

I wasn’t ready to give these features up, and I didn’t have the time to build my own system, so I decided to keep WordPress and just use an API plugin to pull all the content I needed out, then store it in my Laravel application. In this tutorial, I wanted to outline how I set it all up.

While he did find other methods for linking the two, they didn't quite fit with what he wanted so he worked up his own. The content is then synced via a recurring task pulling over posts, categories and tags. He gets into the WordPress REST API first, showing the extraction of the posts from the API and pushing them into a Laravel collection. There's also an example of how to sync a post with the database (API) and how to create a new post in a similar way. Also included is the code to get the featured image, get the category for a post and sync the tag values. The tutorial finishes with the code for the sync command and pushing it into the scheduler.

tagged: wordpress backend laravel application tutorial rest api

Link: https://laravel-news.com/2016/08/wordpress-api-with-laravel/

Christoph Rumpel:
Build a PHP chatbot in 10 minutes
Aug 15, 2016 @ 09:45:23

Christoph Rumpel has written up a tutorial showing you how to build a PHP chatbot in 10 minutes by hooking a PHP 7 based script in, via webhooks, to a Facebook Messenger application.

The chatbot topic is huge right now. Finally there is something quite new again and nobody knows what's happening next. This is the perfect time to start experimenting with chatbots and to build your own one right now. Give me 10 minutes of your time and I will give you your first chatbot!

He then walks you through the full process if setting up the Facebook Messenger application, a page to host it from and using the Chatbot boilerplate code to connect the application back to the Facebook platform. This includes both the code needed and screenshots along the way of what you can expect to see during setup. The result is a bot that can respond with, at first, a static string then is modified to show simple exchange rate data.

tagged: chatbot facebook tutorial boilerplate code example application webhook

Link: http://christoph-rumpel.com/2016/08/build-a-php-chatbot-in-10-minutes/