menu
阿波銘木 公式ブログ

有限会社 阿波銘木 公式ブログ

Symfony4 Release!!

東京もすっかり寒くなりました。

 

東京では僕の地元の北海道とは違って、クーラーをつけていてもジャージとかの長袖で過ごす毎日です。

ストーブのパワーに脱帽しますね。

 

お久しぶりのwebシステム担当です。

 

さて、前回のブログでSymfony3について書かせて頂きましたが、

ついにSymfony4が正式にリリースされました!!

 

当サイトも既にSymfony4へのコンバートに取り掛かっており、来年頭には4系での運用に入る予定です。

ちなみに同時期にリリースされた3.4は長期サポートになっておりますのでリスクを背負わずにSymfonyを使いたい方はまだ4系にするべきではないですね。

この辺は好みにもよると思いますが。

(追記:2017年12月26日により、当サイトはSymfony4.0.2・PHP7.2.0での運用を開始致しました。)

 

そんなSymfony4ですが2系3系と比べて非常に大きく変わった印象を受けます。

と、言うコトで下記にまとめてみます。

 

Bundleless Applicationになった↓↓

これが最も大きく変わった部分ですね。Bundlelessにするのは想定外でした。

Symfonyといえば2系からはBundleを切りながら、そのBundle内で1アプリケーションの機能を完結させるフレームワーク設計だったのですが、それがなくなりました(1系は忘れましたが似たような機能があったような)。

僕個人の感想ですが、Bundleを切ることでその中で完結できる反面、各Bundleごとに似たようなロジックを書くことも多いなという印象がありました。

もちろん共通のBundleを切るなりclassを実装するなりしてそっちを見ろよという意見もあると思いますが。

 

Controller Action Namingの変更↓↓

毎度恒例だったController内のfunctionにActionサフィックスをつける必要がなくなりました。

 

DIが使いやすい↓↓

DIとはDependency Injection(依存性注入)のコトを指します。

3.3系の時からなのですが4系も変わらずDIが圧倒的に使いやすいです。それまでずっと設定ファイルがカオスになってましたからね^^;

PHPのフレームワークではLaravelのDIが衝撃的に使いやすかったのですが、今のSymfonyも同じくらい使いやすいと思います。

詳しいコトはこちらのリファレンスを見れば分かるかと思います。

 

Annotationで設定を記述するのがBest Practices↓↓

Best PracticesではRoutingなどはAnnotationで記述したほうがいいとのことです。

従来と同じく設定ファイルにまとめる方法でも出来ますが、デフォルトの設定がAnnotationでやろうねってなっていますね。

当サイトも現在、設定ファイルから各Annotationへの記述に寄せています。

正直、yamlで設定するほうがいいんですが。。。

 

ディレクトリ構造が変わった(おまけ)↓↓

メジャーバージョンアップの際は毎度好例なのですが今回もディレクトリ構造に変更があります。

また、設定ファイルにも変更があります。

まぁ儀式のようなものなのでリファレンスを読めば問題ないですね。

 

 

サンプルロジックもGitHubに上がっていますのでそれを見たほうがしっくりくるかもしれません。

僕はサンプルロジック等は見ていません。リファレンスを見た結果、内部で使われているclass何かはほとんど同じと判断したので。

思想は大きく変わりましたが、1つ1つのclass自体はほとんど変化はないように思えます。

 

個人的には、旧バージョンより非常に使いやすくなった印象を持ちました。

 

 

 

これからバグなんかも出てきて何度かマイナーバージョンアップがあるかと思います。

Symfony4がどのように評価されるか今から楽しみです。

Symfonyの奏でかた

最近は阿波銘木のシステム開発にも精力的に関わっています。

 

お久しぶりです。webシステム担当です。

 

今日の東京は暑かったです。

朝から中央線が人身事故で動かなかったのが悲しかった。。。

なぜ自分はこんな日に限って早起きしたのだろうと^^;

 

まぁ、それはいいや^^

 

さてさて、

7月に当サイトのレスポンシブWebデザイン版をロンチした後は、臼・杵のページをアップデートしただけでフロントにはほとんど手を入れていません。

では、何をしてるの??と言いますとサーバーサイドの改修を行っています。

 

いつかのブログでも書きましたが当サイトはフレームワークにSymfonyを採用しています。

 

開発当初は最新版が2.3だったのですが現在はサポートも切れてしまったので(まぁサポートなどどうでもいいが^^;)現在はSymfonyのバージョンアップに注力しています。

 

現在はSymfony2.8で運用しているのですが、開発環境では3系にバージョンアップをしています。

ロンチ出来るのもまもなくではないでしょうか。

(追記:2017年09月30日により、当サイトはSymfony3.3.10での運用を開始致しました。)

まぁロンチしたところで誰も分からない部分ではありますが。。。

開発者としては最新版で運用することはとても大切なことです^^

 

また、それと平行してPHPを5系から7系にバージョンアップしました。

PHP7は無名クラスやメソッドの引数・戻り値での型付けなどの点で大きな変更があり、限りなくJavaに寄せてきたなという印象です。7.1からはNullableやvoidの指定(今までは戻り値の指定がない場合はnullが返る仕様でした)もできます。

これはJava出身の僕からするとありがたい話で、Symfonyのバージョンアップと平行して7系にどんどん寄せています。

当サイトは今現在、PHP7.1.10で運用しています。

 

本当にこの世界は移り変わりが激しいですね。

もう8年前になります。

僕が初めてSymfonyを採用したときは最新バージョンが1.2でした。

当時はSymfonyの奏でかたというブログを見ながら開発していました。懐かしい。

そんなSymfonyも今では3.3までバージョンが上がっています。

そして、PHP4大フレームワーク(CakePHP、Symfony、Zend Framework、CodeIgniter)と言われていた時代も終わり、今はLaravelに人気が集まっています(僕も何度もLaravelのプロジェクトに参画しましたが確かに使いやすい)。

 

ちなみに東京ではPHPを上回る勢いでRuby(Ruby on Rails)が伸びている印象です。

現在は僕も、Ruby on Rails + React.jsの開発に携わっています。

 

アニメーション以外でjQueryを使用するのもそろそろ終わりそうです。Ajaxもaxiosのほうが推奨されてますしね。

 

 

とりあえず今の仕事が落ち着いたらプログラミング言語の勉強を一旦止めて旅行に行きたいです^^

 

最後に大好きなSymfonyのロゴ↓↓

 

 

もうすぐ選挙だ!!

 

 

カテゴリー
最新記事
アーカイブ
カテゴリー
最新記事
アーカイブ
facebook
Twitter
TOPへ戻る