——能力が表示されない世界に生きている以上、計測によって能力を測るしかない——
PHPの基礎とは?(要改訂)
- PHPの書籍に書かれていることへの理解・実践
- 基礎構文(変数、演算子、if, while, forなど)
- ネイティブ関数、ユーザ定義関数、無名関数、マジックメソッド
- ネイティブクラス、ユーザ定義クラス
- グローバル変数
- ロジックとビューの分離
- PDOを使ったDB操作
- 例外の処理
- 外部ライブラリの利用(Composer, Packagist)
- 最低限のセキュリティ知識と対策(XSS, SQLi, CSRFなど)
- セッション、クッキーの利用
- PHP The Right Wayを実践
- ビルトインサーバを起動
- コードを自動的にPSR-2や独自コーディングに対応
- 名前空間とComposerによるオートロード
- cliでファイルを実行、デバッグ
- 適切な文字コードを指定、変換
- データのフィルタリング(サニタイズ、バリデーション)
- PHP The Right Wayを理解
- バージョンごとのPHPを開発用PCにインストール(仮想環境を準備できる)
- SPLの存在
- Xdebugを使ったデバッグ
- Dependency Injection を使ったメリット
- SOLIDの原則
- エラーログの取り方
- ユニットテスト
- 各フレームワークの分類(マイクロとフルスタックの違い)
- PHPの基礎ではないが、知っていた方がよいこと
- HTMLやCSSの基礎
- SQLの基礎構文
- PHP5.3以前のレガシーPHPの概要
- PHP7以降のモダンPHPの概要
- 型宣言
- PSR-7(HTTP message interfaces)
- PSR-15(HTTP Server Request Handlers)
- Middlewareパターン
- 環境変数から秘匿情報を読み込む方法
- PHPDocの書き方
- SAPIとオペコードの存在
- その他、PHPの基礎ではないけどいずれやること
- WAFの知識(Laravel, Symfony, CakePHP, Slim, Lumenなど)
- 安全なWebアプリケーションの作り方(徳丸本など)
- HTTPの概要(Real World HTTPなど)
- 高速化(ハイパフォーマンス(略)など)
- インフラの知識
- デザインの基本知識(ノンデザイナーズデザインブックなど)
- ディレクション(Webディレクションの新標準ルールなど)
- 設計+アーキテクチャ