php动态函数
‘壹’ php的函数都是封装好的动态库吗
动态链接库都是PHP本身的一些函数库,这些东西若非你真是资深的专业人员,否则你不必明白原理,你只要知道怎么用,不知道怎么用你也要知道看文档!!!至于什么方式实现的功能,你看到函数的功能和返回的结果在自己脑子里就没有一个自己的逻辑?
‘贰’ php动态加密函数能否改成静态加密
$nh1 = rand(0,64);
$nh2 = rand(0,64);
$nh3 = rand(0,64);
改成
$nh1 = 1;
$nh2 = 2;
$nh3 = 3
‘叁’ php如何为对象动态添加函数
给个示例:
classFoo
{
publicfunction__call($method,$args)
{
if(isset($this->$method)){
$func=$this->$method;
$func($args);
}
}
}
$foo=newFoo();
$foo->bar=function(){echo"Hello,thisfunctionisaddedatruntime";};
$foo->bar();
‘肆’ 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");
?>
‘伍’ PHP 的类内如何使用动态函数名
PHP 中的 $$ 符号可以实现,意思是正常的PHP变量前缀再加上$符号,就可以把原来的变量当作变量名。
例如:
<?php
//定义一个变量
$name = '';
//定义一个动态变量
$$name = 'new';
echo $$name;
echo '<br>';
echo $;
//上面的定义等同于下面的定义
$ = 'new';
echo $;
?>
‘陆’ PHP自定义函数,功能: 动态获取当前文件执行行数。
若是用来记录错误的话 set_error_handler 来自方错误函数收集错误信息
set_error_handler('php_error', E_ALL); //函数名,收集的错误级别
function php_error($errno, $errstr, $errfile, $errline){ //错误编号,错误信息,错误文件,错误行号
$errortype = array(
E_ERROR => 'Error',
E_WARNING => 'Warning',
E_PARSE => 'Parse',
E_NOTICE => 'Notice',
E_STRICT => 'Runtime Notice',
E_CORE_ERROR => 'Core Error',
E_CORE_WARNING => 'Core Warning',
E_COMPILE_ERROR => 'Compile Error',
E_COMPILE_WARNING => 'Compile Warning',
E_USER_ERROR => 'User Error',
E_USER_WARNING => 'User Warning',
E_USER_NOTICE => 'User Notice'
);
echo "<b>$errortype[$errno]: </b> $errstr <br/>\n<b>File ($errline):</b> $errfile <br>\n"; //输出错误信息
}
‘柒’ 用哪个函数动态设置php.ini中的配置项设置后的作用域
ini_set("配置项","配置值");
ini_set()具有更改PHP.ini设置的功能。此函数接收两个参数:需要调整的配置变量名,以及变量的新值。
例如
ini_set('max_execution_time','10');
ini_set('memory_limit','1024M');
这样的设置将仅仅影响被设置的脚本。一旦脚本执行完毕,该变量将自动恢复到原始值。
注意:
并不是所有设置项都能通过该函数修改,具体能修改的项可以去搜一下。
‘捌’ PHP 的 require函数
require()是php的内置函数,作用是引入或者包含外部php文件。
工作原理:当本身php文件被执行时,则外部文件的内容就将被包含进该自身php文件中;当包含的外部文件发生错误时,系统将抛出错误提示,并且停止php文件的执行。
注意:使用require时,一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误。
比如cl.php,ts.php两个文件,ts.php要用到cl.php文件中的函数,需要在ts.php中引入或者包含cl.php即可.示例如下:
cl.php
<?php
functionshow(){
echo"cl.php文件中的show方法被调用了!";
}
?>
ts.php
<?php
require'cl.php';
show();
?>
运行结果:
‘玖’ 创建一个php动态网页,定义和调用一个函数,用于计算指定的立方值
三个参数相乘返回结果就可以了
‘拾’ php动态加密函数能否改成静态的
第3 4 5行这几个是生成随机数的
$nh1 = rand(0,64);
$nh2 = rand(0,64);
$nh3 = rand(0,64);
把他们改成固定的值
$nh1 = 1;
$nh2 =1;
$nh3 = 1;
这样,1是我自己设置的,你可以改成别的