A Fresh Approach to Writing Variadic Functions

Many of you are familiar with using methods or functions that can accept an unspecified number of parameters, often referred to as variadic functions.

In our ongoing process to improve your development experience, 4D v20 R3 streamlined the declaration of these methods by introducing ellipsis, making your code more straightforward and easier to work with.

Product blank

Deprecation of PHP Commands & Removal of 4D Built-in PHP Interpreter

PHP has played a crucial role in web development, and it was introduced into 4D v12 to offer features not readily available in the native language, such as zip, hash, or LDAP functionality. Over time, 4D has incorporated many of these PHP features into its core functionality. As a result, we decided to remove the built-in PHP interpreter in 4D v20 R3 and begin the deprecation process for PHP commands in v21.

While we won’t entirely remove the PHP commands from 4D, we strongly encourage you to use the system workers to execute PHP code in the future.

This blog post will guide you through this transition process, demonstrating how to use an external interpreter through PHP Execute and explaining how to execute PHP code effectively with a system worker. 

Product blank

Track data changes in your database

In this blog post, we’re thrilled to introduce a powerful method to revolutionize how you manage and track changes within your data store. We’ll unveil the concept of a “stamp”, a specialized marker designed to streamline your data modification monitoring and show you how to tailor these stamps to your unique requirements.


Product blank

Sync Several Collections with this new Function

4D offers powerful features to work with object collections. For example, you can create a collection of cities with their associated countries and continents. Manipulating these collections with built-in functions like sort, order, and filter becomes a breeze.

4D v20 R3 introduces the new multiSort() function to simplify this process. With this function, you can now easily sort and synchronize multiple collections.