PHP 在启动时加载函数


PHP loading a function on startup

我正在做一些PHP编程,有一个问题:如何在PHP脚本首次运行时加载PHP函数,并且仅在首次运行时加载PHP函数?

谢谢

您可以使用锁定文件

$lock = "run.lock" ;
if(!is_file($lock))
{
    runOneTimeFuntion(); //
    touch($lock);
}

编辑 1

一次性功能

runOneTimeFuntion ();
runOneTimeFuntion ();
runOneTimeFuntion ();
runOneTimeFuntion ();
runOneTimeFuntion ();
runOneTimeFuntion ();
runOneTimeFuntion ();
runOneTimeFuntion ();
function runOneTimeFuntion() {
    if (counter () < 1) {
        var_dump ( "test" );
    }
}
function counter() {
    static $count = 0;
    return $count ++;
}

输出

string 'test' (length=4)
每次

你启动php脚本时,他都会从一个新的脚本开始,不管它被调用了多少次。

如果您知道 PHP 中禁止的重新声明函数,请使用以下命令从外部 fles 加载函数:

<?php require_once(my_function_file.php); ?>

如果你想让 scrpt 记住他是否被叫 befor,可以使用某种形式的日志记录(数据库''文件)并欺骗它是为了加载......但是在函数负载的情况下,我认为没有任何理由这样做......

或者使用普通布尔值...

$bFirstRun = true;
if( $bFirstRun ) {
    run_me();
    $bFirstRun = false;
}

有一个名为 function_exists 的 PHP 函数

您可以在此函数中定义自己的函数,然后您可以查看它是否存在。

if (!function_exists('myfunction')) {
  function myfunction() {
    // do something in the function
  }
  // call my function or do anything else that you like, from here on the function exists and thus this code will only run once.
}

在此处阅读有关function_exists的更多信息:http://www.php.net/function_exists