Warning, file /frameworks/syntax-highlighting/autotests/html/highlight.php.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>highlight.php</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (PHP (HTML)) - Theme (Breeze Light)"/>
0006 </head><body style="background-color:#ffffff;color:#1f1c1b"><pre>
0007 <span style="font-weight:bold;">&lt;?</span>
0008 <span style="color:#898887;">/* This is a pseudo PHP file to test Kate's PHP syntax highlighting. */</span>
0009 <span style="color:#898887;"># </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">TODO</span><span style="color:#898887;">: this is incomplete, add more syntax examples!</span>
0010 <span style="color:#898887;"># this is also a comment.</span>
0011 <span style="color:#898887;">// Even this is a comment</span>
0012 <span style="color:#898887;">/** </span><span style="color:#ca60ca;font-weight:bold;">\brief</span><span style="color:#898887;"> doxygen comment</span>
0013 <span style="color:#898887;">*/</span> <span style="color:#898887;">/*normal comment*/</span>
0014 <span style="color:#898887;">// comment </span><span style="font-weight:bold;">?&gt;</span> normal text <span style="font-weight:bold;">&lt;?php</span>
0015 <span style="font-weight:bold;">function</span> test(<span style="color:#0057ae;">$varname</span>) {
0016     <span style="font-weight:bold;">return</span> <span style="color:#bf0303;">&quot;bla&quot;</span><span style="color:#006e28;">;</span>  <span style="color:#898887;"># this is also a comment</span>
0017 }
0018 <span style="font-weight:bold;">?&gt;</span>
0019 
0020 <span style="font-weight:bold;">&lt;?php</span> <span style="font-weight:bold;">echo</span>(<span style="color:#bf0303;">&quot;hello test&quot;</span>)<span style="color:#006e28;">;</span> <span style="font-weight:bold;">?&gt;</span>
0021 
0022 <span style="font-weight:bold;">&lt;html&gt;</span>
0023     <span style="font-weight:bold;">&lt;?</span> <span style="font-weight:bold;">print</span> <span style="color:#bf0303;">&quot;&lt;title&gt;test&lt;/title&gt;&quot;</span><span style="color:#006e28;">;</span> <span style="font-weight:bold;">?&gt;</span>
0024 
0025     <span style="color:#898887;">&lt;!-- CSS --&gt;</span>
0026     <span style="font-weight:bold;">&lt;style&gt;</span>
0027         <span style="color:#644a9b;">.inputText</span> {
0028             <span style="font-weight:bold;">width</span>: <span style="font-weight:bold;">&lt;?php</span> <span style="font-weight:bold;">echo</span> <span style="color:#0057ae;">$width</span><span style="color:#006e28;">;</span> <span style="font-weight:bold;">?&gt;</span>px<span style="color:#ca60ca;">;</span>
0029             <span style="font-weight:bold;">text-indent</span>: <span style="color:#b08000;">10</span><span style="color:#0057ae;">px</span><span style="color:#ca60ca;">;</span>
0030         }
0031     <span style="font-weight:bold;">&lt;/style&gt;</span>
0032 
0033     <span style="color:#898887;">&lt;!-- JavaScript --&gt;</span>
0034     <span style="font-weight:bold;">&lt;script&gt;</span>
0035         <span style="font-weight:bold;">var</span> some_js_var <span style="color:#ca60ca;">=</span> <span style="font-weight:bold;">&lt;?php</span> <span style="font-weight:bold;">echo</span> <span style="color:#0057ae;">$somevar</span><span style="color:#006e28;">;</span> <span style="font-weight:bold;">?&gt;</span> <span style="color:#ca60ca;">;</span>
0036         <span style="font-weight:bold;">&lt;?php</span> <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">'alert(&quot;Hello there.&quot;);'</span><span style="color:#006e28;">;</span> <span style="font-weight:bold;">?&gt;</span>
0037     <span style="font-weight:bold;">&lt;/script&gt;</span>
0038     <span style="color:#898887;">&lt;!-- JavaScript React --&gt;</span>
0039     <span style="font-weight:bold;">&lt;script</span><span style="color:#006e28;"> type=</span><span style="color:#bf0303;">&quot;text/babel&quot;</span><span style="font-weight:bold;">&gt;</span>
0040         <span style="color:#644a9b;font-weight:bold;">&lt;Hello&gt;</span> <span style="font-weight:bold;">&lt;?php</span> <span style="font-weight:bold;">echo</span>(<span style="color:#bf0303;">&quot;Hello, hello!&quot;</span>)<span style="color:#006e28;">;</span> <span style="font-weight:bold;">?&gt;</span> <span style="color:#644a9b;font-weight:bold;">&lt;/Hello&gt;</span> <span style="font-weight:bold;">&lt;?php</span> <span style="color:#898887;">/* aaa */</span> <span style="font-weight:bold;">?&gt;</span> <span style="font-weight:bold;">&lt;div&gt;&lt;/div&gt;</span>
0041         <span style="font-weight:bold;">function</span> <span style="color:#644a9b;">a</span>(i) {
0042             <span style="font-weight:bold;">&lt;?php</span> <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot;var j = 1;&quot;</span><span style="color:#006e28;">;</span> <span style="font-weight:bold;">?&gt;</span>
0043             <span style="font-weight:bold;">return </span><span style="font-weight:bold;">&lt;p&gt;</span><span style="color:#0057ae;">{</span> i <span style="color:#ca60ca;">+</span> j <span style="color:#0057ae;">}</span><span style="font-weight:bold;">&lt;/p&gt;</span><span style="color:#ca60ca;">;</span>
0044         }
0045     <span style="font-weight:bold;">&lt;/script&gt;</span>
0046     <span style="color:#898887;">&lt;!-- TypeScript --&gt;</span>
0047     <span style="font-weight:bold;">&lt;script</span><span style="color:#006e28;"> type=</span><span style="color:#bf0303;">&quot;text/typescript&quot;</span><span style="font-weight:bold;">&gt;</span>
0048         <span style="font-weight:bold;">&lt;?php</span> <span style="color:#0057ae;">$timestamp</span> <span style="color:#ca60ca;">=</span> <span style="color:#644a9b;">time</span>()<span style="color:#006e28;">;</span> <span style="font-weight:bold;">?&gt;</span>
0049         <span style="font-weight:bold;font-style:italic;">class</span> DateTime {
0050             info<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">string</span><span style="color:#ca60ca;">;</span>
0051             <span style="font-weight:bold;font-style:italic;">constructor</span>() { <span style="font-weight:bold;">this</span><span style="color:#ca60ca;">.</span><span style="color:#0057ae;">info</span> <span style="color:#ca60ca;">=</span> <span style="font-weight:bold;">&lt;?php</span> <span style="font-weight:bold;">echo</span>(<span style="color:#644a9b;">date</span>(<span style="color:#bf0303;">&quot;F d, Y h:i:s&quot;</span><span style="color:#006e28;">,</span> <span style="color:#0057ae;">$timestamp</span>))<span style="color:#006e28;">;</span> <span style="font-weight:bold;">?&gt;</span><span style="color:#ca60ca;">;</span> }
0052             <span style="font-weight:bold;">get</span>() { <span style="font-weight:bold;">return</span> <span style="font-weight:bold;">this</span><span style="color:#ca60ca;">.</span><span style="color:#0057ae;">info</span><span style="color:#ca60ca;">;</span> }
0053         }
0054     <span style="font-weight:bold;">&lt;/script&gt;</span>
0055     <span style="color:#898887;">&lt;!-- MustacheJS --&gt;</span>
0056     <span style="font-weight:bold;">&lt;script</span><span style="color:#006e28;"> type=</span><span style="color:#bf0303;">&quot;x-tmpl-mustache&quot;</span><span style="font-weight:bold;">&gt;</span>
0057         <span style="color:#898887;">{{! </span><span style="font-weight:bold;">&lt;?php</span> <span style="font-weight:bold;">print</span> <span style="color:#bf0303;">&quot;comment&quot;</span><span style="color:#006e28;">;</span> <span style="font-weight:bold;">?&gt;</span><span style="color:#898887;"> }}</span>
0058         <span style="color:#644a9b;font-weight:bold;">{{#movie}}</span>
0059             <span style="font-weight:bold;">&lt;div&gt;</span>
0060                 <span style="font-weight:bold;">&lt;h1&gt;</span><span style="color:#0057ae;">{{</span>title<span style="color:#0057ae;">}}</span><span style="font-weight:bold;">&lt;/h1&gt;</span>
0061                 <span style="font-weight:bold;">&lt;img</span><span style="color:#006e28;"> src</span><span style="color:#ca60ca;">=</span><span style="color:#bf0303;">&quot;</span><span style="color:#0057ae;">{{</span>poster<span style="color:#0057ae;">}}</span><span style="color:#bf0303;">&quot;</span><span style="color:#006e28;"> alt</span><span style="color:#ca60ca;">=</span><span style="color:#bf0303;">&quot;</span><span style="color:#0057ae;">{{</span>title<span style="color:#0057ae;">}}</span><span style="color:#bf0303;">&quot;</span><span style="font-weight:bold;">/&gt;</span>
0062                 <span style="font-weight:bold;">&lt;?php</span> <span style="font-weight:bold;">echo</span> <span style="color:#0057ae;">$movierating</span><span style="color:#006e28;">;</span> <span style="font-weight:bold;">?&gt;</span> - <span style="color:#0057ae;">{{</span>ratings<span style="color:#ca60ca;">.</span>critics_rating<span style="color:#0057ae;">}}</span>
0063             <span style="font-weight:bold;">&lt;/div&gt;</span>
0064         <span style="color:#644a9b;font-weight:bold;">{{/movie}}</span>
0065     <span style="font-weight:bold;">&lt;/script&gt;</span>
0066 
0067 <span style="font-weight:bold;">&lt;/html&gt;</span>
0068 
0069 <span style="font-weight:bold;">&lt;?php</span>
0070 <span style="color:#0057ae;">$var</span> <span style="color:#ca60ca;">=</span> <span style="color:#ff5500;">&lt;&lt;&lt;DOOH</span>
0071 <span style="color:#bf0303;">This is the </span><span style="color:#0057ae;">$string</span><span style="color:#bf0303;"> inside the variable (which seems to be rendered as a string)</span>
0072 <span style="color:#bf0303;">It works well, I think.</span>
0073 <span style="color:#ff5500;">DOOH</span>
0074 
0075 <span style="color:#898887;"># bug 382527</span>
0076 <span style="font-weight:bold;">throw</span> <span style="font-weight:bold;">new</span> ParserException(<span style="color:#bf0303;">&quot;Test </span>{<span style="color:#0057ae;">$this</span>-&gt;some_var[<span style="color:#0057ae;">$index</span>]}<span style="color:#3daee9;">\n</span><span style="color:#bf0303;">in </span>{<span style="color:#0057ae;">$this</span>-&gt;<span style="color:#644a9b;">file</span>}<span style="color:#bf0303;"> is missing.</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">This is bad.&quot;</span>)<span style="color:#006e28;">;</span>
0077 
0078 <span style="color:#0057ae;">$arr</span> <span style="color:#ca60ca;">=</span> <span style="color:#0057ae;">array</span>()<span style="color:#006e28;">;</span>
0079 <span style="font-weight:bold;">foreach</span>(<span style="color:#0057ae;">$arr</span> <span style="font-weight:bold;">as</span> <span style="color:#0057ae;">$i</span> =&gt; <span style="color:#0057ae;">$v</span>)<span style="color:#006e28;">:</span>
0080     <span style="font-weight:bold;">echo</span>(<span style="color:#0057ae;">$i</span>)<span style="color:#006e28;">;</span>
0081 <span style="font-weight:bold;">endforeach</span>
0082 
0083 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span><span style="color:#bf0303;"> </span>{<span style="color:#0057ae;">$var</span>}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0084 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span>[<span style="color:#b08000;">1</span>]<span style="color:#bf0303;"> </span>{<span style="color:#0057ae;">$var</span>[<span style="color:#b08000;">1</span>]}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>[<span style="color:#b08000;">1</span>]}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0085 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span>[<span style="color:#ca60ca;">-</span><span style="color:#b08000;">1</span>]<span style="color:#bf0303;"> </span>{<span style="color:#0057ae;">$var</span>[<span style="color:#ca60ca;">-</span><span style="color:#b08000;">1</span>]}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>[<span style="color:#ca60ca;">-</span><span style="color:#b08000;">1</span>]}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0086 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span>[<span style="color:#bf0303;">i</span>]<span style="color:#bf0303;"> </span>{<span style="color:#0057ae;">$var</span>[i]}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>[i]}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0087 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span>[<span style="color:#ca60ca;">-</span><span style="color:#bf0303;">i</span>]<span style="color:#bf0303;"> </span>{<span style="color:#0057ae;">$var</span>[<span style="color:#ca60ca;">-</span>i]}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>[<span style="color:#ca60ca;">-</span>i]}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0088 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span>[<span style="color:#0057ae;">$i</span>]<span style="color:#bf0303;"> </span>{<span style="color:#0057ae;">$var</span>[<span style="color:#0057ae;">$i</span>]}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>[<span style="color:#0057ae;">$i</span>]}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0089 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span>[<span style="color:#ca60ca;">-</span><span style="color:#0057ae;">$i</span>]<span style="color:#bf0303;"> </span>{<span style="color:#0057ae;">$var</span>[<span style="color:#ca60ca;">-</span><span style="color:#0057ae;">$i</span>]}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>[<span style="color:#ca60ca;">-</span><span style="color:#0057ae;">$i</span>]}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0090 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span>[<span style="color:#bf0303;text-decoration:underline;">$</span><span style="color:#0057ae;">$i</span><span style="color:#bf0303;">] </span>{<span style="color:#0057ae;">$var</span>[<span style="color:#0057ae;">$$i</span>]}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>[<span style="color:#0057ae;">$$i</span>]}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0091 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span>[<span style="color:#0057ae;">$x</span><span style="color:#bf0303;text-decoration:underline;">-</span><span style="color:#bf0303;">&gt;i] </span>{<span style="color:#0057ae;">$var</span>[<span style="color:#0057ae;">$x</span>-&gt;i]}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>[<span style="color:#0057ae;">$x</span>-&gt;i]}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0092 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span>[<span style="color:#0057ae;">$x</span><span style="color:#bf0303;text-decoration:underline;">-</span><span style="color:#bf0303;">&gt;</span><span style="color:#0057ae;">$i</span><span style="color:#bf0303;">] </span>{<span style="color:#0057ae;">$var</span>[<span style="color:#0057ae;">$x</span>-&gt;<span style="color:#0057ae;">$i</span>]}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>[<span style="color:#0057ae;">$x</span>-&gt;<span style="color:#0057ae;">$i</span>]}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0093 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; $</span><span style="color:#0057ae;">$var</span><span style="color:#bf0303;"> </span>{<span style="color:#0057ae;">$$var</span>}<span style="color:#bf0303;"> $</span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0094 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; $</span><span style="color:#0057ae;">$var</span>[<span style="color:#b08000;">1</span>]<span style="color:#bf0303;"> </span>{<span style="color:#0057ae;">$$var</span>[<span style="color:#b08000;">1</span>]}<span style="color:#bf0303;"> $</span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>[<span style="color:#b08000;">1</span>]}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0095 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; $</span><span style="color:#0057ae;">$var</span>[<span style="color:#0057ae;">$i</span>]<span style="color:#bf0303;"> </span>{<span style="color:#0057ae;">$$var</span>[<span style="color:#0057ae;">$i</span>]}<span style="color:#bf0303;"> $</span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>[<span style="color:#0057ae;">$i</span>]}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0096 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span>[<span style="color:#0057ae;">$i</span>]<span style="color:#bf0303;"> </span>{<span style="color:#0057ae;">$var</span>[<span style="color:#0057ae;">$i</span>]}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>[<span style="color:#0057ae;">$i</span>]}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0097 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span>[<span style="color:#b08000;">1</span><span style="color:#bf0303;text-decoration:underline;">+</span><span style="color:#bf0303;">1] </span>{<span style="color:#0057ae;">$var</span>[<span style="color:#b08000;">1</span><span style="color:#ca60ca;">+</span><span style="color:#b08000;">1</span>]}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>[<span style="color:#b08000;">1</span><span style="color:#ca60ca;">+</span><span style="color:#b08000;">1</span>]}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0098 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span>-&gt;mem<span style="color:#bf0303;"> </span>{<span style="color:#0057ae;">$var</span>-&gt;mem}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>-&gt;mem}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0099 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span><span style="color:#bf0303;">-&gt;3 </span>{<span style="color:#0057ae;">$var</span>-&gt;<span style="color:#b08000;">3</span>}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>-&gt;<span style="color:#b08000;">3</span>}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0100 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span><span style="color:#bf0303;">-&gt; </span>{<span style="color:#0057ae;">$var</span>-&gt;}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>-&gt;}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0101 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$var</span><span style="color:#bf0303;">-&gt;</span><span style="color:#0057ae;">$mem</span><span style="color:#bf0303;"> </span>{<span style="color:#0057ae;">$var</span>-&gt;<span style="color:#0057ae;">$mem</span>}<span style="color:#bf0303;"> </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">var</span>-&gt;<span style="color:#0057ae;">$mem</span>}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0102 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot; </span><span style="color:#0057ae;">$</span>{<span style="color:#0057ae;">$x</span>-&gt;{<span style="color:#bf0303;">'mem'</span>}}<span style="color:#bf0303;"> &quot;</span><span style="color:#006e28;">;</span>
0103 <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">&quot;</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;"> </span><span style="color:#3daee9;">\t</span><span style="color:#bf0303;"> </span><span style="color:#3daee9;">\\</span><span style="color:#bf0303;"> </span><span style="color:#3daee9;">\xff</span><span style="color:#bf0303;"> \x&quot;</span><span style="color:#006e28;">;</span>
0104 
0105 <span style="font-weight:bold;">echo</span> <span style="color:#ff5500;">&lt;&lt;&lt;HTML</span>
0106 <span style="font-weight:bold;">&lt;p&gt;</span>bla <span style="color:#0057ae;">$var</span> \<span style="color:#0057ae;">$var</span> bla\'<span style="font-weight:bold;">&lt;/p&gt;</span>
0107 <span style="color:#ff5500;">HTML</span>;
0108 <span style="font-weight:bold;">echo</span> <span style="color:#ff5500;">&lt;&lt;&lt;&quot;HTML&quot;</span>
0109 <span style="font-weight:bold;">&lt;p&gt;</span>bla <span style="color:#0057ae;">$var</span> \<span style="color:#0057ae;">$var</span> bla\'<span style="font-weight:bold;">&lt;/p&gt;</span>
0110 <span style="color:#ff5500;">HTML</span>;
0111 <span style="font-weight:bold;">echo</span> <span style="color:#e31616;">&lt;&lt;&lt;'HTML'</span>
0112 <span style="font-weight:bold;">&lt;p&gt;</span>bla $var \$var bla\'<span style="font-weight:bold;">&lt;/p&gt;</span>
0113 <span style="color:#e31616;">HTML</span>;
0114 <span style="font-weight:bold;">echo</span> <span style="color:#ff5500;">&lt;&lt;&lt;DOC</span>
0115 <span style="color:#bf0303;">&lt;p&gt;bla </span><span style="color:#0057ae;">$var</span><span style="color:#bf0303;"> \</span><span style="color:#0057ae;">$var</span><span style="color:#bf0303;"> bla\'&lt;/p&gt;</span>
0116 <span style="color:#ff5500;">DOC</span>;
0117 <span style="font-weight:bold;">echo</span> <span style="color:#ff5500;">&lt;&lt;&lt;DOC</span>
0118 <span style="color:#bf0303;">       &lt;p&gt;bla </span><span style="color:#0057ae;">$var</span><span style="color:#bf0303;"> \</span><span style="color:#0057ae;">$var</span><span style="color:#bf0303;"> bla\'&lt;/p&gt;</span>
0119 <span style="color:#ff5500;">   DOC</span>;
0120 <span style="font-weight:bold;">echo</span> <span style="color:#ff5500;">&lt;&lt;&lt;DOC</span>
0121 <span style="color:#bf0303;">    &lt;p&gt;bla </span><span style="color:#0057ae;">$var</span><span style="color:#bf0303;"> \</span><span style="color:#0057ae;">$var</span><span style="color:#bf0303;"> bla\'&lt;/p&gt;</span>
0122 <span style="color:#ff5500;">  DOC</span>;
0123 
0124 <span style="font-weight:bold;">echo</span> <span style="color:#b08000;">123456</span> <span style="color:#b08000;">1_2_34_5</span> <span style="color:#bf0303;text-decoration:underline;">1</span>__2 <span style="color:#bf0303;text-decoration:underline;">1</span>_<span style="color:#006e28;">;</span>
0125 <span style="font-weight:bold;">echo</span> <span style="color:#b08000;">0x12345af</span> <span style="color:#b08000;">0x1_2_3_45_a_f</span> <span style="color:#bf0303;text-decoration:underline;">0</span>x1__2 <span style="color:#bf0303;text-decoration:underline;">0</span>x_1 <span style="color:#bf0303;text-decoration:underline;">0</span>x1_ <span style="color:#bf0303;text-decoration:underline;">0</span>x1g <span style="color:#bf0303;text-decoration:underline;">0</span>xg<span style="color:#006e28;">;</span>
0126 <span style="font-weight:bold;">echo</span> <span style="color:#b08000;">0b1011</span> <span style="color:#b08000;">0b1_01_1</span> <span style="color:#bf0303;text-decoration:underline;">0</span>b1__0 <span style="color:#bf0303;text-decoration:underline;">0</span>b_1 <span style="color:#bf0303;text-decoration:underline;">0</span>b1_ <span style="color:#bf0303;text-decoration:underline;">0</span>b12 <span style="color:#bf0303;text-decoration:underline;">0</span>b2<span style="color:#006e28;">;</span>
0127 <span style="font-weight:bold;">echo</span> <span style="color:#b08000;">01234</span> <span style="color:#b08000;">01_23_4</span> <span style="color:#b08000;">0_1</span> <span style="color:#bf0303;text-decoration:underline;">0</span>__1 <span style="color:#bf0303;text-decoration:underline;">01</span>_ <span style="color:#bf0303;text-decoration:underline;">018</span> <span style="color:#bf0303;text-decoration:underline;">08</span><span style="color:#006e28;">;</span>
0128 <span style="font-weight:bold;">echo</span> <span style="color:#b08000;">0o1234</span> <span style="color:#b08000;">0O1_23_4</span> <span style="color:#bf0303;text-decoration:underline;">0</span>o1_1_ <span style="color:#bf0303;text-decoration:underline;">0</span>o1__1 <span style="color:#bf0303;text-decoration:underline;">0</span>o_1<span style="color:#006e28;">;</span>
0129 <span style="font-weight:bold;">echo</span> <span style="color:#b08000;">123.</span> <span style="color:#b08000;">.45</span> <span style="color:#b08000;">123.45</span> <span style="color:#b08000;">1_23.4_5e1_2</span><span style="color:#006e28;">;</span>
0130 <span style="font-weight:bold;">echo</span> <span style="color:#b08000;">123.e1</span> <span style="color:#b08000;">.45e1</span> <span style="color:#b08000;">123.45e1</span><span style="color:#006e28;">;</span>
0131 <span style="font-weight:bold;">echo</span> <span style="color:#b08000;">123.e+1</span> <span style="color:#b08000;">.45e+1</span> <span style="color:#b08000;">123.45e+1</span><span style="color:#006e28;">;</span>
0132 <span style="font-weight:bold;">echo</span> <span style="color:#b08000;">123.</span>e<span style="color:#ca60ca;">++</span><span style="color:#b08000;">1</span> <span style="color:#ca60ca;">.</span>_45e<span style="color:#ca60ca;">+</span><span style="color:#b08000;">1</span> <span style="color:#b08000;">123.</span>_45e<span style="color:#ca60ca;">+</span><span style="color:#b08000;">1</span><span style="color:#006e28;">;</span> <span style="color:#898887;">// bad float</span>
0133 
0134 <span style="font-weight:bold;">echo</span> <span style="color:#b08000;">123.</span><span style="color:#ca60ca;">.</span><span style="color:#b08000;">.45</span><span style="color:#006e28;">;</span>
0135 <span style="font-weight:bold;">echo</span> add(...[<span style="color:#b08000;">1</span><span style="color:#006e28;">,</span> <span style="color:#b08000;">2</span>])<span style="color:#ca60ca;">.</span><span style="color:#bf0303;">&quot;</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">&quot;</span><span style="color:#006e28;">;</span>
0136 
0137 <span style="font-weight:bold;">function</span> gen_three_nulls() {
0138     <span style="font-weight:bold;">foreach</span> (<span style="color:#644a9b;">range</span>(<span style="color:#b08000;">1</span><span style="color:#006e28;">,</span> <span style="color:#b08000;">3</span>) <span style="font-weight:bold;">as</span> <span style="color:#0057ae;">$i</span>) {
0139         <span style="font-weight:bold;">yield</span><span style="color:#006e28;">;</span>
0140     }
0141 }
0142 
0143 <span style="font-weight:bold;">function</span> <span style="color:#ca60ca;">&amp;</span>gen_reference() {
0144     <span style="color:#0057ae;">$value</span> <span style="color:#ca60ca;">=</span> <span style="color:#b08000;">3</span><span style="color:#006e28;">;</span>
0145 
0146     <span style="font-weight:bold;">while</span> (<span style="color:#0057ae;">$value</span> <span style="color:#ca60ca;">&gt;</span> <span style="color:#b08000;">0</span>) {
0147         <span style="font-weight:bold;">yield</span> <span style="color:#0057ae;">$value</span><span style="color:#006e28;">;</span>
0148     }
0149 }
0150 
0151 <span style="font-weight:bold;">function</span> gen() {
0152     <span style="font-weight:bold;">yield</span> <span style="color:#b08000;">0</span><span style="color:#006e28;">;</span> <span style="color:#898887;">// key 0</span>
0153     <span style="font-weight:bold;">yield</span> <span style="font-weight:bold;">from</span> inner()<span style="color:#006e28;">;</span> <span style="color:#898887;">// keys 0-2</span>
0154     <span style="font-weight:bold;">yield</span> <span style="color:#b08000;">4</span><span style="color:#006e28;">;</span> <span style="color:#898887;">// key 1</span>
0155 }
0156 
0157 <span style="font-weight:bold;">switch</span> (<span style="color:#b08000;">1</span>) {
0158     <span style="font-weight:bold;">case</span> <span style="color:#b08000;">1</span><span style="color:#006e28;">:</span> <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">'plop'</span><span style="color:#006e28;">;</span>
0159     <span style="font-weight:bold;">case</span> <span style="color:#b08000;">1</span><span style="color:#006e28;">;</span> <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">'plop'</span><span style="color:#006e28;">;</span>
0160     <span style="font-weight:bold;">default</span><span style="color:#006e28;">:</span> <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">'plop'</span><span style="color:#006e28;">;</span>
0161     <span style="font-weight:bold;">default</span> <span style="color:#006e28;">:</span> <span style="font-weight:bold;">echo</span> <span style="color:#bf0303;">'plop'</span><span style="color:#006e28;">;</span>
0162 }
0163 
0164 <span style="font-weight:bold;">class</span> User
0165 {
0166     <span style="font-weight:bold;">public</span> <span style="color:#0057ae;">int</span> <span style="color:#0057ae;">$id</span><span style="color:#006e28;">;</span>
0167     <span style="font-weight:bold;">public</span> <span style="color:#006e28;">?</span><span style="color:#0057ae;">string</span> <span style="color:#0057ae;">$name</span><span style="color:#006e28;">;</span>
0168 
0169     <span style="font-weight:bold;">public</span> <span style="font-weight:bold;">function</span> <span style="color:#644a9b;font-weight:bold;">__construct</span>(<span style="color:#0057ae;">int</span> <span style="color:#0057ae;">$id</span><span style="color:#006e28;">,</span> <span style="color:#006e28;">?</span><span style="color:#0057ae;">string</span> <span style="color:#0057ae;">$name</span>)  <span style="color:#006e28;">:</span> <span style="color:#0057ae;">void</span>
0170     {
0171         <span style="color:#0057ae;font-weight:bold;">$this</span>-&gt;id <span style="color:#ca60ca;">=</span> <span style="color:#0057ae;">$id</span><span style="color:#006e28;">;</span>
0172         <span style="color:#0057ae;font-weight:bold;">$this</span>-&gt;name <span style="color:#ca60ca;">=</span> <span style="color:#0057ae;">$name</span><span style="color:#006e28;">;</span>
0173     }
0174 }
0175 
0176 <span style="font-weight:bold;">class</span> MyClass {
0177     <span style="font-weight:bold;">const</span> <span style="color:#aa5500;">CONST_VALUE</span> <span style="color:#ca60ca;">=</span> <span style="color:#bf0303;">'A constant value'</span><span style="color:#006e28;">;</span>
0178 }
0179 
0180 <span style="font-weight:bold;">class</span> OtherClass <span style="font-weight:bold;">extends</span> MyClass
0181 {
0182     <span style="font-weight:bold;">public</span> <span style="font-weight:bold;">static</span> <span style="color:#0057ae;">$my_static</span> <span style="color:#ca60ca;">=</span> <span style="color:#bf0303;">'static var'</span><span style="color:#006e28;">;</span>
0183 
0184     <span style="font-weight:bold;">public</span> <span style="font-weight:bold;">static</span> <span style="font-weight:bold;">function</span> doubleColon() {
0185         <span style="font-weight:bold;">echo</span> <span style="font-weight:bold;">parent</span>::<span style="color:#aa5500;">CONST_VALUE</span> <span style="color:#ca60ca;">.</span> <span style="color:#bf0303;">&quot;</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">&quot;</span><span style="color:#006e28;">;</span>
0186         <span style="font-weight:bold;">echo</span> <span style="font-weight:bold;">self</span>::<span style="color:#0057ae;">$my_static</span> <span style="color:#ca60ca;">.</span> <span style="color:#bf0303;">&quot;</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">&quot;</span><span style="color:#006e28;">;</span>
0187     }
0188 }
0189 
0190 <span style="color:#0057ae;">$classname</span> <span style="color:#ca60ca;">=</span> <span style="color:#bf0303;">'MyClass'</span><span style="color:#006e28;">;</span>
0191 <span style="font-weight:bold;">echo</span> <span style="color:#0057ae;">$classname</span>::<span style="color:#aa5500;">CONST_VALUE</span><span style="color:#006e28;">;</span>
0192 
0193 <span style="font-weight:bold;">echo</span> MyClass::<span style="color:#aa5500;">CONST_VALUE</span><span style="color:#006e28;">;</span>
0194 
0195 <span style="color:#0057ae;">$classname</span> <span style="color:#ca60ca;">=</span> <span style="color:#bf0303;">'OtherClass'</span><span style="color:#006e28;">;</span>
0196 <span style="color:#0057ae;">$classname</span>::doubleColon()<span style="color:#006e28;">;</span>
0197 
0198 OtherClass::doubleColon()<span style="color:#006e28;">;</span>
0199 <span style="font-weight:bold;">new</span> <span style="color:#0057ae;">$classname</span>::<span style="font-weight:bold;">class</span><span style="color:#006e28;">;</span>
0200 
0201 <span style="color:#0057ae;">$user</span> <span style="color:#ca60ca;">=</span> <span style="font-weight:bold;">new</span> User(<span style="color:#b08000;">1234</span><span style="color:#006e28;">,</span> <span style="font-weight:bold;">null</span>)<span style="color:#006e28;">;</span>
0202 
0203 <span style="color:#0057ae;">$y</span> <span style="color:#ca60ca;">=</span> <span style="color:#b08000;">1</span><span style="color:#006e28;">;</span>
0204 <span style="color:#0057ae;">$fn1</span> <span style="color:#ca60ca;">=</span> <span style="font-weight:bold;">fn</span>(<span style="color:#0057ae;">$x</span>) =&gt; <span style="color:#0057ae;">$x</span> <span style="color:#ca60ca;">+</span> <span style="color:#0057ae;">$y</span><span style="color:#006e28;">;</span>
0205 <span style="color:#0057ae;">$fn2</span> <span style="color:#ca60ca;">=</span> <span style="font-weight:bold;">function</span> (<span style="color:#0057ae;">$x</span>) <span style="font-weight:bold;">use</span> (<span style="color:#0057ae;">$y</span>) {
0206     <span style="font-weight:bold;">return</span> <span style="color:#0057ae;">$x</span> <span style="color:#ca60ca;">+</span> <span style="color:#0057ae;">$y</span><span style="color:#006e28;">;</span>
0207 }<span style="color:#006e28;">;</span>
0208 
0209 <span style="color:#0057ae;">$a</span> <span style="color:#ca60ca;">=</span> [<span style="color:#b08000;">1</span><span style="color:#006e28;">,</span><span style="color:#b08000;">2</span><span style="color:#006e28;">,</span><span style="color:#b08000;">3</span><span style="color:#006e28;">,</span><span style="color:#bf0303;">'x'</span>=&gt;<span style="color:#b08000;">4</span>]<span style="color:#006e28;">;</span>
0210 <span style="color:#0057ae;">$b</span> <span style="color:#ca60ca;">=</span> <span style="color:#0057ae;">array</span>(<span style="color:#b08000;">1</span><span style="color:#006e28;">,</span><span style="color:#b08000;">2</span><span style="color:#006e28;">,</span><span style="color:#b08000;">3</span><span style="color:#006e28;">,</span><span style="color:#bf0303;">'x'</span>=&gt;<span style="color:#b08000;">4</span>)<span style="color:#006e28;">;</span>
0211 
0212 <span style="font-weight:bold;">namespace</span> <span style="color:#aa5500;">A</span>\<span style="color:#aa5500;">B</span>\<span style="color:#aa5500;">C</span><span style="color:#006e28;">;</span>
0213 <span style="font-weight:bold;">class</span> <span style="color:#644a9b;font-weight:bold;">Exception</span> <span style="font-weight:bold;">extends</span> \<span style="color:#644a9b;font-weight:bold;">Exception</span> {}
0214 
0215 <span style="color:#0057ae;">$b</span> <span style="color:#ca60ca;">=</span> <span style="font-weight:bold;">new</span> \<span style="color:#644a9b;font-weight:bold;">Exception</span>(<span style="color:#bf0303;">'hi'</span>)<span style="color:#006e28;">;</span>
0216 <span style="color:#0057ae;">$x</span> <span style="color:#ca60ca;">=</span> <span style="font-weight:bold;">new</span> <span style="color:#aa5500;">A</span>\<span style="color:#aa5500;">B</span>\Foo(<span style="color:#bf0303;">'hi'</span>)<span style="color:#006e28;">;</span>
0217 <span style="color:#0057ae;">$n</span> <span style="color:#ca60ca;">=</span> \<span style="color:#644a9b;">strlen</span>(<span style="color:#0057ae;">$str</span>) <span style="color:#ca60ca;">-</span> <span style="color:#b08000;">1</span><span style="color:#006e28;">;</span>
0218 
0219 <span style="color:#0057ae;">$r</span> <span style="color:#ca60ca;">=</span> <span style="color:#0057ae;">$x</span> <span style="color:#ca60ca;">&lt;=&gt;</span> <span style="color:#0057ae;">$y</span> <span style="color:#ca60ca;">and</span> <span style="color:#0057ae;">$z</span><span style="color:#006e28;">;</span>
0220 
0221 <span style="color:#0057ae;">#[ExampleAttribute</span>(<span style="color:#bf0303;">'Hello world'</span><span style="color:#006e28;">,</span><span style="color:#0057ae;"> </span><span style="color:#b08000;">42</span>)<span style="color:#0057ae;">]</span>
0222 <span style="font-weight:bold;">class</span> Foo {}
0223 <span style="font-weight:bold;">function</span> foo(<span style="color:#0057ae;">#[TestAttr]</span> <span style="color:#0057ae;">$bar</span>){
0224 }
0225 
0226 <span style="font-weight:bold;">enum</span> Suit {
0227     <span style="font-weight:bold;">case</span> Clubs<span style="color:#006e28;">;</span>
0228     <span style="font-weight:bold;">case</span> Diamonds<span style="color:#006e28;">;</span>
0229 }
0230 <span style="font-weight:bold;">?&gt;</span>
0231 
0232 <span style="font-weight:bold;">&lt;?php</span> <span style="font-weight:bold;">if</span> (n)<span style="color:#006e28;">:</span> <span style="font-weight:bold;">?&gt;</span>
0233 <span style="font-weight:bold;">&lt;p&gt;</span>bla ba<span style="font-weight:bold;">&lt;/p&gt;</span>
0234 <span style="font-weight:bold;">&lt;?php</span> <span style="font-weight:bold;">endif</span> <span style="font-weight:bold;">?&gt;</span>
0235 </pre></body></html>