News Feed

News Archive
feed this:

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

SitePoint PHP Blog:
Push your Drupal Site's Events to your Phone with Pushover
February 12, 2015 @ 12:54:12

The SitePoint PHP blog has a new tutorial posted (by Daniel Sipos) about pushing notifications from your Drupal-based application via the Pushover service.

In this article I am going to show you how you can integrate Pushover with your Drupal site. I will illustrate a couple of examples of how you can use Pushover to notify yourself as soon as something happens on your site. The code I write in this article is also available in this repository so you can just clone that if you want to follow along.

He starts with an introduction to Pushover and what kinds of features it offers for the handling of push messages (with the app being not free, but "very affordable"). He help you get everything you need set up including a Pushover account and the Pushover class to use in a custom Drupal module. He includes the code you'll need to configure the module to use the library and a method to create the Pushover class instance. He then shows how to send messages for things like the addition of a new comment and user login via hooks, sending a message when an administrator logs in.

0 comments voice your opinion now!
drupal tutorial pushover push message service mobile application


Resonant Core:
Building Secure Web Applications in PHP
February 09, 2015 @ 10:26:19

The Resonant Core blog has a post today with a selection of tips and techniques you can use to help build secure applications in PHP, preventing several of the most common issues (several as mentioned in the OWASP Top 10).

There are but two causes for the unintentional creation of insecure web applications: A lack of knowledge about security [and] bad development habits. Developers who don't know about the risks involved with writing a widget a certain way are unlikely to make the secure choice. Thanks to the work of MITRE and OWASP, the most common vulnerabilities (and their consequences) are widely known and accessible. However, when teams are under pressure to meet a tight deadline, bad habits and insecure development practices may still emerge.

Most of the examples (at least the solutions) center around a framework they've created (Tuner) but the concepts are all there and could be adapted to other tools easily. They talk about the "pain" that can come with secure coding and how the right tools can make it much easier for the developer. He talks about how the framework offers a better database interface based on PDO and prepared statements to prevent SQL injection issues (with examples for each of the CRUD operations). He also shares a list of pre-existing PHP libraries that can help make the rest of you application secure too including:

He also mentions a PHP extension that adds in scrypt support, another option for hashing strings and passwords as an alternative to bcrypt.

0 comments voice your opinion now!
secure application database sqlinjection library recommended list


Matt Stauffer:
Extending Laravel's Application
January 27, 2015 @ 10:48:37

Matt Stauffer has a new post to his site today showing you how to extend Laravel's Application class to enhance its handling with other handy features.

It's seldom that we need to extend Laravel's core, and even when we do, it's most likely we're going to extend specific components, which is detailed in the docs. However, all of these instructions presume you're using the core Laravel Application (IOC Container) to extend the other classes. What if you want to extend the Application itself?

The example he provides is from his own real-world experience, based around changes they wanted to make in the default folder paths for things like the "storage" or "public" directories. He shares the three simple steps to making this custom handling work:

  • Extend the class
  • Register it in your application's bootstrap
  • Override/extend the current methods to add in your own functionality

In this case, changing the default paths is something that's under discussion already, but it gives a good simple example of changing that default functionality.

0 comments voice your opinion now!
extend laravel application class override register tutorial


SitePoint PHP Blog:
Modernizing Legacy Applications in PHP Review
January 15, 2015 @ 12:46:34

The SitePoint PHP blog has posted a review of Paul Jones' "Modernizing Legacy Applications" book. The book share's Paul's gathered knowledge about migrating legacy code into a more modern, maintainable and robust application.

Chances are you've come across some horrible legacy code once or twice in your lifetime as a PHP developer. Heck, if you've worked with WordPress to any degree, I'm sure you have. I myself have had the satisfying task of modernizing a monolithic ZF1 application, and it was the most mentally exhaustive (but, admittedly, the most educational) year of my career. If only I had had Paul M. Jones' "Modernizing Legacy Applications In PHP" book back then, I would have been done in half the time, and the work I did would have been twice as good.

