『壹』 php如何添加預定義常量或變數
常量使用define語句定義即可
全局變數可以定義到全局變數數組$GLOBALS中
參考手冊 : http://php.net/manual/zh/rese...
看題主的問法,感覺"環境變數"可能符合題主要求
nginx配置PHP server的時候可以增加以下指令
fastcgi_param CUSTOM_ENV_VAR "my_env_value";
之後只要是通過nginx訪問的PHP請求,在任何代碼中中使用 $_SERVER['CUSTOM_ENV_VAR'] 就能取到你需要的值
又或者在fastcgi的配置文件中增加一行:
env[CUSTOM_ENV_VAR]="my_env_value"
之後只要是php-fastcgi處理的PHP文件,都可以通過 getenv('CUSTOM_ENV_VAR'); 來獲取設置的值
如果題主確實打算不親自define而要得到類似E_ALL那樣的常量的話,就需要寫點C了
題主可以新建一個自己的擴展(或者直接隨便找個你會編譯的擴展也行),在PHP_MINIT_FUNCTION中使用以下宏來定義自己的常量
REGISTER_STRINGL_CONSTANT("MY_SITE_VERSION", "1.0", 3, CONST_PERSISTENT);
之後重新編譯PHP即可.
『貳』 如何獲取php一個類中定義的常量
ReflectionClass::getConstants
自己翻手冊。
『叄』 php如何定義一個常量數組
<?php
constARR=['a','b'];
var_mp(ARR);
php版本要>=5.6才能使用,如果是5.6以下版本可以考慮把數組序列化後賦值給常量
『肆』 消除php中未定義常量
在首頁中寫上這個函數就可以了error_report(0)
『伍』 深入分析php中const和define定義常量的區別
<?php
define('PHP', 'I love PHP'); // 在類外面通常這樣定義常量
if (defined('PHP')) {
echo 'PHP is defined!';
}
class MyClass
{
// 常量的值將始終保持不變。在定義和使用常量的時候不需要使用$符號
const CONSTANT = 'constant value';
function showConstant() {
echo self::CONSTANT . '<br/>';
}
}
echo MyClass::CONSTANT . '<br/>';
$classname = 'MyClass';
echo $classname::CONSTANT . '<br/>'; // PHP 5.3.0 之後
$class = new MyClass();
$class->showConstant();
echo $class::CONSTANT.'<br/>'; // PHP 5.3.0 之後
print_r(get_defined_constants()); // 可以用get_defined_constants()獲取所有定義的常量
『陸』 關於php類中定義常量問題
代碼試修改如下:
publicfunctionxx(){
echo"childtest";
echoself::tt;
}
『柒』 PHP常量是什麼
1 <?php
2 define("CONSTANT", "Hello world.");
3 echo CONSTANT; // outputs "Hello world."
4 echo Constant; // outputs "Constant" and issues a notice.
5
6 define("GREETING", "Hello you.", true);
7 echo GREETING; // outputs "Hello you."
8 echo Greeting; // outputs "Hello you."
9
10 ?>
常量前面沒有美元符號($);
常量只能用 define() 函數定義,而不能通過賦值語句;
常量可以不用理會變數范圍的規則而在任何地方定義和訪問;
常量一旦定義就不能被重新定義或者取消定義;
常量的值只能是標量。
『捌』 php通過定義常量連接資料庫出錯
//config.php
<?php
define('HOST','localhost');
define('USERNAME','root');
define('PASSWORD','root');
?>
//connect.php
<?php
require_once('1.php');
$conn=newmysqli(HOST,USERNAME,PASSWORD);
var_mp($conn);
?>
我這里測試了是沒有問題的,你看看是不是你的路徑或者某個字母寫錯了
『玖』 PHP 常量定義 語句 求解讀
if(strpos(__FILE__,DIRECTORY_SEPARATOR)!==FALSE){
$res=substr(__FILE__,0,strrpos(__FILE__,DIRECTORY_SEPARATOR)).'/';
}else{
$res='./';
}
define('R_P',$res);
這樣你就看懂了吧。。。
『拾』 php如何定義常量,系統常量和使用常量
定義常量
define('NAME','hello');
echoNAME;//hello
PHP 自 5.3 後可以直接通過 const 關鍵字來定義常量
constNAME='hello';
echoNAME;//hello
系統常量可以直接列印,如:
echo__DIR__;//當前執行文件的路徑
echo__FILE__;//當前執行的文件地址及文件名