PHPの基礎ができているとは

——能力が表示されない世界に生きている以上、計測によって能力を測るしかない——

わかりやすい計測方法

  • 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ディレクションの新標準ルールなど)
    • 設計+アーキテクチャ

END

Close