Bruno talks briefly about the contents of the book and its goals (from legacy to MVC really). He goes on to point out that the target audience for the book is not the beginner PHP developer but someone that's familiar with good software design concepts and application structure. He goes through the technical side of things, commenting that it's "sound - amazingly so" and how it seems to be taken from a real-life project's refactoring. He wraps things up with a list of some of the pros and cons of the book and a recommendation along with a 4.5 of 5 "elephpant" rating.

0 comments voice your opinion now!
modernize legacy application book review pauljones


Lee Blue:
PHP vs Ruby - Application Shelf Life
December 10, 2014 @ 13:19:15

Lee Blue has started up a series of posts talking about his reasoning for moving back to PHP from Rails in his applications. In his first post of the series, he looks at application "shelf life" and the overall lifespan of the project and how that relates to things like maintainability and upgrade handling.

I plan to write a series of posts about how we develop, deploy, and support our affiliate software and digital downloads applications. And why, after 5 years of Ruby on Rails development we switched back to PHP. One of the reasons is what I refer to as the shelf life of a web application. Let's talk about what happens to a web application if you just let it sit.

He talks about the "rotting on the vine" that one of his clients' Rails 1.0 application faced when the later versions of the Ruby on Rails framework. He talks about how these kinds of upgrades cost money (and time) and how, with the right selections for the deployment stack, some of the costs could be alleviated. He gives the example of a PHP-based deployment setup and how much of the related technology has been stable and (mostly) unchanging over the years, just with new features being added. He offers a few suggestions to avoid this "app rot" and things startups/freelancers can do to help prevent it in their clients' applications.

0 comments voice your opinion now!
ruby shelflife application rot version deployment stack opinion rubyonrails


SitePoint PHP Blog:
3 Ways to Develop Cross Platform Desktop Apps with PHP
December 04, 2014 @ 10:29:44

In a new post to the SitePoint PHP blog today editor Bruno Skvorc shares a summary of three ways to make desktop applications with PHP that will run across multiple platforms.

PHP as a cross-platform desktop app development language? Blasphemy! Nonetheless, it's possible. A few years ago, everything those interested in bringing PHP to the desktop had had was the now long abandoned GTK PHP. Since then, new players have appeared, though let's first answer the "why".

He answers the "why" question with a list of "several far fetched scenarios" but points out that there's much better tools for the job. He then gets into the three different tools that can be used to make the desktop applications:

He briefly introduces each, explores a bit of what they can do and looks at some of the major hinderances that come with them. He ends with a few links to other, less well-developed options like PHPDesktop, Webinder and PHP GTK.

0 comments voice your opinion now!
tutorial crossplatform desktop application nightrain wxphp tidesdk


Peter Petermann:
Building better project skeletons with Composer
November 06, 2014 @ 11:26:54

Peter Petermann has (re)posted an article he wrote about building better project skeletons with Composer and automate the process to make your life easier.

The more you use modern frameworks and the more modular you build your PHP applications, the more likely you'll use a skeleton (or template) for creating new projects. In fact, most of the better known frameworks provide skeletons for you to bootstrap your application with. Those skeletons are great to get started, but it's very likely you'll have your own stack of composer packages that you integrate in each project after a while. Each skeleton will be slightly different, so you'll likely fork your own. This article is meant to provide you with an understanding on how to build a skeleton that will allow you to automate things as far as possible.

He starts with some of the basics, both in the terminology that will be used in the article and a little bit about projects in Composer. He shows how the Zend Framework 2 project makes uses of a built-in "composer.phar" file to make bootstrapping easier but soon asks how it could be improved. The answer comes in the form of Composer's own "create-project" functionality (with a few additions, like cleanup scripts run after the fact). He then gets into building his own custom skeleton that includes a custom post-create-project cleanup script, templates for static files (README, CHANGELOG, etc) and a basic "composer.json" configuration for the end result.

