pocketmine\utils\Config::save PHP Метод

save() публичный Метод

public save ( boolean $async = false ) : boolean
$async boolean
Результат boolean
    public function save($async = false)
    {
        if ($this->correct === true) {
            try {
                $content = null;
                switch ($this->type) {
                    case Config::PROPERTIES:
                    case Config::CNF:
                        $content = $this->writeProperties();
                        break;
                    case Config::JSON:
                        $content = json_encode($this->config, JSON_PRETTY_PRINT | JSON_BIGINT_AS_STRING);
                        break;
                    case Config::YAML:
                        $content = yaml_emit($this->config, YAML_UTF8_ENCODING);
                        break;
                    case Config::SERIALIZED:
                        $content = serialize($this->config);
                        break;
                    case Config::ENUM:
                        $content = implode("\r\n", array_keys($this->config));
                        break;
                }
                if ($async) {
                    Server::getInstance()->getScheduler()->scheduleAsyncTask(new FileWriteTask($this->file, $content));
                } else {
                    file_put_contents($this->file, $content);
                }
            } catch (\Throwable $e) {
                $logger = Server::getInstance()->getLogger();
                $logger->critical("Could not save Config " . $this->file . ": " . $e->getMessage());
                if (\pocketmine\DEBUG > 1 and $logger instanceof MainLogger) {
                    $logger->logException($e);
                }
            }
            return true;
        } else {
            return false;
        }
    }

Usage Example

Пример #1
2
 public function onCommand(CommandSender $sender, Command $cmd, $label, array $sub)
 {
     @mkdir($this->getServer()->getDataPath() . "/plugins/! DeBePlugins/");
     $korean = new Config($this->getServer()->getDataPath() . "/plugins/! DeBePlugins/" . "! Korean.yml", Config::YAML, ["Korean" => false]);
     if ($korean->get("Korean")) {
         $korean->set("Korean", false);
         $m = "설정";
     } else {
         $korean->set("Korean", true);
         $m = "해제";
     }
     $sender->sendMessage("[Korean] 한국말 {$m}");
     $korean->save();
     return true;
 }
All Usage Examples Of pocketmine\utils\Config::save