PHP其它特性

字符串转代码eval()
eval("echo 'Hello World';");    //等同于echo 'Hello World'

常见的应用场景:从存储数据库中的代码及代码模板、循环生成代码等、可预见地修改脚本等、传递可执行代码。

终止执行die()exit()
/*常规操作*/
exit('Script is ending...');

/*结合or操作*/
mysql_query($query) or die("Could not execute query.");

/*终止程序时执行最后一个函数*/
function err_msg(){
    return 'Mysql err was: '.mysql_error(); 
}
mysql_query($query) or die(err_msg());
变量和对象的序列化
/*将对象或变量序列化为字节流*/
serialize()

/*将字节流恢复为对象或变量*/
unserialize()

/*在准备将序列化字符串(其实任何写入数据库的数据都需要)存入数据库时,先进行转义*/
mysqli_real_escape_string()

/*用于会话变量时,PHP需要提前知道类结构,所以在sessino_start()或unserialize()前应该先进行类定义*/
获取当前PHP环境的信息
/*获取已安装或扩展的函数集, 返回数组*/
get_loaded_extensions();     //无参数

/*获取每个函数集中的函数,返回数组*/
get_extension_funce();       //唯一参数为函数集名称

/*上述两个功能示例*/
<?php
echo 'Function sets supported in this install are: <br />';
$extensions = get_loaded_extensions();
foreach ($extensions as $each_ext)
{
    echo $each_ext.'<br />';
    echo '<ul>';
    $ext_funcs = get_extension_funcs($each_ext);
    foreach($ext_funcs as $func)
    {
        echo '<li>'.$func.'</li>';
    }
    echo '</ul>';
}
?>

/*显示当前脚本的拥有者*/
get_current_user();     //在解决权限问题常用

/*获取脚本最后的修改时间*/
echo date('g:i a, j M Y', getlastmod()); // 返回为 Unix时间戳
临时更改运行环境

不是所有的php.ini参数都支持修改,具体参看PHP手册

/*修改php.ini中的参数*/
$old_max_execution_time = ini_set('max_execution_time', 120);   //返回值为原参数

/*获取当前php.ini中的参数*/
$max_execution_time = ini_get('max_execution_time');
高亮源代码
/*两者功能一致,show_source是highlight_file()的别名*/
show_source()       //接受参数为php文件
highlight_file()

颜色的配置文件在php.ini中,默认为HTML RGB格式

自动装载类
spl_autoload_register()
__autoload()
命令行运行PHP
  • 在命令行中运行:php example.php
  • 管道运行:echo '<?php print "Test"; ?>' | php
  • 在脚本中调用
其它
  • php中变量名对大小写敏感,但是函数及对象对变量名不敏感
  • php中默认引用方式为深拷贝,如$a = b 实 际 上 是 把 变 量 b 的 值 复 制 一 份 给 了 a , 此 刻 a , b 两 个 变 量 在 内 存 中 的 位 置 是 不 同 的 , 如 果 使 用 b实际上是把变量b的值复制一份给了a,此刻a,b两个变量在内存中的位置是不同的,如果使用 bbaa,b使a = &$b则代表浅拷贝,等同于引用(python中相反)
  • 一个网站的文件部分最好放在代码根目录以外的地方
  • 一个文件一个类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值