2 PHP 个单独启动的脚本可以相互交互吗?
Can 2 PHP scripts launched separately interact with each other?
说我有这个class
class Hello
{
/**
* Construct won't be called inside this class and is uncallable from
* the outside. This prevents instantiating this class.
* This is by purpose, because we want a static class.
*/
private function __construct() {}
private static $greeting = 'Hello';
private static $initialized = false;
private static function initialize()
{
if (self::$initialized)
return;
self::$greeting .= ' There!';
self::$initialized = true;
}
public static function greet()
{
self::initialize();
echo self::$greeting;
}
public static function changeGreet($new)
{
self::initialize();
self::$greeting = $new;
}
}
我有 2 个脚本,其中一个是我在命令行中 运行。
cmdLine.php (php cmdLine.php
)
for($i = 0; $i < 25;$i++){
echo Hello::greet() . PHP_EOL;
sleep(5);
}
还有一个是我在浏览器中加载的。
browser.php
Hello::changeGreet('NewGreet');
心想,先运行宁cmdLine.php后。然后加载 browser.php,问候语会在下一次循环 运行 时改变,但它没有。
仅 PHP 就可以做到这一点吗?
仅 PHP 就可以做到这一点吗?:不。
这需要某种中介才能起作用。需要文件、数据库或其他东西。
(例如)
在 initialize()
中,当您需要更改它时,您可以使用 file_get_contents()
and then store your greeting with file_put_contents()
打开一个文件。
说我有这个class
class Hello
{
/**
* Construct won't be called inside this class and is uncallable from
* the outside. This prevents instantiating this class.
* This is by purpose, because we want a static class.
*/
private function __construct() {}
private static $greeting = 'Hello';
private static $initialized = false;
private static function initialize()
{
if (self::$initialized)
return;
self::$greeting .= ' There!';
self::$initialized = true;
}
public static function greet()
{
self::initialize();
echo self::$greeting;
}
public static function changeGreet($new)
{
self::initialize();
self::$greeting = $new;
}
}
我有 2 个脚本,其中一个是我在命令行中 运行。
cmdLine.php (php cmdLine.php
)
for($i = 0; $i < 25;$i++){
echo Hello::greet() . PHP_EOL;
sleep(5);
}
还有一个是我在浏览器中加载的。
browser.php
Hello::changeGreet('NewGreet');
心想,先运行宁cmdLine.php后。然后加载 browser.php,问候语会在下一次循环 运行 时改变,但它没有。
仅 PHP 就可以做到这一点吗?
仅 PHP 就可以做到这一点吗?:不。
这需要某种中介才能起作用。需要文件、数据库或其他东西。
(例如)
在 initialize()
中,当您需要更改它时,您可以使用 file_get_contents()
and then store your greeting with file_put_contents()
打开一个文件。