Rofl this is the Weekly PHP Classes newsletter of Thursday - 2016-09-22

Where plugins go to die.

Manage all your client websites with a single login. Seriously.
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 specialists forum threads

Subject Updated on
I need a help to convert a pdf file UTF-8 to text php or JS
I need a help to convert a pdf file UTF-8 to text php or JS


  • Latest PHP Classes blog posts

  • How Can I Get Users to Try my Software Product for the First Time (1 day 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 (2 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 (7 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 (9 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 (10 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 (14 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 (15 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 (16 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.
  • PHP Articles Report August 2016 Edition (20 days ago)

    Posted on: 2016-09-02
    Summary: This is the August edition of the podcast hangout recorded by Manuel Lemos and Arturs Sosins to comment on the latest outstanding PHP Articles published recently.

    They commented on articles about using the HTTPoxy vulnerability that affects some well known PHP applications, how to use the pthreads extension, and several articles and videos to help developers create software product businesses.

    Listen to the podcast, or watch the hangout video to learn more about these PHP articles.
  • Notable PHP package: ITE Collection (21 days ago)

    Posted on: 2016-09-01
    Summary: PHP is very good at dealing with arrays of values. It provides interfaces that can let developers create classes that can manipulate lists of values using the regular array syntax and functions.

    Often the code for manipulating different types of values is the same for different classes that implement array interfaces.

    This package provides a trait that can manipulate collections of unique values that can be either arrays and objects. The trait may be reused by other classes that implement similar collections of other types of values.

    Read this article to learn more details about how this notable PHP package works.
  • The Best Way To Find a Developer Job in 2016 (22 days ago)

    Posted on: 2016-08-31
    Summary: Times have passed and the way you get hired jobs as software developer or even other positions has changed.

    In the past you used to find jobs and and apply by sending resumes. Or worse you would get chased by annoying recruiters.

    Nowadays companies like Hired have inverted the process and made it such way that instead of you applying for jobs, companies apply to find talented professionals.

    Read this article to learn how Hired implements this modern hiring process and how you can join to benefit from getting better job opportunities.
  • Notable PHP package: PHP SSH Connection Session (23 days ago)

    Posted on: 2016-08-30
    Summary: SSH is a protocol to communicate with a remote server via a secure connection that allows to execute commands on a remote machine.

    However, the length of the commands that can be executed is limited.

    This package provides a workaround for this limitation that consists in creating a shell script to execute long commands and execute it using the bash shell.

    Read this article to learn more details about how this notable PHP package works.
  • 5 Phases to Create Software Products that Will Be Perfect for Your Customers (24 days ago)

    Posted on: 2016-08-29
    Summary: Many software products failed because their developers did not start by listening to their customers problems.

    Learning about the customers problems is the first of 5 phases of a method called Design Thinking. When well applied this method can lead to the creation of products that are perfect for their customers.

    Watch this video to learn how you can apply this method to design your software products in a short period of time and get what customers really need even before you start writing a line of code.
  • PHP and JavaScript Innovation Award Report August 2016 Edition - May 2016 nominees (27 days ago)

    Posted on: 2016-08-26
    Summary: This is the August 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 May 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 Builder Pattern Generator (28 days ago)

    Posted on: 2016-08-25
    Summary: The builder design pattern allows to dynamically create objects in a way that the same process of construction can allow multiple representations of the object that can be changed over time according to the needs of a project.

    This package implements the builder design pattern with a concrete builder class that generates code for classes dynamically to implement a representation of the object class being built at run time.

    Read this article to learn more details about how this notable PHP package works.
  • Notable PHP package: CakePHP 2.x Container (30 days ago)

    Posted on: 2016-08-23
    Summary: Dependency injection is design pattern often used implement functionality on one class using objects from external classes without hardcoding the dependency between the two classes.

    Several PHP frameworks implement their own dependency injection containers but since each one implements it in a different way, a generic container interface was defined to allow to call components of one framework to be called from by components of any other framework.

    The package implements a component with the generic dependency injection container interface so application services and other types of applications not based on CakePHP can be easily used with CakePHP.

    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 9
2 Olaf Lederer The Netherlands The Netherlands 5
3 Cesar D. Rodas Paraguay Paraguay 2
4 Rafael Espinosa Cuba Cuba 2
5 William Lang Canada Canada 1
6 Larry Wakeman United States United States 1
7 Ehsanul Haque Bangladesh Bangladesh 1
8 Alexandre Miguel de Andrade Souza Brazil Brazil 1
9 Alexander Skakunov Ukraine Ukraine 1
10 Khaled Al-Shamaa Syria Syria 1


Innovation award results

Congratulations to Aleksey Nemiro!

Rank Class Author Score Points Prize
1 PHP Small Server Administrator
Web panel for small Debian and Ubuntu servers
Aleksey Nemiro Russian Federation 24.14% 11 One big elePHPant Plush Mascott
2 Jaxon
Call PHP classes from JavaScript using AJAX
Thierry Feuzeu Cameroon 17.24% 10 One downloadable copy of Komodo IDE
3 Faster PHP IP2Location
Faster method to find the location of IP addresses
Chi Hoang France 13.79% 9
4 Rabbit ORM
ORM for CodeIgniter based on Laravel's Eloquent
Fabio Mazzo Brazil 10.34% 8
5 PHP String Socializer
Replace text with hash tags and social media links
Luciano Salvino Argentina 6.90% 7
5 BladeOne
Standalone template engine that compiles into PHP
Jorge Castro Chile 6.90% 7
5 CMS Airship
Content management system with security features
Scott Arciszewski United States 6.90% 7
5 PHP Silex REST Multi Lazy Load
Create REST APIs with module lazy loading
John Diaz Colombia 6.90% 7
9 Automator Shell Action Tools
Process console input and environment variables
Karl Holz Canada 3.45% 3
9 Deferred Exceptions
Queue exceptions and throws them afterwards
magog Russian Federation 3.45% 3
11 PHP IIN and BIN
Identify card issuer and bank from numbers
Yorch Ponce Mexico <1.00% 1

Nominees to win the award of August of 2016

Class: CakePHP 2.x Container
Description: Interoperable container integration with CakePHP
Author: Nerijus
Country: Lithuania

Class: PHP Domain Driven Design
Description: Domain driven design using domain logic classes
Author: Nemeth Zoltan
Country: Hungary

Class: ITE Collection
Description: Manage sets of arrays or objects as collections
Author: Kiril Savchev
Country: Bulgaria

Class: eKatab PHP ePub Reader
Description: Display ebooks in the epub format on Web pages
Author: Karl Holz
Country: Canada

Class: PHP Web Site Compare Files
Description: Compare the list of files of two Web sites
Author: Roger George
Country: United States

Class: PNG Hex Color Modifier
Description: Replaces a color in a PNG image by another color
Author: Bruno Henrique Ferreira de Oliveira
Country: Brazil

Class: PHP Detect Google Crawler
Description: Check if an access is from Google checking its IP
Author: G