5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Web × PHP TechCafeAdvent Calendar 2019

Day 10

PHP7.4の新機能を追う/PHPの謎仕様/ソースコード共有サービス/PHPの歴史【Web x PHP TechCafe 1杯目】

Last updated at Posted at 2019-12-10

PHP × Web Tech Cafe

『Web×PHP TechCafe』は、WebやPHPに関わるITエンジニアがスキルアップのために開発や勉強、LTをするコミュニティです。オフィスをスキルアップの場としてご提供します。

今回は PHP × Web Tech Cafe 11月の内容をまとめてお伝えします!!

Lightning Talks

参加者の方にLTを行っていただきました!

  • Javaエンジニアが怖いと思うPHPの仕様
  • ソースコード共有サービス emoscode (エモすこ)
  • The World of PHP

Javaエンジニアが怖いと思うPHPの仕様

by soachr さん

Java を3年半使っていたsoachrさんから見た、PHPの不思議なところを紹介いただきました。
PHP初学者のあるあるがたくさん含まれていました。

  • ifの中で代入する場合の挙動 → Javaならエラーなので違和感あり
  • 空文字をifの条件に入れる → 型がないので普通に実行できてしまう
  • 第二引数がない関数 → エラーにならない

→ PHPは ゆるふわ!!

ソースコード共有サービス emoscode (エモすこ)

by ともたこ さん

ともたこさんが作成したソース共有サービス「エモすこ」を紹介いただきました!
テーマは 「エモいコードにすこを加える」だそうです!

  • ソースコード共有サービス
  • ソースコード上にコメントを貼り付けられる
  • SNSでのシェアも可能

技術要素

  • フレームワーク:bottle-breaker
  • フロント:JS→TypeScript
  • ホスティング:Heroku
  • etc...

今後の展望

  • 現在はコードのアップロードのみ → 編集、削除ができるようにしたい!
  • 誤解するようなUIを修正

The World of PHP

by @kawanamiyuu さん

PHPとは

  • さまざまな目的で使える

  • 特にWebで使える

  • 十分早い
  • 実用的


PHPは何の略?
→ PHP: Hypertext Preprocessor

PHPの歴史

  • 1995年に誕生(このときは personal Home Page tool の略だった)
  • レガシーとモダン(5.2と5.3で変わる)
    • 名前空間の導入

    • 自動読み込み

    • Composer(依存管理ツール)

    • 型定義


PHPのいいところ

  • 十分に高速

  • webサイトを構築するのに最も使われている言語である

  • よく知ってるサービスで使用されている

  • 公式マニュアルが充実

  • Hello world が異常に簡単

  • コミュニティも活発


まとめ 〜PHPとは〜
Rasmus Lerdorf の言葉

  • PHPは歯ブラシ : 日常で使うあくまで便利な道具である
  • PHPは話し言葉のように進化してきた : 新しい言葉が追加され、古い言葉は使われなくなっていく

ディスカッション議事録

今回は、もくもく学習だけでなく、PHPについてのテーマに基づいたディスカッションを行いました!

今回のテーマ

  • PHP7.4の新機能をRFCを見ながら「何が嬉しいのか、どういう時に使うのか」などを参加者同士でお話しする。

RFC

Migration


今日のディスカッション対象

Typed Properties

クラスのプロパティに型を指定できる。

  • 違う型を指定しようとするとエラー
  • モードで使えるかどうかを指定できる
  • クラスも指定できる → オブジェクト指向の実装がやりやすい
  • 新しいコードから使用していく
  • 型指定があるプロパティとないものの混在も可能
  • NULL許容演算子でNULLを許すかどうか制御できるのが嬉しい
  • コードを読むときに見当がつけやすくなる
  • 変数名の$~~Strが無くせる!
  • ジェネリクスがあったらいいのに...
  • 連想配列の型指定も欲しい

Foreign Function Interface

PHPから他の言語を呼び出せます。

  • 24 vs 15 で可決された
    • そもそものRFCのあり方のディスカッションにもなった
  • 他の言語でも同様のことはできるので世の中の流れ的には納得感ある
  • 文字列で書く仕様はいかがなものか…
  • 記述内容をコンパイルして利用する
    • コンパイル済みの実行ファイル置いておけばいいのでは?
    • 使いようによってはコンパイルした結果をキャッシュすることができる
  • PHPの拡張機能を使うことを想定している?
  • 速度改善が目的?
  • すでに存在するCのコードを生かすため?

参考

Null Coalescing Assignment Operator

Nullかどうかを確認する演算子をさらに省略系にする

  • 書くのは楽になる
  • 読みにくくはならないか?
    • 短いことは読みやすいことである?
    • ??を見たときにコードの意図はすぐ理解できる
  • リクエストパラメータのデフォルト値設定とかに使いやすそう
  • シングルトンパターンのインスタンス存在判定に使えそう

PHPの亜種たちはどこいった??

P++とは?

もっとPHPを厳密化して使いましょうといった言語。
話題になったが提案だけで移行動きがない

参考: P++: 銀河に平和をもたらすための奇策と決着 - Qiita

Hack

Facebookが作成していたPHPを拡張して使おうとしていたもの。

Arrow functions

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?