Tutorials and Talks Using Google Translate API with PHP

Jacek Barecki has a tutorial on SitePoint PHP showing you how to use the Google Translate API to handle the translation of dynamic input that may have come from other sources. After going through this tutorial you will be able to fetch translations from the Google Translate API right from your app. You will learn how to gain access to the API, how to use it and how to handle errors if they occur.



Incorporating Mongounit into Multi-datasource Models with Traits

Chris Saylor writes on the Zumba Engineering site - A while back we open sourced Mongounit, a PHPUnit extension for testing models utilising mongodb. One key issue that we’ve discovered as we incorporate MongoDB into more of our data models is that extending Mongounit’s TestCase class limits that unit test towards Mongo only as the datasource. Since only a portion of our data is in Mongo while the remaining is in MySQL, limiting a test case to work with one datasource or another is too limiting.



Building A Web App with Symfony 2 - Finalising

In Part 1 and Part 2 of this series, Taylor Ren covered the basics of using Symfony 2 to develop a functioning web site. In this part of the tutorial he covers some more advanced techniques and finishes the project with pagination, image watermarks and NativeQuery. The code he'll be using is identical to the code from Part 2 – the features are already there, they just weren't discussed.



HHVM With Symfony 2 Looks Amazing

Facebook recently announced that their HHVM is now more compatible with most of the popular framework. On the Liip blog, Christian Stocker posted his findings after working with Symfony2 on the HHVM, based on Facebook's work around the HipHop version of optimised PHP.



DTracing a PHPUnit Test: Looking at Functional Programming

Christopher Jones has posted a quick example of using DTrace Dynamic Tracing to work out what a PHP code base does. He thought this would be a good time to fire up DTrace and see what is going on. Since DTrace is "always available" even in production machines (once PHP is compiled with --enable-dtrace), this was easy to do.



Practical PHP Refactoring: Encapsulate Downcast (and Wrapping)

On the dzone site, Giorgio Sironi has posted - In statically typed languages, each variable must have a minimal type known at compile time. PHP instead, a is dynamic language where variable can contain any object and the only enforcement of an interface can be performed on method parameters via type hinting.



Introduction to Gearman - Multitasking in PHP

Gearman provides a distributed application framework for work with multiple machines or processes. It allows applications to complete tasks in parallel, to load balance processing and to call functions between languages. The framework can be used in a variety of applications. Gearman is multi-threaded and is known to be able to carry out 50 thousand jobs per-second. On the SitePoint PHP blog there is an introductory tutorial showing you how to use Gearman in PHP to handle multitasking outside of the normal script execution.



Introduction to Clustering in PHP

In Part 1 of this tutorial, an extremely simplified definition of clustering would be having multiple computers working together for a single goal. Typically you see it with distributed computing applications (network rendering of graphics, protein folding, etc.), but in the web world it is defined as having multiple servers providing a website or service. In practice, however, this can be more complicated especially when coupled with incorrect ideas around what clustering truly is.



Mapping with Geocoder PHP and Leaflet.js

Interactive maps inside a web application have a lot of great uses. From visualising data to highlighting points of interest, maps are expected to communicate ideas within the context of location easily. The hardest part, however, is converting that data into coordinates that the map can understand. Luckily, Geocoder PHP allows us to connect to different geo-coding providers. Combined with Leaflet.js, a simple Javascript library, creating maps is a breeze.



Beyond Inheritance

In his last post, Anthony Ferrara talked about revisiting the concept of Design Patterns and questioned how useful it is to "learn" them. The conclusion drawn was that you are better served by focusing on how objects communicate rather than traditional patterns. With that not the only "traditional concept" he believes we should move beyond. So let's talk about inheritance... Jacek Barecki has a tutorial on SitePoint PHP showing you how to use the Google Translate API to handle the translation of dynamic input that may have come from other sources. After going through this tutorial you will be able to fetch translations from the Google Translate API right from your app. You will learn how to gain access to the API, how to use it and how to handle errors if they occur.Chris Saylor writes on the Zumba Engineering site - A while back we open sourced Mongounit, a PHPUnit extension for testing models utilising mongodb. One key issue that we’ve discovered as we incorporate MongoDB into more of our data models is that extending Mongounit’s TestCase class limits that unit test towards Mongo only as the datasource. Since only a portion of our data is in Mongo while the remaining is in MySQL, limiting a test case to work with one datasource or another is too limiting.In Part 1 and Part 2 of this series, Taylor Ren covered the basics of using Symfony 2 to develop a functioning web site. In this part of the tutorial he covers some more advanced techniques and finishes the project with pagination, image watermarks and NativeQuery. The code he'll be using is identical to the code from Part 2 – the features are already there, they just weren't discussed.Facebook recently announced that their HHVM is now more compatible with most of the popular framework. On the Liip blog, Christian Stocker posted his findings after working with Symfony2 on the HHVM, based on Facebook's work around the HipHop version of optimised PHP.Christopher Jones has posted a quick example of using DTrace Dynamic Tracing to work out what a PHP code base does. He thought this would be a good time to fire up DTrace and see what is going on. Since DTrace is "always available" even in production machines (once PHP is compiled with --enable-dtrace), this was easy to do.On the dzone site, Giorgio Sironi has posted - In statically typed languages, each variable must have a minimal type known at compile time. PHP instead, a is dynamic language where variable can contain any object and the only enforcement of an interface can be performed on method parameters via type hinting.Gearman provides a distributed application framework for work with multiple machines or processes. It allows applications to complete tasks in parallel, to load balance processing and to call functions between languages. The framework can be used in a variety of applications. Gearman is multi-threaded and is known to be able to carry out 50 thousand jobs per-second. On the SitePoint PHP blog there is an introductory tutorial showing you how to use Gearman in PHP to handle multitasking outside of the normal script execution.In Part 1 of this tutorial, an extremely simplified definition of clustering would be having multiple computers working together for a single goal. Typically you see it with distributed computing applications (network rendering of graphics, protein folding, etc.), but in the web world it is defined as having multiple servers providing a website or service. In practice, however, this can be more complicated especially when coupled with incorrect ideas around what clustering truly is.Interactive maps inside a web application have a lot of great uses. From visualising data to highlighting points of interest, maps are expected to communicate ideas within the context of location easily. The hardest part, however, is converting that data into coordinates that the map can understand. Luckily, Geocoder PHP allows us to connect to different geo-coding providers. Combined with Leaflet.js, a simple Javascript library, creating maps is a breeze.In his last post, Anthony Ferrara talked about revisiting the concept of Design Patterns and questioned how useful it is to "learn" them. The conclusion drawn was that you are better served by focusing on how objects communicate rather than traditional patterns. With that not the only "traditional concept" he believes we should move beyond. So let's talk about inheritance...