0 comments voice your opinion now!
tutorial custom project skeleton composer application


Phil Sturgeon:
Composer It's ALMOST Always About the Lock File
November 05, 2014 @ 11:44:49

In his latest post Phil Sturgeon talks about a point that's been argued on both sides of the Composer users out there - whether or not to commit the "composer.lock" file. Phil talks some about it in his article and suggests that you should commit it for applications but not for components.

If you and your employees are a little vague with your composer.json specifications and you don't have a composer.lock then you can end up on different versions between you. Theoretically, if component developers are using SemVer and you're being careful then you should be fine, but keeping your lock in version control will make sure that the same version is on your dev teams computers. This will happen every time you run $ composer install. If you are on Heroku or EngineYard then this will be used for the deployment of your production components as a built in hook, which is awesome.

He mentions an article from Davey Shafik, this being his reaction to it. He suggests, though, that an absolute of "always commit for components" may be too much and could potentially cause other problems. He points out that since the "composer.lock" handling is local to the directory, you can hit up against version requirement issues between them in your application as a whole. He wonders "how strict is too strict" when defining dependencies and some things to think about (like your users) when making the choice to upgrade the libraries you use.

0 comments voice your opinion now!
composer composerlock file commit version semanticversioning semver component application


SitePoint PHP Blog:
Building an Ad Manager in Symfony 2
October 28, 2014 @ 13:29:31

In a recent post to the SitePoint PHP blog Hugo Giraudel shows you how to create an ad manager as a Symfony-based application. His ad manager allows you to use videos, images or HTML content to create and cache advertisements to add to any application.

The main idea was to build an ad manager. What the hell is an ad manager you say? Let's say you have some places on your site/application to display ads. We do have things like this on our site, and one of our teams is (partially) dedicated to bringing those places to life with content. Now for some boring reasons I won't list here, we couldn't use an existing tool, so we were doomed to build something from scratch. As usual, we wanted to do a lot without much coding, while keeping an overall simplicity for the end user (who is not a developer). I think we came up with a fairly decent solution for our little project.

He uses ESI rendering with Twig templates to identify the ad to return, grab its configuration and render it back to the requesting client. He includes a global configuration (URI and allowed types) an an example of a per-ad configuration file that includes the cace settings, data type and link. The code is also included to consume the request for the ad and render the result. There's also a "randomize" method that picks a random item from the array by weight. Finally, he includes the view templates that can be used to render the results - one for the main ad layout and a few for each type (video, image or HTML).

0 comments voice your opinion now!
advertisement manager symfony2 application tutorial


Angular Tips:
Working With a Laravel 4 + Angular Application
October 28, 2014 @ 09:11:31

On the Angular Tips site today they have a tutorial posted showing you how to combine the power of the Angular JS frontend framework with a Laravel backend. They walk you through the full process of getting an application up and running, including a bit of actually functionality (not just a "Hello World").

So you decided that Laravel is a great choice for a backend and that Angular is going to fit perfectly as the framework of choice for the frontend. Yeah! That is correct and I am starting to like you. How to start? So many question, so little time.

They start by getting everything you'll need installed, both on the Laravel and Angular sides. Then it gets into the actual development of the application, changing up the default Laravel page to include Angular and a little test to be sure it's working correctly. With this working correctly (after a little route updating too) they get to the more real-world application: a listing of TV shows generated from a dataset on the Laravel backend. They include all the code you'll need to create the frontend app and display the results.

0 comments voice your opinion now!
laravel tutorial angularjs application frontend framework


Community Events

Don't see your event here?
Let us know!

security interview opinion framework laravel library language api introduction series extension laravel5 release voicesoftheelephpant threedevsandamaybe community version unittest symfony podcast

All content copyright, 2015 :: - Powered by the Solar PHP Framework