Rofl this is the Weekly PHP Classes newsletter of Thursday - 2016-08-25

Automate Your Shipping

Web-Based Shipping Fast and Simple. Start a Free Trial of ShipStation 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: CakePHP 2.x Container (2 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.
  • How to Create Your Own Software Product Business Without Quitting Your Day Job (3 days ago)

    Posted on: 2016-08-22
    Summary: Many developers want to create their own software product business but they still need money to support themselves, and so cannot quit their day jobs.

    Watch this very short video to learn about a simple tip on how you still can create your own business without having to quit your current job.
  • Notable PHP package: PHP UDP Hole Punching (6 days ago)

    Posted on: 2016-08-19
    Summary: When you want to connect to a remote machine that is connected to a group of peers but you do not know its address, one common solution is to connect to central server and ask the addresses of the peers to communicate with them.

    This technique is used by NAT servers (Network Address Translators) that are often running on router machines in order to route requests to remote machines from local network computers.

    This process is called hole punching because it uses an intermediary server to get the addresses of the remote machines, so the client can communicate with them.

    This PHP package implements a server with one class that can keeps the list of connected client machines and returns the list of peer addresses and ports.

    The client class connects to the server class to get the peer machine address list, so it can send messages to them using UDP packets.

    Read this article to learn more details about how this notable PHP package works.
  • Will Lazy Statements Make PHP 7 Programming More Efficient ? Lately in PHP podcast episode 74 (7 days ago)

    Posted on: 2016-08-18
    Summary: A recent proposal is being discussed for PHP 7 feature called lazy statements. It would allow developers to assign values to variables based on code that is only executed when the variable is accessed for the first time, thus avoiding executing the code if the variable ends up never being accessed.

    That was one of the main topics discussed by Manuel Lemos and Arturs Sosins in the episode 74 of the Lately in PHP podcast hangout.

    They also talked about the HTTPoxy vulnerability that affects some important PHP projects, as well the usual proposals for upcoming PHP versions like autoloading for global functions, different syntax for returning $this for classes that provide fluent interfaces, support for arbitrary method in the built-in PHP Web server, a new structured object notation for creating objects, etc..

    They also mentioned features to be discontinued in PHP 7.1 like SSL 2 support and some extensions that will not ship with PHP 7.1 anymore.

    This article includes a transcript of the podcast summary.

    Listen to the podcast, or watch the hangout video, or read the summary transcript to learn more about these interesting PHP topics.
  • Notable PHP package: PHP YouTube Movie Trailers (8 days ago)

    Posted on: 2016-08-17
    Summary: YouTube is certainly the most popular video hosting site on the Web.

    It is used to publish all sorts of videos including trailers of many movies often way before they are released in theathers.

    This package can access the YouTube site to perform searches for trailers of specific movies, so it can extract the video identifiers of the trailer movies. It generates HTML to embed those videos on other site Web pages.

    Since it just scrapes the YouTube search result pages, it does not need to use an API key.

    Read this article to learn more details about how this notable PHP package works.
  • How to Pick Partners for a Software Product Business? - Fix My Software Product Business (10 days ago)

    Posted on: 2016-08-15
    Summary: When creating a software product business most developers prefer to just deal with with the software development part.

    However, somebody should take care of the marketing, sales, finances, human resources, etc.. The best way to cover for these business needs is to bring people specialized on these areas, so you can continue to focus on the software development efforts.

    But how should you keep them interested working for your company? Should you hire them or make them business partners? How do you pick business partners that will not cause you trouble later?

    Watch this consulting session video to learn how to answer these questions so your business grows in a healthy manner with great partners.
  • Fast PHP Error Monitoring and Bug Fixing with Rollbar (11 days ago)

    Posted on: 2016-08-14
    Summary: Regardless of how good you are as a developer, you will always ship code to production that will have bugs or does not deal with situations that were unanticipated.

    Therefore you always need to have a tool that can monitor the errors on the server side, so you can act promptly and fix issues as quickly as possible.

    Read this tutorial to learn how you can use Rollbar to keep track of your PHP Web applications issues.
  • Notable PHP package: PHP Detect Google Crawler (13 days ago)

    Posted on: 2016-08-12
    Summary: Google is the most popular search engine. Being well ranked on Google is important for many sites to get nice organic traffic.

    Many sites try to serve content for Google crawler bots as fast as possible, so that increases the chances of the sites pages to rank well.

    In theory it is easy to detect when the Google bot is accessing a Web page. It is usually a matter of detecting the user agent string sent with requests from the Google bot crawler.

    However, there are crawlers and malicious bots that pretend to be the real Google bot faking its user agent string.

    This class provides a more robust way to detect whether a request is coming from Google bot or not.

    It just gets the HTTP client IP address and resolves its host name to verify if it really has one of the known Google bot domains.

    Read this article to learn more details about how this notable PHP package works.
  • 10 High Growth Companies Hiring PHP Developers (15 days ago)

    Posted on: 2016-08-10
    Summary: PHP is so popular that sometimes fans of other languages question if PHP is still that popular in the hope that PHP developers move on to the languages of their preference.

    The fact is that PHP continues to be so popular that large companies have still great demands for qualified PHP developers.

    Read this article to learn about some of the high growth companies that continue to look for great PHP developers.
  • Notable PHP package: PHP Web Site Compare Files (15 days ago)

    Posted on: 2016-08-10
    Summary: Sometimes it is necessary to verify if the files of a site on the server are up to date and were not changed eventually by an attacker that took advantage of a security hole.

    There are some solutions that compute hashes of all the files in the server but they do not tell whether the files different because they are not up to date with the latest development version or were changed eventually due to a security attack.

    This class provides a solution that uses a different approach. It calls a script on the server that lists the existing files.

    This way it can compare list of files on the production and the development environments, or even compare the files installed on different production or testing servers.

    Read this article to learn more details about how this notable PHP package works.
  • How Can I Make My Software Product Highly Desired by the Customers? - Fix My Software Product Business (17 days ago)

    Posted on: 2016-08-08
    Summary: Many developers have already started working on software products before making sure that there is a good demand for those products.

    Later they realize that the product is nice but it is really not essential for their users, so they may not be able to make much sales.

    Fortunately there is a method that can be used to convert a non-essential product into a highly desired software product that their users feel they cannot live without.

    Watch this video with a consulting session with a developer to learn more about this method and how you can apply it in practice in a new product or in a product that has already started being developed.
  • Notable PHP package: eKatab PHP ePub Reader (20 days ago)

    Posted on: 2016-08-05
    Summary: ePub is a common format of eBooks supported by many eBook reader devices.

    Basically ePub files are ZIP archives with files of the contents of the ebook.

    This class can extract the contents of a ebook in the ePub format and parse it, so the ebook pages can be viewed on Web pages.

    Read this article to learn more details about how this notable PHP package works.
  • Notable PHP package: Deferred Exceptions (22 days ago)

    Posted on: 2016-08-03
    Summary: Sometimes you need to call different functions in sequence. However if one of the functions throws an exception you may not be able to execute the other functions unless you catch the exceptions of each function.

    Putting try and catch statements around every function call may be tedious and boring task.

    This package provides an alternative solution. It provides a trait that allows you to queue multiple exceptions thrown by classes that use the trait.

    This way you can have access to the whole list of thrown exceptions throw the last or all exceptions that happened.

    Read this article to learn more details about how this notable PHP package works.
  • 3 Methods to Discover Ideas to Create New Software Product Businesses with Good Potential - Fix My Software Product Business (25 days ago)

    Posted on: 2016-07-31
    Summary: According to a recent survey, many developers would like to create their own business selling software products to many customers but they do not have any good ideas of products that could sell well.

    Fortunately there are methods that you can apply to come up with good software product ideas and then figure if they have good market potential even before you start developing the software products.

    Watch this video with a consulting session with a developer to learn more about those methods, so you can start applying them to have great software product ideas with good business potential.
  • Notable PHP package: Jaxon (27 days ago)

    Posted on: 2016-07-29
    Summary: Many Web applications have browser side (JavaScript) code making AJAX calls to server side code in PHP that is mapped to classes of objects.

    Usually the server side code needs to register classes or functions that will handle the AJAX calls.

    However, when you have many classes to handle your Web application AJAX calls, registering classes one by one can be a tedious time consuming task.

    The package provides a more efficient method to register many classes at once. You just specify a directory and the package will lookup and load the classes on demand when the AJAX calls are received.

    This way you also do not have to waste time instantiating objects of the handler classes until they are necessary.

    Read this article to learn more details about how this notable PHP package works.
  • PHP Articles Report July 2016 Edition (28 days ago)

    Posted on: 2016-07-28
    Summary: This is the July 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 DevSense PHP Tools extension to develop and debug PHP applications with Visual Studio, automating actions on Mac OS X using PHP scripts, using reactive programming to develop more efficient PHP applications, debugging remote projects with PHPEd, and a new series of short videos to tell why developers should create their own software products and sell to many customers, and what are the main mistakes to avoid to become successful doing that.

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

    Posted on: 2016-07-27
    Summary: PHP is often blamed for being an insecure language. This is not a fair claim because, as a language, PHP is not more insecure than most other Web programming languages.

    The bad reputation could be attributed to some applications like WordPress and others that can be easily extended with plugins developed by programmers that may not be so security aware as they should.

    The CMS Airship package is a content management system package that was developed and managed to be secure by design.

    It is mainly a blog engine with support for multi-site environments.

    It can be extended with add-ons that can be reviewed and controlled by the community, thus helping to quickly fix any security matters that the community finds.

    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 11
2 Khaled Al-Shamaa Syria Syria 4
3 Olaf Lederer The Netherlands The Netherlands 3
4 Alexander Skakunov Ukraine Ukraine 2
5 Cesar D. Rodas Paraguay Paraguay 2
6 solomongaby Romania Romania 2
7 Larry Wakeman United States United States 1
8 the DtTvB Thailand Thailand 1
9 Eric Sizemore United States United States 1
10 Giorgos Greece Greece 1


Innovation award results

Congratulations to Joubert RedRat!

Rank Class Author Score Points Prize
1 PHP AJAX Table
Load HTML tables dynamically using AJAX
Joubert RedRat Brazil 21.21% 13 One big elePHPant Plush Mascott
2 Simple Flash Messages
Display message with different CSS frameworks
Yuriy Tkachenko Russian Federation 15.15% 12 PhpStorm IDE 1 year individual subscription
2 Zephir HandlerSocket Client
Access MySQL tables as NoSQL with HandlerSocket
Victor Bolshov Russian Federation 15.15% 12 One subscription to the PDF edition of the PHP Architect magazine
4 Vehicle Simulator
Simulate the functions of different vehicle types
Chi Hoang France 12.12% 10 One downloadable copy of PhpED Professional
5 PHP Time Zone Mapper
Get time zone for a given latitude and longitude
Ahmad Retha United Kingdom 9.09% 9 One ebook of choice by Packt
5 Stringizer
Manipulate multibyte text strings as objects
jasonlam604x Canada 9.09% 9
7 WordPress Hosted Content Importer
WordPress plugin to import content hosted remotely
Bimal Poudel Nepal 6.06% 7
8 PHP Nuclear Reactor
Asynchronous RESTful API using ReactPHP and PIMF
Gjero Krsteski Germany 3.03% 6
8 Italian Cities and Postal Code checker
Search Italian cities, postal codes and addresses
Orazio Principe Italy 3.03% 6
8 PHP TheSportsDb
Get game information from the Sports DB site API
Jelle Sebreghts Belgium 3.03% 6
8 PHP Webdav Calendar Pusher
Send and receive ICS calendar events via WebDav
Ismail Çak?r Turkey 3.03% 6
12 PHP Bracket Checker Parser
Parse expressions and return if brackets match
Hakob Hakobyan Armenia <1.00% 2
12 Phalcon Cashier
Access subscription services provided by Stripe
Thien Tran Viet Nam <1.00% 2

Nominees to win the award of July of 2016

Class: PHP String Socializer
Description: Replace text with hash tags and social media links
Author: Luciano Salvino
Country: Argentina

Class: PHP IIN and BIN
Description: Identify card issuer and bank from numbers
Author: Yorch Ponce
Country: Mexico

Class: BladeOne
Description: Standalone template engine that compiles into PHP
Author: Jorge Castro
Country: Chile

Class: Rabbit ORM
Description: ORM for CodeIgniter based on Laravel's Eloquent
Author: Fabio Mazzo
Country: Brazil

Class: PHP Small Server Administrator
Description: Web panel for small Debian and Ubuntu servers
Author: Aleksey Nemiro
Country: Russian Federation

Class: Automator Shell Action Tools
Description: Process console input and environment variables
Author: Karl Holz
Country: Canada

Class: Faster PHP IP2Location
Description: Faster method to find the location of IP addresses
Author: Chi Hoang
Country: France

Class: CMS Airship
Description: Content management system with security features
Author: Scott Arciszewski
Country: United States

Class: Deferred Exceptions
Description: Queue exceptions and throws them afterwards
Author: magog
Country: Russian Federation

Class: PHP Silex REST Multi Lazy Load
Description: Create REST APIs with module lazy loading
Author: John Diaz
Country: Colombia

Class: Jaxon
Description: Call PHP classes from JavaScript using AJAX
Author: Thierry Feuzeu
Country: France, Metropolitan



Latest support forum threads

Subject Posted on Class
Support for Uber OAuth
Support for Uber OAuth
2016-08-25 PHP OAuth Library API
This developer has provided excellent support and never ignor...
Package rating comment
2016-08-24 Map Builder
Thank You for Updating this to Perfection
2016-08-24 WordStore
In my host class smtp.php doesn't work trough proxySOCKS5, why?
ssl or tls anyway doesn't work...
2016-08-23 SMTP E-mail sending class
Interesting problem
ZipMerge seems to be appending 2 additional "00" bytes
2016-08-22 PHP Zip Merge
Validacija ispravnog JMBG
Za ispravan JMBG tvrdi da je neispravan
2016-08-22 JMBG
encryption mode
change from ECB to CBC
2016-08-21 Secure SQLite
Not a class, just a script
Package rating comment
2016-08-19 Cacher.php v1.0
Not a class, just a script
Package rating comment
2016-08-19 Cacher.php v1.0
Can we take the screenshot only to the part visible to the user?
screenshot without without scroll bar content
2016-08-19 PHP Tracking User Activity


  • Latest package entries

  • Jaxon for Laravel

    Picture of Thierry Feuzeu
    Author: Thierry Feuzeu
    Date: 2016-08-24 (1 day ago)
    Groups: PHP 5, Libraries, Language, AJAX, Traits
    Description: This package is a Laravel plugin to call PHP classes from with AJAX.

    It integrates the Jaxon package to with the Laravel taking care of configuration and initialization of the library.

    Applications can extend the provided controller class to implement the response to AJAX calls with the names of the functions implemented by application controller classes.
  • Kendo UI PHP Framework

    Picture of Tomas Saghy
    Author: Tomas Saghy
    Date: 2016-08-23 (2 days ago)
    Groups: HTML, PHP 5
    Description: This package can build a user interface with Telerik Kendo UI library.

    It can generate HTML with JavaScript to composer Web based user interfaces using components of the Kendo UI JavaScript library.

    The package main class can create objects that are wrappers around the Kendo UI widgets, set properties and set data sources objects.
  • PHP Web Service Bundle

    Picture of ???
    Author: ???
    Date: 2016-08-23 (2 days ago)
    Groups: PHP 5, Web services
    Description: This class can call APIs to email, shorten URLs and upload images.

    It provides several functions to call different Web services to perform certain operations sending HTTP requests to the respective Web servers. Currently it can:

    - Send email with MailGun API
    - Upload images to Imgur
    - Shorten URLs with, and
  • ITE Collection

    Picture of Kiril Savchev
    Author: Kiril Savchev
    Date: 2016-08-22 (3 days ago)
    Groups: PHP 5, Data types, Traits
    Description: This package can manage sets of arrays or objects as collections.

    It provides two classes that can store unique values of arrays or objects.

    It also provides a trait that provides basic functionality to any of the classes to manage the collection values.
  • Phady Developer Tools

    Picture of Alien Fernandez
    Author: Alien Fernandez
    Date: 2016-08-22 (3 days ago)
    Groups: PHP 5, Libraries, Code Generation
    Description: This package can simplify using Phady Zephir framework from PHP.

    Currently it provides PHP classes equivalent to the classes of the framework originally written in Zephir.

    The PHP classes are empty, so they can serve only to help IDE to autocomplete when calling these classes from PHP code.

    It can also generate files to create new projects based on the Phady framework.
  • CakePHP 2.x Container

    Picture of Nerijus
    Author: Nerijus
    Date: 2016-08-21 (4 days ago)
    Groups: PHP 5, Libraries, Design Patterns
    Description: This package is a interoperable container integration with CakePHP.

    It extends the CakePHP base component class and implements the service container interface, so application services and other types of applications not based on CakePHP can be easily used with CakePHP.
  • hiutils

    Picture of Kakhaber Kashmadze
    Author: Kakhaber Kashmadze
    Date: 2016-08-20 (5 days ago)
    Groups: HTTP, PHP 5
    Description: This class provides utility functions to process request data.

    It consists of several static functions for general purposes operations to manipulate data sent and received via HTTP requests. Currently it can:

    - Encode and decode values using HTMLSpecialChars and AddSlashes
    - Parse request values according to expected types and return defaults when the values are missing
    - Check the type of request value
    - Check ID values in request array values
    - Serve a file for download
    - Return the current request method
  • PHP Rijndael Encryption

    Picture of philip njuguna
    Author: philip njuguna
    Date: 2016-08-19 (6 days ago)
    Groups: PHP 5, Cryptography
    Description: This class can encrypt and decrypt data with Rijndael 256.

    It can take a given data string and encrypt it with Rijndael 256 using a given key. The encrypted data is returned base64 encoded.

    The class can also decode and decrypt the data previously encrypted with the class.
  • PHP CSS Generator

    Picture of Aleksandar Zivanovic
    Author: Aleksandar Zivanovic
    Date: 2016-08-18 (7 days ago)
    Groups: HTML, PHP 5
    Description: This package can compose and generate CSS programmatically.

    It provides a fluent interface to define CSS stylesheet rule properties by id, class or element name.

    The class can define the selector with multiple path elements by adding child path elements or go back to the parent selector element.

    The generated CSS stylesheet is returned as a string.



Rofl if you are not interested in receiving any more messages like this one, go to the unsubscribe page .

If want to switch the message format between text and HTML visit the options page and change it in the E-mail alerts and newsletters tab.