Ben çünkü Kılavuzun bu (quoting Instruction separation bölümünde) em> varsayalım:
The closing tag of a block of PHP code
automatically implies a semicolon
This means that your code :
<?php
class Foo
{
?>
<?php
function bar() {
print "bar";
}
}
?>
: Aynı olarak mı
<?php
class Foo
{;
function bar() {
print "bar";
}
}
?>
Hangi olsun hatayı açıklıyor:
Parse error: syntax error, unexpected ';', expecting T_FUNCTION
EDIT : bu konuda biraz daha düşününce, bu sık sık benim şablonları dosyalarında bu gibi şeyler kullanmak düşünüyor, garip olduğunu düşündüm:
<?php if (...) : ?>
blah
blah
<?php endif ; ?>
So I tried this :
<?php
if (true)
{
?>
<?php
echo "Hello, World!";
}
?>
And it works perfectly fine. OK...
Now, let's try adding the ;, like ?> is supposed to do :
<?php
if (true)
{;
echo "Hello, World!";
}
?>
Bu çok iyi çalışıyor, ve ben aşağıdaki çıktıyı alıyorum:
Hello, World!
And, if changing the condition, just to be sure :
<?php
if (false)
{;
echo "Hello, World!";
}
?>
Hiçbir çıkış değil, hata verir.
Considering the sentence I quoted earlier, this is not so surprising... But, still, I'm surprised anyway ^^