--- Title: PHPの基礎ができているとは Author: deproden Web: https://mimemo.io/m/3kyw8o3Zq8G6Lrg --- *——能力が表示されない世界に生きている以上、計測によって能力を測るしかない——* ---- ## わかりやすい計測方法 - PHPの基礎を教えられる ---- ## 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ディレクションの新標準ルールなど) - 設計+アーキテクチャ