File indexing completed on 2024-05-19 15:23:14

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