php類函數調用
A. js怎麼調用php中的方法函數
在js中調用php的方法是直接在script標簽的src屬性中嵌入要訪問的php地址。
1、JS方式調用PHP文件並取得PHP中的值舉例說明:如在頁面test_json1中用下面這句調用:script type="text/javascript" src="/index.php/test/testjson2" /script script type="text/javascript" alert(jstext); /script
2、在test_json2.php中有這樣一段PHP代碼:?php $php_test='I come from PHP!'; echo "var test='$php_test';"; echo "var jstext="."'$php_test';"; ? 當執行test_json1.php文件時,就會調用test_json2.php文件,並將b.php文件的輸出作為JS語句來執行,所以此處會彈出一個提示框,內容為JS變數jstext的值,也就是在PHP文件中賦給jstext的值。
3、調用結果:
B. PHP中,參數調用相應函數是如何實現的
symfony 裡面的 Action 是這樣做的 所有函數都有前綴execute
加入你傳入的是
http://xxx.xxx.xxx.xxx/mymod/myfunc
那麼就是調用mymod 模塊的 myfunc 函數
具體可能是這樣的意思
通過 URI 分析獲取 mod 和 相應的 函數
$moles = "mymod";
$method = "myfunc"
$action = new $$moles();
$action->$method();
也就是 PHP 里比較喜歡人的 可變函數 以及 可變變數的 應用.
C. PHP直接調用函數和調用另外一個文件中的函數的區別
//如果是PHP文件中的函數,唯一的區別是:先引入外部文件,然後直接調用。
//如果是外部類文件中的函數,需要引入,然後new對象後,再調用該對象的函數。
$msg=test_msg();
functiontest_msg(){
echo"";
}
//調用外部文件中的函數
//首先引入文件
include_once'file.php';
$msg=test_msg();
functiontest_msg(){
echo"";
}
D. PHP中的函數
ThinkPHP中 C(),D(),S()
1.在具體的Action方法裡面,可以用C()對某些參數進行動態配置,主要指那些還沒有使用的參數。具體用法如下:
C('參數名稱'); //獲取已經設置的參數值
C('參數名稱','新的參數值'); //設置新的值
2.D()函數的使用:
先定義好模型類,如UserModel,然後就可以用D()函數對數據進行操作了。例如:
先在"你的項目"\Lib\Model下建立一個名為UserModel.class.php的PHP腳本,內容如下:
class UserModel extends Model{}
然後,無需增加任何屬性和方法,就可以進行如下操作:
$User = D("User"); //實例化User對象,User是你在資料庫建立的一個名為"前綴_user"的數據表
也可以用$User = new UserModel()代替,進行實例化對象的操作。
實例化之後,就可以對數據進行增刪查改等一系列操作了,如:
$User->find(1); //查找主鍵為1的記錄
3.S()函數的使用:
ThinkPHP把各種緩存方式都抽象成統一的緩存類來調用,而且ThinkPHP把所有的緩存機制統一成一個S方法來進行操作,所以在使用
不同的緩存方式的時候並不需要關注具體的緩存細節。如:
S('data',$Data); //使用data標識緩存$Data數據
S('data',$Data,3600); //緩存$Data數據3600秒
$Data = S('data'); //獲取緩存數據
E. PHP 函數call_user_func和call_user_func_array用法詳解
下面來和大家分享一下這個call_user_func_array和call_user_func函數的用法,另外附贈func_get_args()函數和func_num_args()函數,嘿嘿!!
call_user_func函數是當需要動態調用函數時,才使用的,這個函數有兩種用法:
第一種是調用孤獨的函數:
代碼如下:<?php
function
funa($b,$c)
{
echo
$b;
echo
$c;
}
call_user_func('funa',
"111","222");
call_user_func('funa',
"333","444");
//顯示
111
222
333
444
//大家有沒有發現,這個用法有點像javascript中的call方法,嘿嘿
?>
第二種是調用類內部的函數:
代碼如下:<?php
class
a
{
function
b()
{
$args
=
func_get_args();
$num
=
func_num_args();
print_r($args);
echo
$num;
}
}
call_user_func(array("a",
"b"),"111","222");
?>
上面這個例子,自己運行一下看看結果是什麼吧~嘿嘿~提示一下func_get_args()函數是獲取傳入到函數中的參數,返回一個數組,func_num_args()函數獲取傳入函數中的參數的個數。
下面再來看看call_user_func_array函數
這個函數也是當需要動態調用函數時用到的,它的用法和call_user_func函數比較像,只是參數傳入的是數組。
代碼如下:<?php
function
a($b,
$c)
{
echo
$b;
echo
$c;
}
call_user_func_array('a',
array("111",
"222"));
//顯示
111
222
?>
call_user_func_array函數也可以調用類內部的方法的
代碼如下:<?php
Class
ClassA
{
function
bc($b,
$c)
{
$bc
=
$b
+
$c;
echo
$bc;
}
}
call_user_func_array(array(‘ClassA','bc'),
array(“111″,
“222″));
//顯示
333
?>
下面再看一個動態調用函數的例子:
代碼如下:<?php
function
otest1
($a)
{
echo(
'一個參數'
);
}
function
otest2
(
$a,
$b)
{
echo(
'二個參數'
);
}
function
otest3
(
$a
,$b,$c)
{
echo(
'三個啦'
);
}
function
otest
(){
$args
=
func_get_args();
$num
=
func_num_args();
call_user_func_array(
'otest'.$num,
$args
);
}
otest("11");
otest("11","22");
otest("11","22","33");
?>
F. js 怎麼調用 php的函數
確實,直接在JavaScript中調用PHP函數是不可能的。這是因為JavaScript運行在瀏覽器端,而PHP運行在伺服器端,兩者之間存在天然的隔離。
要實現數據的傳遞,通常的做法是通過表單提交或者AJAX請求將數據POST回伺服器,PHP則在伺服器端接收這些數據並執行相應的操作。例如,你可以使用JavaScript發送一個POST請求到一個PHP腳本,然後在PHP腳本中處理這些數據並返回結果。
具體來說,可以這樣操作:在JavaScript中,你可以使用XMLHttpRequest或fetch API發送POST請求到指定的PHP文件。在PHP文件中,通過$_POST或者$_REQUEST接收數據,然後執行相應的函數或者邏輯。之後,PHP文件將處理結果通過HTTP響應返回給JavaScript,JavaScript再處理這些返回的數據。
這樣的設計不僅符合前端與後端分離的原則,也保證了兩者的獨立性和安全性。通過這種方式,你可以實現前後端之間的數據交互和業務邏輯處理。
舉個簡單的例子,假設你有一個登錄表單,用戶填寫用戶名和密碼後點擊提交按鈕,這時你可以使用JavaScript捕獲表單數據,並通過AJAX發送POST請求到伺服器。伺服器端的PHP腳本接收這些數據,驗證用戶名和密碼,如果驗證成功,返回一個成功的響應;如果失敗,則返回相應的錯誤信息。
通過這種方式,你可以實現復雜的數據交互和業務邏輯處理,而無需直接在JavaScript中調用PHP函數。