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.

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.

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.

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.

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.

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.

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 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.