PHPerKaigiいってきました!

PHPerKaigi@ココネリに参加してきました。
練馬初上陸でした。池袋から一駅でアクセス良きでした。

\公式サイトはこちら/
https://phperkaigi.jp/2018/

3/9,10と開催されてたのですが、3/10のみ参加しました。
お昼ご飯マグロどーん!他にもサンドイッチ、焼肉弁当もありました。
エンディングと懇親会のビールの豪華さが、、、もう最高!
昼食のマグロ丼コーヒー 懇親会のビール

スポンサー様にとっても感謝です。
写真のセンスがないのは、ほっといてくださいw

すべてのセッションが印象的だったんですが、
その中でも2つのセッション内容を自分なりに落とし込んでみました。(自己満ですみません。)
・SOLIDの原則って、どんなふうに使うの?
・BEAR.Sunday

#SOLIDの原則って、どんなふうに使うの?

SOLIDの原則の一つであるオープン・クローズドの原則にフォーカスを当てたお話でした。
この原則については、自身でも過去にかいてます、実は。
このあたり

しかし、これって実践できてる気はしていません。
新人くんの気持ちわかる〜って思ったり、こうやったほうがいいんだろなとか考えさせられたセッションでした。

close →修正を行わない
open →機能を拡張できる
この2つを同時に満たすこと=OCP準拠 !
interface使いこなさなきゃなと思いました。

フレームワークを参考にしてみると、いいとのことで、
もっとフレームワークみなきゃなと痛感しました。

「OCP違反ですよ。」て言いたくなりました。

#BEAR.Sunday

敏腕元上司(あまり人を褒めない)が尊敬していた郡山さんのセッション。
本物の郡山さんに感動しました。
フレームワークBEAR.Sundayで使われてるDI・AOP・RESTのお話でした。

 

ともわれ、使ってみなきゃということで、
クイックスタートしてみました。次回はチュートリアルします!
(リンク:https://bearsunday.github.io/manuals/1.0/ja/quick-start.html)

まずは、composerでbear/skeletonをいれる。

composer create-project -n bear/skeleton MyVendor.MyProject

composer create-project [option] vendor/project target-directory
※ -n (–no-interaction) :対話的な質問の問い合わせはしないよ

 

作成されたMyVendor.MyProjectに入って、

cd MyVendor.MyProject

 

src/Resource/Page/Kin29.phpをつくって、

<?php 
namespace MyVendor\Myproject\Resource\Page; 

use BEAR\Resource\ResourceObject; 

class Kin29 extends ResourceObject { 
    public function onGet( string $word = 'morimori!!!' ) : ResourceObject              
    { 
        $this->body = [
             'getting' => 'kin29 ' . $word
        ];

        return $this;
    }
}

 

GETパラメータなしでリクエスト

$ php bootstrap/web.php get /kin29
200 OK
content-type: application/hal+json

{
    "getting": "kin29 morimori!!!",
    "_links": {
        "self": {
            "href": "/kin29"
        }
    }
}

 

GETパラメータ「word=man」でリクエスト

$ php bootstrap/web.php get /kin29?word=man
200 OK
content-type: application/hal+json

{
    "getting": "kin29 man",
    "_links": {
        "self": {
            "href": "/kin29?word=man"
        }
    }
}

ちょっとアレンジしてます。
GETパラメータ名「word」は、onGet関数の引数名と合わせればなんでもいいようですね。

まだまだ全然わかってません…チュートリアルささっとします。
アノテーションで機能を導かれ、機能となる
print_oすごかった!地下鉄の線路図みたいでした。

 

ほかのセッションで、Hackもやってみたいなと思いました。
型に厳しいということで不慣れなことが多そうですが。
チュートリアル:http://hacklang.org/tutorial.html

 

モチベーション上がるいい機会でした。

スタッフ&スピーカー&スポンサーの皆様ありがとうございました。

投稿者:

kin29man

農学部卒の7年目エンジニアです👩‍💻 PHPとGASが好きです!

「PHPerKaigiいってきました!」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です