What's the page-ID you mentioned in the previous post?
The page-ID is an abstract intermediary between the requested URL and the storage. It decouples the requested URL from a storage place.
Prior to that it was hard to tell where a URL ended and where the storage (usually a file-path) started in the source-code. Because they look so similar they were easily intermingled.
Repository\Page is a "table" which holds
Model\Page "rows". Those rows are uniquely identified by page-ID "id-fields". The incoming request is transformed by the Phile-core into a well formed page-ID which then is retrieved from the "table" storage.
The page-ID maps a tree like "pages in folders" structure:
<empty string>as in
""→ root folder1
fooin root folder
A page-ID has:
- no leading slash
- no trailing slash on "files"
- trailing slash on "directories"
Note: At the moment there's only one "page-provider": the flat-file-system.2. In it a "folder" page-ID is translated to "folder/index". So for a page-ID
sub/ a file
sub/index.md is actually read.
PS: Additional read for context: