2013年4月2日火曜日

PHP講座 week-4; その他の言語機能と開発者向け機能

かくかくしかじか、学生向けにPHPを教えている。シラバスはこんな具合

PHP講座の第4週の要点メモ。言語機能から2つ、「名前空間」と「例外」。開発者向け機能から2つ、「対話シェル」と「ビルトインウェブサーバー」。
  • 名前空間
    • PHPでもC++のnamespaceやJavaのpackageなどに似た名前空間の仕組みにより、ソースコードの一部領域に名前(というか苗字)を付けて管理できる
      • ミドルネームもありよ
    • 定義: `namespace`キーワードを使う
      • 要注意: {}で囲わない
      • 別のnamespaceかファイル終端に到達するまでnamespaceが有効
    • 使用: `::`演算子でアクセス
      • エイリアス(別名)も付けられる 
  • 例外
    • C++やJavaの様に例外処理が使えますよ
      • try-catch-finallyできるのでJavaの例外処理に近い
      • PHP 5.0以降の機能で、まだPHP組み込み関数でも例外飛ばしてくれないのもまだまだたくさんあるけど、これからの時代の人は普通に例外使いましょう。
    • 送出: `throw new Exception('your exception message')`
      • Exception型
        • `getMessage()`などなど
        • 各種状況に併せた派生型も標準で定義済み
        • extendsしたclassを定義して独自の例外型も使用可能
    • 捕捉: `catch(Exception $e)`
      • タイプヒンティング()によるcatchの場合分けが可能

  • 対話シェル
    • phpとプログラマーが逐次対話形式でPHPコードを評価できる
    • 使い方: `php -a`
  • ビルトインウェブサーバー
    • 開発用のテストHTTPサーバーをphp単独で可動できる
      • Apacheやnginxを導入しなくてもPHPウェブアプリの開発が簡単にできる
      • PHP 5.4から使える比較的新しい機能
      • 組み込みで.phpを実行可能
      • もちろん静的HTMLや画像ファイルのテストサーバーとして使用可能
    • 使い方:
      • `php -S 0.0.0.0:10080` … 任意のインターフェースから10080ポートで待受
こんな具合。

ちなみにこの後は、バージョン管理システムの概論、git基礎、GitHubの利用法、またPHP本編ではセーフモード(というのが5.4以前はあったもんじゃよフォフォフォ→廃止されました)とかガベージコレクションとzvalやそこらの実装の概論など少々しましたが、そこらのまとめメモはまあまた別の機会があればという事で。

それから既に実際には今週week-5としてPHPでのデータの取り扱い(ファイルストレージ、PDO/SQLite、PDO/MySQL)をレクチャーし始めていたりします。それはまた後ほどまとめメモを残すつもりです。

0 件のコメント:

コメントを投稿