Konstante ir identifikators vienkāršai vērtībai (skaitlis, teksts), kura skripta izpildes laikā nevar tikt mainīta. Konstantes ir reģistrjūtīgas un pēc labā stila lietojamas lieliem burtiem.
define("FOO", "something");
PHP skripta izpildes laikā ir pieejama čupa ar pre-definētām konstantēm. Piemēram: M_PI (3.1415926535898). Pilnu sarakstu var aplūkot šeit [1].
Izņēmums ir „maģiskās” konstantes, kuru vērtība atkarīga no vietas kur tā tiek izmantota [2].
Aplūkosim piemēru un kādas vērtības konstante atgriež:
<?php
$s = new Sample;
$s->test(123);
class Sample {
function test($arg) {
echo __LINE__ . "<br>";
echo __FILE__ . "<br>";
echo __DIR__ . "<br>";
echo __FUNCTION__ . "<br>";
echo __CLASS__ . "<br>";
echo __METHOD__ . "<br>";
echo __NAMESPACE__ . "<br>";
}
}
|
Konstante |
Apraksts |
Vērtība |
|
PHP_VERSION |
|
5.2.6 |
|
__LINE__ |
Rindas numurs php failā |
9 |
|
__FILE__ |
Pilnais faila ceļš. Ja tiek izmantota iekļautā failā (included), tad šī faila pilnais ceļš. |
/var/www/sample.php |
|
__DIR__ |
Darba mape, kurā atrodas fails. Analogs dirname(__FILE__) Pievienots kopš 5.3.0 |
__DIR__ |
|
__FUNCTION__ |
Uzrāda funkciju no kuras tiek izsaukta konstante. |
test |
|
__CLASS__ |
Uzrāda klases nosaukumu kurā konstante tiek izsaukta. |
Sample |
|
__METHOD__ |
Klases metodes nosaukums. Pievienots kopš 5.0.0 |
Sample::test |
|
__NAMESPACE__ |
Nosaukumvietas vārds. Pievienots kopš 5.3.0 |
__NAMESPACE__ |
Starp citu __LINE__ noderīgi izmantojams kļūdaino sql vaicājumu meklēšanā. Piemēram:
$sql = 'SELECT * FROM nothing';
$result = mysql_query($sql) or die(mysql_error() . ' /
#' . __LINE__ . ', ' . __FILE__ . '<pre>' . $sql . '</pre>');
Rezultāt:
No database selected / #15, /var/www/sample.php
SELECT * FROM nothing
Izmantotie avoti:
1. http://www.php.net/manual/en/reserved.constants.php
2. http://www.php.net/manual/en/language.constants.predefined.php



» Komentāri