<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/rfc-function-autoloading-mark-5--vdmp82sva" -->

---
title: [RFC] Function Autoloading (mark 5) | daily.dev
description: Paul M. Jones has submitted a 5th RFC attempt to add function autoloading to PHP, with an accompanying pull request against php-src. The discussion thread...
canonical: https://daily.dev/posts/rfc-function-autoloading-mark-5--vdmp82sva
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: [RFC] Function Autoloading (mark 5) | daily.dev
og:description: Paul M. Jones has submitted a 5th RFC attempt to add function autoloading to PHP, with an accompanying pull request against php-src. The discussion thread...
og:url: https://daily.dev/posts/rfc-function-autoloading-mark-5--vdmp82sva
og:image: https://api.daily.dev/og/posts/vdmp82SVa.png
og:image:alt: [RFC] Function Autoloading (mark 5)
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# [RFC] Function Autoloading (mark 5)

**[externals.io](https://daily.dev/sources/externals)** · 19 min read · 0 upvotes · 0 comments

## Summary

Paul M. Jones has submitted a 5th RFC attempt to add function autoloading to PHP, with an accompanying pull request against php-src. The discussion thread covers key design challenges: the function autoloader fires only after name resolution has already occurred and the global fallback is exhausted, meaning the original namespaced name is unavailable to the autoloader. Contributors debate whether a second autoloader call with the global name would reduce edge cases, and whether a declare() directive (e.g., strict_namespace or function_const_ns) should be introduced to control how unqualified function names are resolved, avoiding silent fallback to the global namespace. Concerns are raised about the risk of accidental global namespace hijacking and unpredictable behavior depending on load order. The thread also explores potential use cases such as configurable per-namespace functions and reducing dependency injection boilerplate in tests.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://externals.io/message/131798>

## Similar posts on daily.dev

- [\[RFC\] Function Autoloading \(mark 5\)](https://daily.dev/posts/rfc-function-autoloading-mark-5--syvl0dgqp) · externals.io · 0 upvotes · 0 comments
- [\[RFC\] Function Autoloading \(mark 5\)](https://daily.dev/posts/rfc-function-autoloading-mark-5--43ipbqxro) · externals.io · 0 upvotes · 0 comments
- [\[RFC\] Function Autoloading \(mark 5\)](https://daily.dev/posts/rfc-function-autoloading-mark-5--3riach6bt) · externals.io · 0 upvotes · 0 comments
- [\[RFC\] Function Autoloading \(mark 5\)](https://daily.dev/posts/rfc-function-autoloading-mark-5--wxshmmoqu) · externals.io · 0 upvotes · 0 comments
- [\[RFC\] Function Autoloading \(mark 5\)](https://daily.dev/posts/rfc-function-autoloading-mark-5--xbqdlxojc) · externals.io · 0 upvotes · 0 comments

---

Tags: [#php](https://daily.dev/tags/php)

[View this post on daily.dev](https://daily.dev/posts/rfc-function-autoloading-mark-5--vdmp82sva)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"[RFC] Function Autoloading (mark 5)","url":"https://daily.dev/posts/rfc-function-autoloading-mark-5--vdmp82sva","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/rfc-function-autoloading-mark-5--vdmp82sva"},"datePublished":"2026-07-07T17:11:37.371Z","dateModified":"2026-07-07T17:12:08.156Z","description":"Paul M. Jones has submitted a 5th RFC attempt to add function autoloading to PHP, with an accompanying pull request against php-src. The discussion thread...","image":"https://media.daily.dev/image/upload/s--VDukGCjf--/f_auto/v1722860399/public/Placeholder%2002","thumbnailUrl":"https://media.daily.dev/image/upload/s--VDukGCjf--/f_auto/v1722860399/public/Placeholder%2002","isAccessibleForFree":true,"articleSection":"externals.io","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"externals.io","logo":"https://media.daily.dev/image/upload/s--9i0zxASK--/f_auto,q_auto/v1780213616/logos/externals?_a=BAMAMiWQ0","url":"https://daily.dev/sources/externals"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/rfc-function-autoloading-mark-5--vdmp82sva","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"php","timeRequired":"PT19M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"externals.io","item":"https://daily.dev/sources/externals"},{"@type":"ListItem","position":3,"name":"[RFC] Function Autoloading (mark 5)"}]}
```

