Open8

Laravelキャッチアップメモ

kashiwamochikashiwamochi
  • MVCフレームワーク
  • Symfonyベース
  • Composer
    • PHPのパッケージ管理ツール
      • npm的なもの
  • Webサーバー機能
    • PHP本体にあるものを内臓
    • あくまで開発用のものであるため、本番環境では使用しない

コントローラ

DB

サービスコンテナ

ファサード

Test

mikkamemikkame

細かい頃ですがcomposerはlaravelのためのものではなく。phpのパッケージマネージャー、npmと同等。なおnpとは違いnode-gypのようなビルドしてなんとか見たいのは存在せず全てphpで出来てる。ビルド、ネイティブ、バイナリっぽいのはphp-extとして区別されてます

kashiwamochikashiwamochi

修正しました!ありがとうございます!

node-gypも初めて知りました…!

kashiwamochikashiwamochi

PHPメモ

  • クロージャ
    • JSとは違うっぽい?
      • ほぼ同じ挙動ができるっぽい

<?php

function a() {
  $hoge = 0;

  // &で参照渡し
  return function() use (&$hoge)  {
    ++$hoge;
    return $hoge;
  };
}

$b = a();
echo $b().PHP_EOL; // 1
echo $b().PHP_EOL; // 2

static, 定数 およびオーバーライドされたクラスのプロパティやメソッドにアクセスすることができます。

mikkamemikkame

クロージャーはjsでもphpでも同じかも?ただ、phpのクロージャは変数の巻き上げが発生しないのでfunction () use(ここ){}で外にある変数を渡してあげる必要があります

kashiwamochikashiwamochi

なるほど…ありがとうございます!
サンプルコード追記しました!

kashiwamochikashiwamochi
  • コントローラをサブディレクトリに配置する
    • php artisan make:controller Example/ExampleController
      • コントローラに限らず、php artisan make時にサブディレクトリに配置したいときはこのやり方
  • シングルアクションコントローラにする
    • php artisan make:controller ExampleController --invokable