Rofl this is the Weekly PHP Classes newsletter of Thursday - 2016-10-06

Find Top Developers

We help companies like Airbnb, Pfizer, and Artsy find great developers. Let us find your next great hire. Get started today.
Rofl you are getting this message as free service for being a user of the PHP Classes site to which you registered voluntarily using the email address If you wish to unsubscribe go to the unsubscribe page.

This newsletter is always available online and upto date at: .


  • Latest PHP Classes blog posts

  • Notable PHP package: PHP Google Maps Time Zone Convert (2 days ago)

    Posted on: 2016-10-04
    Summary: Some applications need to be able to show the time for a certain event in the current user time zone. The time zone depends on the geographic location of the user.

    The location of the user may be determined from the user IP address by using a geo IP database or Web service.

    So, if you have the user location coordinates, you can use the Google Maps API to determine what is the user time zone.

    This package can call determine the time zone of a location precisely calling the Google maps API.

    Read this article to learn more details about how this notable PHP package works.
  • How to Get Investors for Your Software Product Business: Part 1 (3 days ago)

    Posted on: 2016-10-03
    Summary: Many developers gave up on their dreams of creating their own software product business because they feel they need to obtain an investment but they do not know how to do it.

    The good news is that investment is often not necessary until you have already of a business generating revenue. Until then you can work on your software product without having to invest from your own pocket.

    Watch this video to learn what is the role of the investors, the different types of investors that exist, and what type of investment you need to seek depending on the phase of your project.
  • Lately in PHP in - Lately in PHP podcast episode 75 (6 days ago)

    Posted on: 2016-09-30
    Summary: is a live streaming site that allows developers to stream themselves working on code of their projects. The episode 75 of the Lately in PHP podcast 75 is the first episode to be streamed using presented by Manuel Lemos and Arturs Sosins as always.

    In this episode thei also talked about the PHP proposals for immutable objects, searching for text on the beginning and end of strings, disallowing null object parameters in the get_class call, removing UTF-8 to ISO Latin 1 conversion functions and deprecate bundling PEAR/PECL and replace with composer/pickle.

    Listen to the podcast, or watch the hangout video to learn more about these interesting PHP topics.
  • Notable PHP package: ITE Logger (7 days ago)

    Posted on: 2016-09-29
    Summary: PSR-3 is a standards recommendation that defines a common interface to implement logger classes.

    This package implements the PSR-3 logger interface using several types of classes, as well a class and a trait that allows using multiple nested loggers.

    It also provides a stream wrapper that allows developers to write to logs using regular file access functions.

    Read this article to learn more details about how this notable PHP package works.
  • Notable PHP package: Portable UTF-8 (9 days ago)

    Posted on: 2016-09-27
    Summary: Nowadays PHP has different extensions to manipulate text strings using Unicode UTF-8. However some may be available or not in different PHP environments.

    This package provides a pure PHP solution to manipulate text in UTF-8, so you do not depend on whether any other extensions are available.

    If such extensions are available, the package may fallback to using them them for performing the same UTF-8 text manipulation operations.

    Read this article to learn more details about how this notable PHP package works.
  • How to Choose the Best Market to Sell Your Software Product (10 days ago)

    Posted on: 2016-09-26
    Summary: There are markets that are better than others. The choice of a market for the software products that you will develop, may be the difference between a successful product and one without much future.

    Watch this video to learn how to determine which market you should prefer to have a more viable software product business.
  • PHP and JavaScript Innovation Award Report September 2016 Edition - June 2016 nominees (13 days ago)

    Posted on: 2016-09-23
    Summary: This is the September edition of the Innovation Award podcast hangout recorded by Manuel Lemos and Arturs Sosins to comment on the outstanding features of all the past month nominees and winners PHP and JavaScript packages, the prizes that the authors earned, starting with the nominees from the month of June 2016.

    Listen to the podcast, or watch the hangout video to learn why the nominated packages were considered to be innovative, as well the current rankings of the Innovation Award Championship by author and by country.
  • Notable PHP package: PHP RTF Tools (14 days ago)

    Posted on: 2016-09-22
    Summary: Comparing word processing documents programmatically to see what was changed is a hard problem because you need to parse the documents and determine how to compare them.

    This package provides an alternative solution to simplify this task.

    Many Word processing documents can export documents in RTF (Rich Text Format). This is a text based format based on marks that identify different values in the documents like fonts, text formatting attributes, colors, etc..

    If you save your Word processor documents in the RTF format, this package can easily render the document data in a beautified way that make it easier to compare document using a diff-like text comparison program.

    Read this article to learn more details about how this notable PHP package works.
  • How Can I Get Users to Try my Software Product for the First Time (15 days ago)

    Posted on: 2016-09-21
    Summary: Before you announce the software product that you developed, nobody knows about it. Actually if you are starting in the business, maybe nobody knows you yet.

    So you need to start attracting people to at least try your product, demonstrate that you understand about the user problems and how your product can solve them.

    Watch this video of a consulting session to learn about means to start attracting a list of people potentially interested in your product, so you can sell it later to them.
  • Notable PHP package: PHP Domain Driven Design (16 days ago)

    Posted on: 2016-09-20
    Summary: In simple terms, Domain Design Design is an approach for software development that departs from an evolving model of the problem to the implementation.

    This package provides a demonstration of the application of the model driven design.

    It provides a set of classes that demonstrate how to implement domain logic with example models, services, strategies, as well specific data type object and mapper classes to use in the demonstration scripts.

    Read this article to learn more details about how this notable PHP package works.
  • Notable PHP package: PHP SMS Queue System (21 days ago)

    Posted on: 2016-09-15
    Summary: One way to send SMS messages without depending on third party APIs is to use the Gammu program. It can communicate with a mobile phone connected to your machine and sends SMS messages from the phone to whatever recipients you want.

    This method of sending SMS messages may not be particularly fast, especially when you have to send many SMS messages, as it has to wait for one message to be sent, to send the next message.

    This class provides a solution to prevent that your PHP application needs to wait for each SMS message to be delivered before it can send the next one.

    It uses local message queues to post the messages. A separate script can pull each message from the queue and send it by communicating with the mobile phone using Gammu.

    Read this article to learn more details about how this notable PHP package works.
  • Notable PHP package: PHP Ignore JSON Key (23 days ago)

    Posted on: 2016-09-13
    Summary: JSON is nowadays used by many applications and APIs to exchange data in a format that can be supported by many languages.

    Sometimes you need to do some processing to filter unwanted entries in JSON data structure. Usually you would use json_decode parse the data, traverse the parsed data and filter the unwanted information, and regenerate it with json_encode.

    This class offers a simpler solution. It can take a JSON string and removed the unwanted entries from the JSON string directly.

    This way you do not need to perform traversal of data and custom processing to remove the unwanted data.

    Read this article to learn more details about how this notable PHP package works.
  • Non Obvious MySQL Index Optimization Tricks part 1 (24 days ago)

    Posted on: 2016-09-12
    Summary: Every developer knows that adding indexes to database tables may speedup database queries. However, in several circumstances, this may not be the case, and your application may actually get slower when you add indexes.

    Watch this short video that is the first part of a talk that teaches what are indexes under the hood, how to determine when you should add indexes to your database tables, when you should not add indexes, and
    alternative solutions to optimize MySQL based applications without adding indexes that could slow down your application.
  • Notable PHP package: PHP Form Encryption (28 days ago)

    Posted on: 2016-09-08
    Summary: When you need to submit security sensitive data to a Web site, you should always use encrypted connections. However, over time older SSL versions have been discovered to be vulnerable, to the point that SSL is not longer synonym of security.

    Nowadays you should use at least TLS and we don't know until when the current TLS versions will be safe to use to protect the transmission of private data.

    This class provides an additional layer of security by using JavaScript to encrypt data before transmitting form values using RSA public key, and then having the server to decrypt the data with a private key.

    This way, eventual man in the middle attacks will not be able to decrypt the data because they don't know what is the private key that the server uses to decrypt it.

    Read this article to learn more details about how this notable PHP package works.
  • How to Create a Software Product Business Continuing to Be a Developer (29 days ago)

    Posted on: 2016-09-07
    Summary: What developers like most is to write code. Creating your own software product business gives you a lot of freedom to work any time you want, anywhere you want, work with the technologies you like, but some developers are afraid that once they start a business they may need to stop writing code and give up on the joy of being a developer.

    Fortunately it does not have to be this way. You can create your own software product business and still continue to work as a developer.

    Watch this video to learn about different solutions to continuing to be a developer while you work on your own software product business.
  • Notable PHP package: morgen (30 days ago)

    Posted on: 2016-09-06
    Summary: Developers that have tried to create applications that should run both on the Web, Android and iOS devices know that you need to have a different sets of application image icons that looks well on different resolutions.

    This package provides a solution by automatically generating icon sets for different devices and sizes.

    It supports generating icons from a SVG source graphics if you can run a program like Inkscape to convert images from SVG to the PNG format.

    Read this article to learn more details about how this notable PHP package works.


