$30 off During Our Annual Pro Sale. View Details »

はじめてのPHPコマンドラインオプション〜PHP開発を今よりちょっと楽しくする〜

 はじめてのPHPコマンドラインオプション〜PHP開発を今よりちょっと楽しくする〜

PHP カンファレンス沖縄 2023 の登壇資料です

https://fortee.jp/phpcon-okinawa-2023/proposal/af563a02-665d-4366-8f8b-9247419ad3d8

ことみん / kotomin_m

September 16, 2023
Tweet

More Decks by ことみん / kotomin_m

Other Decks in Programming

Transcript

  1. PHPカンファレンス沖縄2023
    はじめての
    @kotomin_m
    ~PHP開発を
     今よりちょっと楽しくする~

    View Slide

  2. @kotomin_m #phpcon_okinawa #track_a
    ことみん@kotomin_m
    所属:株式会社ウィルゲート
    出身:北海道
    趣味:LT会とカンファレンス
    PHPer歴:2年半

    View Slide

  3. @kotomin_m #phpcon_okinawa #track_a
    PHPコマンドラインオプションは…
    こんな時に便利!
    「ちょっとしたコードをすぐに試したい!」
    「設定を確認したい!」など

    View Slide

  4. @kotomin_m #phpcon_okinawa #track_a
    PHPコマンドライン
    オプションを紹介

    View Slide

  5. @kotomin_m #phpcon_okinawa #track_a
    オプション「 -h 」
    「-h」は"help"の略で、
    PHPに関する「ヘルプ」を表示

    View Slide

  6. @kotomin_m #phpcon_okinawa #track_a
    https://www.php.net/manual/ja/features.commandline.options.php
    オプション「 -h 」

    View Slide

  7. @kotomin_m #phpcon_okinawa #track_a
    $ php -h
    Usage: php [options] [-f] [--] [args...]
    php [options] -r [--] [args...]
    php [options] [-B ] -R [-E ] [--] [args...]
    php [options] [-B ] -F [-E ] [--] [args...]
    php [options] -S : [-t docroot] [router]
    php [options] -- [args...]
    php [options] -a
    -a Run as interactive shell (requires readline extension)
    -c | Look for php.ini file in this directory
    使ってみよう
    オプション「 -h 」

    View Slide

  8. @kotomin_m #phpcon_okinawa #track_a
    オプション「 -a 」
    「-a」は対話式シェルを起動
    PHPのコードを一行ずつ入力して、
    すぐに結果を見ることができるモード

    View Slide

  9. @kotomin_m #phpcon_okinawa #track_a
    使ってみよう
    オプション「 -a 」
    $ php -a
    Interactive shell
    php > echo 'Hello! Okinawa PHPer!';
    Hello! Okinawa PHPer!

    View Slide

  10. @kotomin_m #phpcon_okinawa #track_a
    オプション「 -a 」
    php > echo floor(2023.916);
    2023
    使ってみよう

    View Slide

  11. @kotomin_m #phpcon_okinawa #track_a
    オプション「 -a 」
    使ってみよう
    php > $okinawa = 'saikou';
    php > if ($okinawa === 'saikou') {
    php { echo 'また来ます!';
    php { }
    また来ます!

    View Slide

  12. @kotomin_m #phpcon_okinawa #track_a
    「-i」はPHPの設定情報 (phpinfo) を表示
    grepコマンドと組み合わせて使うと良さそう
    オプション「 -i 」

    View Slide

  13. @kotomin_m #phpcon_okinawa #track_a
    オプション「 -i 」
    使ってみよう
    $ php -i | grep php.ini
    Configuration File (php.ini) Path =>
    /usr/local/etc/php/8.2
    Loaded Configuration File =>
    /usr/local/etc/php/8.2/php.ini

    View Slide

  14. @kotomin_m #phpcon_okinawa #track_a
    「-l」は"lint"の略で、
    PHPコードの構文をチェック出来る
    オプション「 -l 」(小文字のL)

    View Slide

  15. @kotomin_m #phpcon_okinawa #track_a
    例)構文エラーがないコード
    オプション「 -l 」(小文字のL)
    // hello.php
    echo '私は沖縄ぺちぱーです!';

    View Slide

  16. @kotomin_m #phpcon_okinawa #track_a
    使ってみよう
    $ php -l hello.php
    No syntax errors detected in hello.php
    オプション「 -l 」(小文字のL)

    View Slide

  17. @kotomin_m #phpcon_okinawa #track_a
    例)構文エラーがあるコード
    オプション「 -l 」(小文字のL)
    // hello.php
    echo '私は沖縄ぺち
    シングルクォートを
    閉じてない

    View Slide

  18. @kotomin_m #phpcon_okinawa #track_a
    使ってみよう
    $ php -l hello.php
    PHP Parse error: syntax error, unexpected
    string content "私は沖縄ぺちぱー" in
    hello.php on line 3
    オプション「 -l 」(小文字のL)

    View Slide

  19. @kotomin_m #phpcon_okinawa #track_a
    「-S」はビルトインウェブサーバーを起動
    → 開発やテストのための手軽なローカルサー
    バー(本番では使わない)
    オプション「 -S 」(大文字のS)

    View Slide

  20. @kotomin_m #phpcon_okinawa #track_a
    例)クエリパラメータに都道府県を
      受け取って表示する
    オプション「 -S 」(大文字のS)
    // phper.php
    // 引数 $prefecture を受け取る
    $prefecture = $_GET['prefecture'];
    echo '私は' . htmlspecialchars($prefecture) . "ぺちぱーです!";

    View Slide

  21. @kotomin_m #phpcon_okinawa #track_a
    オプション「 -S 」(大文字のS)
    使ってみよう
    $ php -S localhost:8000 phper.php
    [Sat Sep 16 17:00:00 2023] PHP 8.2.10
    Development Server (http://localhost:8000)
    started

    View Slide

  22. @kotomin_m #phpcon_okinawa #track_a
    オプション「 -S 」(大文字のS)
    ブラウザから見てみよう

    View Slide

  23. @kotomin_m #phpcon_okinawa #track_a
    「-t」でドキュメントルートを指定して起動
    $ php -S localhost:8000 -t src/
    [Sat Sep 16 17:00:00 2023] PHP 8.2.10
    Development Server (http://localhost:8000)
    started
    オプション「 -S 」と「 -t 」

    View Slide

  24. @kotomin_m #phpcon_okinawa #track_a
    ビルトインウェブサーバーの使い所
    ● 新しくお試しで開発したい!

    View Slide

  25. @kotomin_m #phpcon_okinawa #track_a
    ビルトインウェブサーバーの使い所
    ● 新しくお試しで開発したい!
    ● 気軽にバグを再現してデバッグしたい!

    View Slide

  26. @kotomin_m #phpcon_okinawa #track_a
    ビルトインウェブサーバーの使い所
    ● 新しくお試しで開発したい!
    ● 気軽にバグを再現してデバッグしたい!
    ● 素朴で考慮漏れのある PHP コードをテス
    トコードとともに補強したい!

    View Slide

  27. @kotomin_m #phpcon_okinawa #track_a
    ● 新しくお試しで開発したい!
    ● 気軽にバグを再現してデバッグしたい!
    ● 素朴で考慮漏れのある PHP コードをテス
    トコードとともに補強したい!
    ビルトインウェブサーバーの使い所

    View Slide

  28. @kotomin_m #phpcon_okinawa #track_a
    紹介したオプション まとめ
    ● 「-h」 ヘルプを表示
    ● 「-a」 対話式シェルを起動
    ● 「-i」 PHPの設定を確認
    ● 「-l」 構文をチェック
    ● 「-S」 ビルトインウェブサーバーを起動
    ● 「-t」 ドキュメントルートを指定

    View Slide

  29. @kotomin_m #phpcon_okinawa #track_a
    PHPで今よりちょっと
    楽しく開発しよう!

    View Slide