For years, so-called magic functions let developers use function calls to retrieve data from repository classes. The special feature of these functions is that their methods are determined at runtime. If you want to, for example, look-up a user record by its first name, you can call the repository function findByFirstname(). If you don’t implement a method with this name, Extbase automatically determines the required functionality. The repository class derives the property name $firstname from the given term after findBy. As you can use arbitrary names such as findByLastname(), findByLocation(), findByVersion(), etc., these magic methods are convenient and save development time.
This is a companion discussion topic for the original entry at https://typo3.org/article/typo3-v123-freeze