PHP provides a built-in XML parser extension that allows developers to process XML documents using event-based callbacks. Before PHP 8.0, XML parser was represented as a resource, and the xml_parser_free...
PHP provides the Fileinfo extension for detecting MIME types and file information. Before PHP 8.1, the finfo_close function was used to release a file info resource created by finfo_open. Since...
PHP provides the ob_start function, which accepts an optional output buffer handler function. When provided, the handler function receives the buffered output just before it is sent to the client...
First-class callable syntax in PHP (introduced in PHP 8.1) allows us to create an anonymous function (Closure) using the expression CallableExpr(...). It is safer and more refactor-friendly than using string...
Since PHP 8.5, static closures can be used in constant expressions. This includes default values of parameters and properties, constants, and attribute parameters.
Suppose we have a function that takes...
PHP provides the Dom\HTMLDocument class for parsing HTML documents, allowing developers to navigate, modify, and extract information using familiar DOM methods. This makes it especially useful for tasks such as...
PHP includes a built-in levenshtein function that calculates the Levenshtein distance between two strings. This distance represents the minimal number of characters that need to replace, insert or delete to...
PHP provides GD extension which can be used for creating and manipulating images. Before PHP 8.0, the imagedestroy function was used to close image resource created with various GD extension...
PHP includes an HTTP wrapper that allows us to access files through HTTP. For example, the file_get_contents function can fetch remote files using HTTP as well as local files from...
Before PHP 8.5, implementing recursion in a closure required binding the closure to a reference variable at creation time so it could call itself. This approach worked, but it was...