當前位置:首頁 » 編程語言 » phpreadline

phpreadline

發布時間: 2023-07-01 11:05:27

php常用擴展有哪些

php基本使用到的擴展有如下:

bcmath(精確數值處理)

bz2

calendar

Core

ctype

curl

date

dom

ereg

exif

fileinfo

filter

ftp

gettext

hash

iconv

igbinaryinotify 文件監控

json

libxml

mbstring

mhash

mysql

mysqli

mysqlnd

openssl

pcntl

pcre

PDO

pdo_mysql

pdo_sqlite

Phar

posix

readline

redis Redis緩存

Reflection

session

shmop

SimpleXML

sockets

SPL

sqlite3

standard

sysvmsg

sysvsem

sysvshmswoole 通信引擎

tokenizer

wddx

xml

xmlreader

xmlwriter

xslyaf YAF框架必須

zip

zlib

其中最常用的擴展有:curl date json mysql mysqli openssl pdo_mysql redis session zip等

查看當前php安裝了哪些擴展,可以使用命令:php -m

❷ 如何使用PHP的互動式運行環境

從PHP 5.1.0開始,CLI SAPI提供了一個互動式命令行工具(Interactive shell),這個互動式PHP shell是通過使用 –with-readline 編譯選項集成到php內核里的。使用這個互動式shell,你可以直接在命令行窗口裡輸入PHP並直接獲得輸出結果。
開啟PHP的互動式shell模式,需要使用 -a 參數。下面是使用互動式shell的一些例子。
$ php -a
Interactive shell
php > echo 5+8;
13
php > function addTwo($n)
php > {
php { return $n + 2;
php { }
php > var_mp(addtwo(2));
int(4)
php >
在互動式shell里,你可以使用 tab 鍵對函數名,內置變數,類名,靜態方法等進行自動補全操作。
需要注意的是,Interactive Shell 和 Interactive Mode 並不是一個東西,盡管名稱和功能都很相似。
如果你輸入 php -a ,得到的回應是 『Interactive Shell』 並跟隨著 『php>』 提示符,那你使用的就是互動式shell。如果你得到的回應是 『Interactive mode enabled』 ,說明你的PHP並不支持互動式shell,上面介紹的用法也不實用於你。
但也不用擔心,Interactive mode(交互模式)也可以在命令行窗口裡執行PHP代碼,只是代碼的執行方式有些區別。在PHP交互模式(Interactive mode)里,你在命令行窗口裡輸入PHP代碼,代碼不會立即執行,當你輸入了所有PHP代碼後,輸入 Ctrl-Z (windows里),或輸入 Ctrl-D (linux里),你輸入的所有代碼將會一次執行完成並輸出結果。
在PHP交互模式(Interactive mode)里,跟互動式shell里不一樣,你的代碼需要以 <?php 開頭,跟你的普通PHP文件里的寫法一致。下面是在Windows里的使用例子。
C:\>php -a
Interactive mode enabled
<?php
echo "Hello, world!";
?>
^Z
Hello, world!
在Winidows里,沒有互動式shell,只有Interactive mode。

❸ php計算n要求n為鍵盤輸入的數字

您好,您想要通過 PHP 計算用戶輸入的數字嗎?這是可以做到的,下面清伍巧是一個簡單的例子:

// 讀取用戶在鍵答鍵盤輸入的數字
$n = readline("請輸入一個數字:");

// 計算並輸出結果
echo "您輸入的數字是:" . $n . "\n";
在這個例子中,我們通過 readline 函數來讀取用戶在鍵盤橘碰輸入的數字,然後通過 echo 輸出結果。
希望這對您有幫助。

❹ PHP的擴展中回調PHP的函數有多參數的問題

寫PHP擴展最好的參考資料是官方代碼庫,即便不算best practice,也不至於太差。先下載一份php源碼,然後在ext目錄里搜 call_user_function,把參數個數>=2的列出來。比如 ext/readline/readline.cstatic char **_readline_completion_cb(const char *text, int start, int end)
{
zval params[3];
int i;
char **matches = NULL;
_readline_string_zval(¶ms[0], text);
_readline_long_zval(¶ms[1], start);
_readline_long_zval(¶ms[2], end);
if (call_user_function(CG(function_table), NULL, &_readline_completion, &_readline_array, 3, params) == SUCCESS) {
if (Z_TYPE(_readline_array) == IS_ARRAY) {
if (zend_hash_num_elements(Z_ARRVAL(_readline_array))) {
matches = rl_completion_matches(text,_readline_command_generator);
} else {
matches = malloc(sizeof(char *) * 2);
if (!matches) {
return NULL;
}
matches[0] = strp("");
matches[1] = '\0';
}
}
}
for (i = 0; i < 3; i++) {
zval_ptr_dtor(¶ms[i]);
}
zval_ptr_dtor(&_readline_array);
return matches;
}
看一下call_user_function的簽名,它參數是個數組,zval params[]ZEND_API int _call_user_function_ex(zval *object, zval *function_name, zval *retval_ptr, uint32_t param_count, zval params[], int no_separation);
#define call_user_function(function_table, object, function_name, retval_ptr, param_count, params) \
_call_user_function_ex(object, function_name, retval_ptr, param_count, params, 1)
#define call_user_function_ex(function_table, object, function_name, retval_ptr, param_count, params, no_separation, symbol_table) \
_call_user_function_ex(object, function_name, retval_ptr, param_count, params, no_separation)

熱點內容
安卓籃球手游在哪裡下 發布:2025-02-10 23:21:55 瀏覽:133
linux改變所有者 發布:2025-02-10 23:04:13 瀏覽:650
源碼曹毅 發布:2025-02-10 23:04:01 瀏覽:582
odbcforsqlserver 發布:2025-02-10 22:26:37 瀏覽:600
區塊鏈數據存儲在那裡 發布:2025-02-10 22:25:48 瀏覽:689
c語言for死循環 發布:2025-02-10 22:24:08 瀏覽:523
蘋果限制訪問初始密碼 發布:2025-02-10 22:21:31 瀏覽:759
為什麼安卓手機一年後卡頓 發布:2025-02-10 22:15:39 瀏覽:732
職工信息管理系統設計c語言 發布:2025-02-10 22:15:30 瀏覽:119
預演算法的理念 發布:2025-02-10 22:15:25 瀏覽:133