Top friends of the site

Friends of the PHP Classes site is a initiative to provide recognition to the users that contribute to the growth of the site community.

For more information on how to become a friend of the site look here.

Rank Friend Referrals
1 Arturs Sosins Latvia Latvia 6
2 Protung Dragos Germany Germany 3
3 Olaf Lederer The Netherlands The Netherlands 3
4 Khaled Al-Shamaa Syria Syria 3
5 Cesar D. Rodas Paraguay Paraguay 2
6 Rafael Espinosa Cuba Cuba 2
7 Manuel Lemos Portugal Portugal 1
8 William Lang Canada Canada 1
9 Larry Wakeman United States United States 1
10 Mike Leigh United Kingdom United Kingdom 1


Innovation award results

Congratulations to Roger George and Bruno Henrique Ferreira de Oliveira and Truong Van Phu and Christian Vigh!

Rank Class Author Score Points Prize
1 PHP Web Site Compare Files
Compare the list of files of two Web sites
Roger George United States 12.90% 11
1 PNG Hex Color Modifier
Replaces a color in a PNG image by another color
Bruno Henrique Ferreira de Oliveira Brazil 12.90% 11 One big elePHPant Plush Mascott
1 PHP Search String in File
Search for files with a given string using grep
Truong Van Phu Viet Nam 12.90% 11
1 PHP SSH Connection Session
Run arbitrary length commands in a server with SSH
Christian Vigh France 12.90% 11
5 PHP Domain Driven Design
Domain driven design using domain logic classes
Nemeth Zoltan Hungary 9.68% 7
5 PHP Builder Pattern Generator
Generate code for classes with the builder pattern
Asher Wolfstein United States 9.68% 7
7 CakePHP 2.x Container
Interoperable container integration with CakePHP
Nerijus Lithuania 6.45% 5
7 ITE Collection
Manage sets of arrays or objects as collections
Kiril Savchev Bulgaria 6.45% 5
7 eKatab PHP ePub Reader
Display ebooks in the epub format on Web pages
Karl Holz Canada 6.45% 5
7 PHP UDP Hole Punching
Connect to network peers through a UDP server
Nick Daniels United States 6.45% 5
11 PHP Detect Google Crawler
Check if an access is from Google checking its IP
Gábor Kalmár Hungary 3.23% 1

