⑴ php獲取當文件名稱
basename(__FILE__);這樣可以得到文件名;dirname(__FILE__);這樣可以得到我文件所在路徑,覺得有用請採納
⑵ php獲取、檢查類名、函數名、方法名的函數方法
1.function_exists()
-
Return
TRUE
if
the
given
function
has
been
defined
2.is_callable()
-
檢測參數是否為合法的可調用結構
3.class_exists()
-
檢查類是否已定義
4.method_exists()
-
檢查類的方法是否存在
__FUNCTION__
函數名稱(PHP
4.3.0
新加)。自
PHP
5
起本常量返回該函數被定義時的名字(區分大小寫)。在
PHP
4
中該值總是小寫字母的。
__CLASS__
類的名稱(PHP
4.3.0
新加)。自
PHP
5
起本常量返回該類被定義時的名字(區分大小寫)。在
PHP
4
中該值總是小寫字母的。
__METHOD__
類的方法名(PHP
5.0.0
新加)。返回該方法被定義時的名字(區分大小寫)。
註:這些常量前後均是兩個下劃線。
get_class(class
name);//取得當前語句所在類的類名
get_class_methods(class
name);//取得class
name
類的所有的方法名,並且組成一個數組
get_class_vars(class
name);//取得class
name
類的所有的變亮名,並組成一個數組
⑶ PHP 獲取類名
在PHP中可以使用魔術方法 __CLASS__ 來獲取類名
官方文檔如下
如果想要得到不包含類的作用域的名稱或類的作用域則需要下面兩個函數
類包含作用域的名稱
類作用域的名稱
類不包含作用域的名稱
⑷ PHP 如何 得到文件名(不要後綴名)
方法如下:
$dh = opendir($dirname);
$n = 0;
while ($file=readdir($dh)){
// $file為目錄下所有文件和文件夾,
// 需要注意默認有 .(本目錄)和..(上級目錄)這兩個特殊文件夾
if (is_file($file)){
//只處理文件
if (!strpos($file,'.')){
// 無後綴名的文件
}
$n++; // 計數
}
}
⑸ php列出一個類文件所有方法名稱
$class=new Class();
$arr=get_class_methods(get_calss($class));
print_r($arr);
就可以看到 了,
主要是用了 get_class_methods( sttring class_name) 函數,
⑹ php有沒有什麼函數可以獲取一個方法中的參數名和參數類型的
/**
*獲取一個函數的依賴
*@paramstring|callable$func
*@paramarray$param調用方法時所需參數形參名就是key值
*@returnarray返回方法調用所需依賴
*/
functiongetFucntionParameter($func,$param=[]){
if(!is_array($param)){
$param=[$param];
}
$ReflectionFunc=newReflectionFunction($func);
$depend=array();
foreach($ReflectionFunc->getParameters()as$value){
if(isset($param[$value->name])){
$depend[]=$param[$value->name];
}elseif($value->isDefaultValueAvailable()){
$depend[]=$value->getDefaultValue();
}else{
$tmp=$value->getClass();
if(is_null($tmp)){
thrownewException("{$class}");
}
$depend[]=$this->get($tmp->getName());
}
}
return$depend;
}
functiontest($a,$b=20){
echo$a,',',$b;
}
$depend=getFucntionParameter('test',['a'=>30,'b'=>40]);
call_user_func_array('test',$depend);//30,40
上面的函數是我開發的框架的容器的方法。
php提供了很完整的反射機制。不但可以反射函數,還可以反射方法,反射類構造函數。
⑺ PHP中怎樣獲取欄位的名稱
$con=mysql_connect('localhost','root','');
if($con){
mysql_query('useyatibang');
mysql_query('setnamesutf8');
}else{
echo"數據連接失敗";
}
$sql="descapp_category";
$res=mysql_query($sql);
$row=$rows=array();
while($row=mysql_fetch_assoc($res)){
$rows[]=$row['Field'];
}
var_mp($rows);
返回結果如下:
⑻ PHP里邊<+tr+class={$alt}>的作用
咨詢記錄 · 回答於2021-10-13
⑼ PHP中如何獲得當前類的名稱,而實例化後獲取子類的名稱
php 4.3以後新增了一個魔術常量__CLASS__,用來獲得當前class名稱。但是在下面的代碼中,卻不work。class A {
function showclass() {
echo __CLASS__;
}
}
class B extends A {}
A::showclass();
B::showclass(); 這段代碼會打出兩個A,而不是預想中的AB。下面這段代碼,利用debug_backtrace來獲得當前class名,可惜只能在php4上面work,到了php5以上,測試結果全部都是AA-___-class A {
function showclass() {
$backtrace = debug_backtrace();
echo $backtrace[0]['class'];
}
}
class B extends A {} 補充一個可以在php4/php5下work的代碼class A {
function showclass() {
$backtrace = debug_backtrace();
echo ((int)PHP_VERSION> 4) ?
get_class($backtrace[0]['object']) : $backtrace[0]['class'];
}
}
class B extends A {}
⑽ php 怎麼獲取當前函數名稱
php提供的一些系統常量可以完成這些
php獲取當前方法名(函數名) __FUNCTION__
php獲取當前類名 __CLASS__ 或者 get_class($this);
php獲取本類所有的方法名 get_class_methods($this);實例如下
class Test{
function kkk(){
return get_class_methods(Test);
}
function meme(){
}
function myfunction(){
}
}
$y=new Test();
print_r($y->kkk());
返回結果如下
Array ( [0] => kkk [1] => meme [2] => myfunction )
php獲取類中所有的成員屬性,返回一個數組 get_class_vars(class name); 實例如下
class Test{
public $tt="dddd";
public $aa="aaaaaaaa";
function kkk(){
return get_class_vars(Test);
}
}
$y=new Test();
print_r($y->kkk());
返回結果如下
Array ( [tt] => dddd [aa] => aaaaaaaa )