❶ php 如何在類內調用類外的函數
這樣是沒問題的;
就你的代碼而言,實例化abc 這個類試一下你就知道結果了;
function aaa(){
echo "abc";
}
class abc{
function abc(){
aaa();
}
}
$bb = new abc();
$bb->abc();
❷ php里怎麼調用外部函數啊
看樣子你是windows平台的web伺服器,關鍵是你對伺服器有多少控制力。
如果你完全可以控制伺服器,並且就是要用這種不安全的操作,那麼php配置中不要禁用exec/system/passthru 這些函數,如果不需要test.exe的返回結果,那就用exec,否則用passthrr
如果你完全可以控制伺服器,打算使用標准擴展方式,那麼應該把你的代碼做成dll,然後在php配置中載入dll。這個網上別人寫過的資料有,就是你需要php的源碼,然後自己搞定。沒辦法,開源的東西就是如此。這應該是推薦的做法。
你的描述感覺伺服器在你控制之下,否則就不可能用exe文件,只能把你的exe的功能用php實現,或者用文件之類作為媒介傳遞。
❸ php類中定義了一個函數,怎麼使用它
php類中定義的函數有幾種,
例如:
classA{
//公共方法
publicfunctiontest(){
//dosomething
}
//受保護的方法
protectedfunctiontest2(){
//dosomething
}
//靜態方法
staticfunctionst(){
//dosomething
}
//私有方法
privatefunctiontest3(){
//dosomething
}
//內部訪問
publicfunctionuse(){
//使用公共方法
$this->test();
//使用受保護方法
$this->test2();
//使用私有方法
$this->test3();
//使用靜態方法
self::st();
}
}
//外部調用方法:
$a=newA();
$a->test();//外部使用test,
//$a對象不能外部使用受保護方法和私有方法,受保護方法可以被繼承到,而私有方法不能被繼承。
A::st();//外部使用靜態方法
❹ php如何調用外部php文件中的函數
在實驗的時候發現是可以的,代碼如下
<?php
function func(){ echo "I'm a external function <br />"; }
class Test {
function doExternalFunction($_externalFunc, $_param){
func();
$_externalFunc($_param);
}
}
function sayHello($_param){
echo "hello, $_param";
};
$name = "HanMeiMei";
$test = new Test();
$test->doExternalFunction("sayHello", $name);
?>
在調用Test類實例的doExternalFunction()方法時,外部的func()方法是可以運行的,因為它是全局的。但是建議不要這樣使用,
因為Test::doExternalFunction()對func()函數有依賴,當項目比較大時,而func()和Test類沒有同時引入到一個文件中來,會引
起錯誤。比較理想的情況是,使用回調函數的形式來調用外部函數,就像執行在Test::doExternalFunction()執行sayHello()一樣
❺ php-PHP 一個類里能直接調用類外部的函數嗎
這樣是沒問題的;
就你的代碼而言,實例化abc 這個類試一下你就知道結果了;
function aaa(){
echo "abc";
}
class abc{
function abc(){
aaa();
}
}
$bb = new abc();
$bb->abc();
❻ PHP的幾種函數參數類型及一些特殊函數
給你整理如下:
默認參數:在函數聲明時給參數賦值,而且此默認參數只能在最後,調用時可不傳遞任何參數(若只有默認參數的情況下)
可變參數:一個函數可能需要可個可變數目的參數。在php中,提供了三個函數用於檢索函數中所傳遞的參數。func_get_args()返回一個提供提供給函數的所有參數的數組;func_num_args()返回提供給函數的參數數目;func_get_arg()返回一個來自參數的特定參數。具體如下:
$array = func_get_args();
$count = func_num_args();
$value = func_get_arg();
遺漏參數:當調用函數時,可以傳遞任意個參數給函數。當函數必要的參數沒有i被傳遞時,此參數值是空,並且PHP會為每個遺漏的參數發出警告
可變函數:使用可變變數,可以基於變數的值調用函數
匿名函數:又叫閉包函數,允許臨時建立一個沒有指定名稱的函數,最經常用作回調函數參數的值。需要注意的是,在匿名函數內的變數的用法不同於全局變數,在匿名函數內的變數是一個閉包變數,另外,被調用閉包的作用域不必是相同的。
❼ 如何使用php的外部函數功能
1.缺少declare,正確的描述如下
private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
2 declare的說明
Declare 語句
用於在模塊級別中聲明對動態鏈接庫 (DLL) 中外部過程的引用。
語法 1
[Public | Private] DeclareSubnameLib"libname" [Alias"aliasname"] [([arglist])]
語法 2
[Public | Private] DeclareFunctionnameLib"libname" [Alias"aliasname"] [([arglist])] [Astype]
Declare 語句的語法包含下面部分:
部分 描述
Public 可選的。用於聲明對所有模塊中的所有其它過程都可以使用的過程。
Private 可選的。用於聲明只能在包含該聲明的模塊中使用的過程。
Sub 可選的(但Sub 或 Function 二者需選其一)。表示該過程沒有返回值。
Function 可選的(但Sub 或 Function 二者需選其一)。表示該過程會返回一個可用於表達式的值。
name 必需的。任何合法的過程名。注意動態鏈接庫的入口處(entry points)區分大小寫。
Lib 必需的。指明包含所聲明過程的動態鏈接庫或代碼資源。所有聲明都需要Lib 子句。
libname 必需的。包含所聲明的過程動態鏈接庫名或代碼資源名。
Alias 可選的。表示將被調用的過程在動態鏈接庫 (DLL)
中還有另外的名稱。當外部過程名與某個關鍵字重名時,就可以使用這個參數。當動態鏈接庫的過程與同一范圍內的公用變數、常數或任何其它過程的名稱相同時,也可以使用
Alias。如果該動態鏈接庫過程中的某個字元不符合動態鏈接庫的命名約定時,也可以使用 Alias。
aliasname 可選的。動態鏈接庫或代碼資源中的過程名。如果首字元不是數字元號 (#),則
aliasname 是動態鏈接庫中該過程的入口處的名稱。如果首字元是
(#),則隨後的字元必須指定該過程的入口處的順序號。
arglist 可選的。代表調用該過程時需要傳遞的參數的變數表。
type 可選的。Function 過程返回值的數據類型;可以是 Byte、布爾、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持變長)或 Variant,用戶定義類型,或對象類型。
arglist 參數的語法以及語法各個部分如下:
[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [Astype]
❽ php 如何在類內調用類外的函數
這樣是沒問題的;
就你的代碼而言,實例化abc
這個類試一下你就知道結果了;
function
aaa(){
echo
"abc";
}
class
abc{
function
abc(){
aaa();
}
}
$bb
=
new
abc();
$bb->abc();
❾ Php類和函數有什麼差別
樓主得去多了解一下面向對象。舉個例子給你聽吧比如你要做個電子商務網站,那肯定會有購物車功能。那我們先建立一個購物車的類,購物車class,那光一個類沒什麼用啊。那我們要建立很多方法和變數,比如商品加入購物車function,修改數量function,取消已經添加商品function。這樣一個購物車的類就好了,接下來你要用這些個方法你就可以實例化這個類new 購物車class;裡面的方法就能隨便用,當然為了安全我們可以封裝這些方法或變數可以用私有化來修飾這些方法和變數。面對對象的編程模式更有利於維護及2次開發代碼
❿ php如何在一個類中調用其他函數嗎
把你要用到的函數都寫在一個文件裡面,
在入口文件裡面直接去include這個文件.
這樣不會佔用你太多資源的
,因為php解釋器在執行請求的過程中,會判斷請求用到的函數去調用.即使文件被包含,也是服務端的處理工作,不會被發送到請求的發送端.對效率的影響可以忽略不計.