Nominees to win the award of September of 2016

Class: PHP RTF Tools
Description: Parse and generate RTF documents using templates
Author: Christian Vigh
Country: France

Class: CakePHP 2 Zend Service Manager integration
Description: Integrates the Zend Service Manager with CakePHP 2
Author: Nerijus
Country: Lithuania

Class: Simple Logger
Description: Log messages and view log filtered files
Author: Joseluis Laso
Country: Spain

Class: morgen
Description: Generate icon images for multiple platforms
Author: Alexander Selifonov
Country: Russian Federation

Class: Noter
Description: Create and manage notes shared between users
Author: Martin Latter
Country: United Kingdom

Class: PHP Form Encryption
Description: Encrypt and decrypt forms with AES and RSA
Author: Francisco del Aguila
Country: Spain

Class: PHP Component Event
Description: Implement a immutable event
Author: nvb
Country: Germany

Class: PHP Ignore JSON Key
Description: Remove certain key values from JSON strings
Author: Janjan
Country: Philippines

Class: PHP Unicode to Bijoy Converter
Description: Convert Bijoy ANSI text from Unicode Bengali
Author: Miraz Mac
Country: Bangladesh

Class: PHP SMS Queue System
Description: Queue and process delivery of SMS with Gammu
Author: Juraj Puchk