radioc@?

レディオキャットハテナ

【勉強会メモ】関西PHP勉強会

phpkansai.connpass.com

  • 日時:2020/05/16(土) 15:00 〜 16:00
  • 場所:オンライン

会社の後輩が実行委員をしていると聞いてオンラインで冷やかしてきたのでメモを残しておきます。

PhpStorm中級入門

Y-Kanohさん

speakerdeck.com

PhpStormの初心者を脱出しよう

Q1. PhpStorm使っている

-使っている人が多数

Q2. PhpSormからSQLを発行している

  • 他のツールを使っている人が多数
  • PhpStormにデータベースツールがある
  • エクセル出力機能など
  • 最新版で同時に複数のSQLの実行結果を見れる機能が追加

※参考

pleiades.io

Q3. PhpStormからDockerを操作している

  • Dockerを操作できることを知らなかった人が多数
  • コンテナ立ち上げる
  • portの確認
  • ファイルの一覧が見れる

※参考

pleiades.io

Q4. PhpStormからタスクを切換えしている

  • 知らない人が多数

  • タスク管理

  • GitHubなどと連携
  • Issueやチケットと紐付けできる

※参考

pleiades.io

DockerでApache+PHP+MySQLの環境構築

SAWさん

speakerdeck.com

モチベーション

  • ローカル環境汚さず環境を整えたい
    • Docker利用
  • MySQLのコンテナに別コンテナ上のPHPプログラムから接続したい

Dockerコンテナの構成

Dockerネットワークの作成

  • docker network create ネットワーク名
  • docker network ls でネットワークの一覧を確認

コンテナ作成

  • docker run--network オプションをつける

PDOドライバのインストール

  • デフォルトではMySQLのPDOドライバが未インストール
  • コンテナに入り docker-php-ext-install

接続設定の変更

  • PDOのコンストラクタ第1引数を修正
  • host=MySQLのコンテナを指定

⇒環境構築完了

コンテナ作成済の場合は?

  • 作成済のコンテナを接続
    • docker network connect ネットワーク名 コンテナ名
  • IPアドレスを指定
    • Dockerネットワークを利用せずにlocalhostに割り当てられたポートから接続
    • My SQLコンテナのIPアドレス確認
      • docker ps でコンテナID確認
      • コンテナの /etc/hosts を確認
      • PDOのコンストラクタを修正

LaravelでDB操作を監視する

ippeisumidaさん

speakerdeck.com

お客さんから言われることがある

何もしてないのに壊れた

→誰が何をしたのか監視したい

Laravel Auditing

www.laravel-auditing.com

  • DB操作の監視
  • だれが、いつ、どこで、なにをしたか
  • 更新の差分(なにをどう変えたか)

インストール、設定

  • composer require owen-it/laravel-auditing
  • config/app.php ※発表資料参照

→監視スタート

  • データが登録される
  • プログラムで監視データを取得できる

CakePHPのバージョンアップ戦略

seike460さん

speakerdeck.com

バージョンアッププロジェクト

  • 初めて関わった受託プロジェクト
  • Unitテストは新機能のみ
  • PHP,PostgreSQL,CakePHPのバージョンアップ

課題

  • 手動テストでカバーできるがつらい
  • 膨大かつ単純作業
  • テストのスコープを絞る
  • 機械的な作業に落とし込む

テストスコープ

  • テストピラミッド
    • UI
    • Service
    • Unit
  • 上に行くほどテストの再現度は高い
  • 実行時間が長い
  • 保守、デバッグの労力増大
  • →今回はServiceの部分を充実を選択
    • 広範囲のカバレッジを効率よくカバー
    • UIはテスト部隊に手動テストを依頼
    • カバレッジや優先順位に応じてUnitテストも増やす

非推奨を洗い出す

  • scrutinizer の利用
  • 静的解析を自動的に行なってくれるサービス
  • Duplicationを減らしていく
  • 手作業だと効率悪いのでsedコマンドで置換

scrutinizer-ci.com

PHP8 Attributesを語ろう

tadsan さん

tadsan.fanbox.cc

  • 今すぐ何かが変わることはない
  • PHP8に対応しないと使えない
  • 12月にPHP8.0が出る
  • 7月に確定

Attributesv2

※参考 https://wiki.php.net/rfc/typed_properties_v2

  • RFCは受理されたが実装はマージできていない

Attribute 属性

  • 関数やクラスの上にコメントを書いて@ベースの擬似言語が提案されてきた
  • 実行時に影響することもあるししないこともある特殊なやつ
  • 各プロジェクトが雰囲気で定義している
  • 厳密な定義はない
  • <<>> で書く
    • @: は提案されたが不採用
  • 関数呼び出し風構文と静的な式
  • コメントと同じで実行に影響することはない
  • アノテートと呼ばれていたものはAttributeで使える

誰のためのアトリビュート