こんにちは、wahuです。

今回はconfig.yml(設定) ファイルを生成してみたいと思います。
 
一応configファイルの説明ですが、
Config(コンフィグ)ファイルはは設定ファイルのことです。
ユーザーのデーターを保存したり設定データを保存したりできます。

まずはconfigファイルを生成してみます。

use pocketmine\utils\Config;//Configクラス呼び出すため読み込んでおく

if
(!file_exists($
this-dataFolder)){//configを入れるフォルダが有るかチェック
mkdir($this-dataFolder, 0744, true);//なければ作成
}
$this->config = new Config($this->getDataFolder() . "config.yml", Config::YAML array(
"test" => "data",
"名前" => "",
));
説明

use pocketmine\utils\Config;
はConfigクラス呼び出すため読み込んでおいてください
※この記事ですべてのコードに使用するためこの後も必要になります。
 
if(!file_exists($this->dataFolder))
はプラグイン用のデータフォルダがないかを確認しています。

mkdir($dataFolder, 0744, true);
で、もしなければフォルダを生成します。

$this->config = new Config();
configファイルのオブジェクトを呼び出して、
以下の引数でファイルを生成してくれます。

1引数:ファイルを生成するフォルダの指定
$this->getDataFolder() . "config.yml"
でプラグイン用のデータフォルダを取得して、ファイル名も書いておきます。

2引数:ファイルの形式
Config::YAML
ファイルの形式を指定します。
この場合、YAML形式のファイルになります。

3引数:データ
array(
"test" => "data",
"名前" => "",
)
これはファイルに記載する内容を書いています。
この場合testが名前(キー)、dataが値になります。
呼び出す場合はtest(キー)でdataの値が入ったデータをとりだせます。

configを生成したので次はデータを取り出してみましょう。

コードは以下のようになります。

$this->config->get("名前");

説明

$this->config->get("名前");
でデータを取り出します。
"名前"を変更して設定した名前(キー)からデータを取り出せます。

最初にセットしたtestを取り出したい場合は以下のようになります
$this->config->get("test");

こんどはデータをセットしてみましょう。

$this->config->set("名前", "");//値と名前を設定
$this->config->save();//設定を保存


$this->config->set("名前", "");
で値をセットします。
"名前"にキーを"値"にデータを入れます。

$this->config->save();
でセットしたデータを保存します。
これをやらないとデータが保存されません

次はデータがあるかを確認してみましょう。

if($this->config->exists("名前")){
//ある
}else{
//ない
}

説明

if($this->config->exists("名前"))
で名前(キー)のデータがあるかを確認しあれば
//ある がある場所の処理を行います。

間違いがありましたらコメントしていただけると幸いです。

おまけ

//用意したファイルをconfigファイルにする
plugin.ymlがあるフォルダにresourcesと言うフォルダを作っておく
そこにconfig.ymlファイルを置いておく
$this->saveDefaultConfig();//resourcesにあるファイルをデータフォルダに入れて保存
$this->reloadConfig();//作成されたファイルを再読み込み
if(!file_exists($dataFolder)){
mkdir($dataFolder, 0744, true);
}
$this->config = new Config($this->getDataFolder() . "config.yml", Config::YAML);
//データに配列を入れる
$this->config->set("data",array("data1" => "test","data2" => "test2"));//データをセット
$this->config->save();//保存
//データを配列にした場合の上書き
$data = $this->config->get("data1");//元のデータを取得
$data2 = array("data2" => "data123");//上書きするデータ
$merge = array_merge($data,$data2)//dataとdata2をマージ
$this->config->set("data1",$merge);//データをセット
$this->config->save();//保存
//データをすべて取得
//getAllの()をtrueにするとキーが返ってきます(通常は使用しません)
$data = $this->config->getAll();//すべてのデータを取得//配列