ごみばこ

プログラムに関する備忘録などを書いています。

もくもく会にいってきた

エンたまもくもく会に参加してきました。

もくもく会でやったこと

xamarinとローカルDB(SQLite)を使って、入力した数値をリスト表示させるまでを行いました。

xamarinのサンプルが充実していて、Todoのサンプルが用意されていたので、それを元に写経してました。

データのバインドがかなり楽に書けるのと、VB.NET触ってたのでイベントの紐付けとかが似ていて懐かしさを感じた…。

感想

こういうイベントに初めて参加したけど、すごく楽しめた。

コミュ障なりに話せたので進歩(?)

xamarinのわからないところが多少明確になったのでいい時間を過ごせました!

クラス内で自クラスインスタンス生成した時のスコープ

掲題のとおり。

概要

クラスAの中で自身のインスタンスを生成し、 get_object_vars()を実行するとprivateまで返却される。

get_object_varsに関してはマニュアルで以下のように記載されている。 「そのスコープ内」という記述がオブジェクトを指していると解釈していたが、メソッドを呼び出している箇所を指しているみたい?

指定したオブジェクトのプロパティを取得する。
指定した object について、 そのスコープ内でアクセス可能な非 static プロパティを取得します。

class A
{
    private $privateValue = 0;
    public $publicValue1 = 1;
    public $publicValue2 = 2;
    public $publicValue3 = 3;

    public function getProperties(): void
    {
        $instance = new A();
        var_dump(get_object_vars($instance));
    }

    public function set(): void
    {
        $instance = new A();
        $instance->privateValue = 10;
        var_dump(get_object_vars($instance));
    }
}

$a = new A();
$a->getProperties();
$a->set();
実行結果

scope.php:13:
array(4) {
  'privateValue' =>
  int(0)
  'publicValue1' =>
  int(1)
  'publicValue2' =>
  int(2)
  'publicValue3' =>
  int(3)
}

scope.php:20:
array(4) {
  'privateValue' =>
  int(10)
  'publicValue1' =>
  int(1)
  'publicValue2' =>
  int(2)
  'publicValue3' =>
  int(3)
}

結果の通り、private変数まで返却されていることがわかる。

今回わかったこと

  • 同クラスのインスタンスであればprivateにもアクセス出来る
    • javaで似たようなコードを書いても同様な結果が返却された。

勉強不足ですね・・・。

Laravel Note - todoリスト(Viewの作成)

前回はテーブルの作成等を行いました。
今回はページの見た目であるViewの作成と、todoの登録を行っていきます。

続きを読む

PHPでUTF-8(BOMあり)のcsvを扱う

最近CSVを操作する処理を書いていて、文字コードに嵌ったのでメモ。

続きを読む

転職して5ヵ月が経ちました

ちらほら転職に関する記事を見たので便乗して書いた。

続きを読む

Laravel Note - todoリスト(テーブル・マイグレーション作成)

前回はプロジェクトとDBの作成を行いました。

今回はLaravelのコマンドを使用してテーブルの作成を行います。

続きを読む

Laravel Note - todoリスト(プロジェクト・DB作成)

前回welcomeページの表示を行いました。

Laravel5.2のチュートリアルであるtodoリストの作成をアウトプットとして行っていきます。

気づけば5.5にバージョンアップしていたので、5.5を使っていきます。

データベースにはMySQLを使用します。

続きを読む