On Thu, Jul 11, 2024 at 6:16 PM Bilge <bi...@scriptfusion.com> wrote:
> On 25/06/2024 16:17, Derick Rethans wrote: > > we shouldn't be encouraging static classes as a bag of static functions, that > ought to be just namespaced functions. > > cheers, > Derick > > Can someone clue me in as to why grouping related functions in a file with > nothing but a namespace is strictly better than those same related > functions grouped as members of a class? It doesn't have to be Larry or > Derick, because even though they have expressed this view, I am aware they > are not the only ones whom hold it. Anyone who can shed some light on this > perspective is welcome to comment. > > Cheers, > Bilge > It isn't implicitly better, but if PHP had proper support for autoloading functions, I would at least consider them equivalent when all the functions/methods are public. My primary language is C++, where the distinction is even blurrier since both static class members and namespace members are accessed with '::'. For example, X::Y() could be a namespaced function or a static method, and it doesn't actually matter which it is under the hood since they are functionally identical. In PHP, however, putting all your functions in a namespace is less performant than using static classes. For instance, if you have ten functions.php files each for a separate namespace, Composer will load all ten for every single request, regardless of whether they are used. Additionally, if you install a Composer package that registers some functions, those will also be loaded for every request. Cheers, Lanre