山傘のプログラミング勉強日記

プログラミングに関する日記とどうでもよい雑記からなるブログです。

PHP 学習 part. 13

フレームワークによる効率的な開発

GitHub - YamaKasa3/php_application

パーフェクトPHP

パーフェクトPHP

core/Session.php

セッション情報を管理します。$_SESSION変数のラッパークラスに相当します。

core/Application.php

アプリケーション全体の流れを管理します。Request, Router, Response, Sessionクラスのオブジェクトの管理を行います。

core/Controller.php

ApplicationクラスでControllerクラスを生成するとき、RequestやResponseといったクラスはApplicationクラスが持っているので、Applicationクラス自信をControllerクラスに渡します。

調べたこと

self

自クラスの静的プロパティや静的メソッドにアクセスするために使います。

session_start()

PHP: session_start - Manual

セッションを作成する。

session_regenerate_id()

PHP: session_regenerate_id - Manual

現在のセッションIDを 新しいものと置き換えます。

プロパティを動的に追加

クラスとオブジェクトのまとめノート - Qiita

クラス内で宣言していないプロパティを追加することができます。JavaScriptみたいな感じですね。

<?php

class Sample
{
    public $a = 1;

    function fun()
    {
        $this->b = 3;
    }
}

$s = new Sample();
$s->fun();
$s->c = 7;
echo $s->a . "\n";
echo $s->b . "\n";
echo $s->c . "\n";

可変関数

PHP: 可変関数 - Manual

extract

PHP: extract - Manual

出力バッファ

PHP: ob_start - Manual

list

PHP: list - Manual

PHPのバージョンによって操作が異なる?ので、見返しが必要。