udemyのSymfonyの勉強まとめ①

 

環境設定編

コードの結果をブラウザ表示にする方法

localhostで実行する方法が全く分からなかった。

下の通り、、

code

php -S localhost:8000 -t public

これをPHPプロジェクト内のpublicフォルダがある箇所で実行する

-t <docroot> Specify document root <docroot> for built-in web server.

サーバー立てるときにパスの部分をRootとする

Vendorフォルダがなかった件について

これはプロジェクト内で

code

composer install

を実行するとそのフォルダが出現

constとvarの違い

定数宣言と変数宣言の違い

クラス外からのアクセスはダブルコロンで可能

Parent::hoge

アクセス修飾詞に関して

static:クラス外からアクセスできない、しかしこのフィールドを継承や実装したクラスからはアクセス可能である

private:クラス内のアクセスしか許さない

もしクラス外からPrivate変数へのアクセスがしたいとき

code

protected $data;
public function getData()
{
return $this->data;
}

セッター関数を使ってアクセスを実現することができる

マジックメソッド(__toString)

クラス外のメソッドやフィールドをクラス内でStringにキャストする際に、勝手にString型にキャストして出力してくれるもの

これはクラス外で定義される。

これを宣言していないと、例えばArray型をStringにキャストして出力しようとすると、Array型を出力できませんよ、っていうエラーが出る

型演算子instanceofについて

演算子のinstanceofは、左の演算子引数(オペランド)に指定したオブジェクト型変数が、右の演算子引数(オペランド)に指定したクラスのオブジェクトのインスタンスであるかを調べる演算子
追加で、右の演算子引数には元クラスが引数のInterfaceをImplementしているかどうかを調べることもできる、していなければFalseを返す

関数定義の細々したとこ色々

引数や戻り値は型指定してあげることができる。

しなくてもいいが、オブジェクト指向について考えたとき、可読性を上げるためにも書いたほうがいいかも

また戻り値の前にあるクエスチョンマークは、その型であるか、もしくはNULLが返されるよ、ということ

PHP: 新機能 - Manual

PHP7から登場とのこと

function findByName(string $name, array $formats): ?BaseFormat{

 

 

コメント

タイトルとURLをコピーしました