<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://icontemp.com/wiki/phpprimer/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://icontemp.com/wiki/phpprimer/feed.php">
        <title>PHP Primer for the AI Era - mental_model</title>
        <description>A PHP Guide for Humans</description>
        <link>https://icontemp.com/wiki/phpprimer/</link>
        <image rdf:resource="https://icontemp.com/wiki/phpprimer/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-08-08T08:14:50+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:classes_and_autoloading&amp;rev=1775431877&amp;do=diff"/>
                <rdf:li rdf:resource="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:error_handling&amp;rev=1775431839&amp;do=diff"/>
                <rdf:li rdf:resource="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:execution_flow&amp;rev=1775432056&amp;do=diff"/>
                <rdf:li rdf:resource="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:functions_and_closures&amp;rev=1775431915&amp;do=diff"/>
                <rdf:li rdf:resource="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:overview&amp;rev=1775432102&amp;do=diff"/>
                <rdf:li rdf:resource="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:putting_it_all_together&amp;rev=1775431787&amp;do=diff"/>
                <rdf:li rdf:resource="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:request_lifecycle&amp;rev=1775432003&amp;do=diff"/>
                <rdf:li rdf:resource="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:scope_and_lifetime&amp;rev=1775431971&amp;do=diff"/>
                <rdf:li rdf:resource="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:start&amp;rev=1775242058&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://icontemp.com/wiki/phpprimer/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>PHP Primer for the AI Era</title>
        <link>https://icontemp.com/wiki/phpprimer/</link>
        <url>https://icontemp.com/wiki/phpprimer/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:classes_and_autoloading&amp;rev=1775431877&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-05T23:31:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>6. Classes &amp; Autoloading — How Modern PHP Organizes Code</title>
        <link>https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:classes_and_autoloading&amp;rev=1775431877&amp;do=diff</link>
        <description>6. Classes &amp; Autoloading — How Modern PHP Organizes Code

Why this matters

Modern PHP relies on:

	* classes, namespaces, autoloading, predictable file structure

AI often generates code that looks object‑oriented but violates these conventions.</description>
    </item>
    <item rdf:about="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:error_handling&amp;rev=1775431839&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-05T23:30:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>7. Error Handling — Exceptions, Types, and Failure Modes</title>
        <link>https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:error_handling&amp;rev=1775431839&amp;do=diff</link>
        <description>7. Error Handling — Exceptions, Types, and Failure Modes

Why this matters

Error handling is where PHP reveals its maturity.

Modern PHP expects:

	* typed arguments 
rejecting invalid input early
	* typed returns 
guaranteeing what comes back
	*</description>
    </item>
    <item rdf:about="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:execution_flow&amp;rev=1775432056&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-05T23:34:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>2. Execution Flow — How PHP Processes a File</title>
        <link>https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:execution_flow&amp;rev=1775432056&amp;do=diff</link>
        <description>2. Execution Flow — How PHP Processes a File

Why execution flow matters

When you review AI‑generated PHP, one of the fastest ways to spot problems is to understand how PHP actually runs a file.

PHP is not a long‑running application.

It does not preload your code.</description>
    </item>
    <item rdf:about="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:functions_and_closures&amp;rev=1775431915&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-05T23:31:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>5. Functions &amp; Closures — How PHP Captures Context</title>
        <link>https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:functions_and_closures&amp;rev=1775431915&amp;do=diff</link>
        <description>5. Functions &amp; Closures — How PHP Captures Context

Why this matters

Functions are where PHP does most of its thinking.

Closures are where PHP borrows context — but only when you explicitly allow it.

AI often generates code that assumes JavaScript‑style automatic capture or Python‑style scoping.</description>
    </item>
    <item rdf:about="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:overview&amp;rev=1775432102&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-05T23:35:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>1. Understanding how PHP &quot;thinks&quot;: Overview</title>
        <link>https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:overview&amp;rev=1775432102&amp;do=diff</link>
        <description>1. Understanding how PHP &quot;thinks&quot;: Overview

Before you can evaluate AI‑generated PHP, 
you need a clear sense of 
how PHP behaves at runtime.

Not the syntax.

Not the functions.

but the model.

PHP is simple on the surface, but its execution model shapes everything:</description>
    </item>
    <item rdf:about="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:putting_it_all_together&amp;rev=1775431787&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-05T23:29:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>8. Putting It All Together — How PHP Actually Thinks</title>
        <link>https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:putting_it_all_together&amp;rev=1775431787&amp;do=diff</link>
        <description>8. Putting It All Together — How PHP Actually Thinks

Why this matters

You’ve seen the pieces so far:

	* execution flow 
how PHP processes a file from top to bottom
	* request lifecycle 
the short‑lived world PHP creates for each request
	* scope and lifetime</description>
    </item>
    <item rdf:about="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:request_lifecycle&amp;rev=1775432003&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-05T23:33:23+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>3. Request Lifecycle — What Happens During a Request</title>
        <link>https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:request_lifecycle&amp;rev=1775432003&amp;do=diff</link>
        <description>3. Request Lifecycle — What Happens During a Request

Why the request lifecycle matters

To understand PHP, you must understand its rhythm.

Every PHP script lives inside a request, and that request defines:

	* when code starts
	* when it stops
	*</description>
    </item>
    <item rdf:about="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:scope_and_lifetime&amp;rev=1775431971&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-05T23:32:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>4. Scope &amp; Lifetime — Where Variables Live</title>
        <link>https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:scope_and_lifetime&amp;rev=1775431971&amp;do=diff</link>
        <description>4. Scope &amp; Lifetime — Where Variables Live

Why scope matters

Scope is one of PHP’s simplest ideas 
— and one of its most misunderstood.

AI often generates code that assumes JavaScript‑style closures or Python‑style global state.

PHP is much simpler:</description>
    </item>
    <item rdf:about="https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:start&amp;rev=1775242058&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-03T18:47:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>The PHP Mental Model</title>
        <link>https://icontemp.com/wiki/phpprimer/doku.php?id=mental_model:start&amp;rev=1775242058&amp;do=diff</link>
        <description>The PHP Mental Model

The deeper ideas behind modern PHP — how the language thinks, and how to reason 
about its behavior. These pages explore the mental models that guide clear, 
predictable architecture.

Please sort A-Z for intended reading sequence.</description>
    </item>
</rdf:RDF>
