概要
去年からWeb開発(Laravel)参入、
その前にC,C++はメインです。
まったく別の世界ですが、面白かったです。
転職により技術スタッフが若干変わる予定なので(Web開発は変わらない)
いままで使っていたLaravel開発に関して、問題点などまとめたいと思います。
1.開発環境
一番最初、もちろんQiitaの記事を参考
【超入門】20分でLaravel開発環境を爆速構築するDockerハンズオン
その時点で、PHPの経験もないし、MySQLの経験んもほぼない状態です。
とりあえず、うまく開発始まりました。
Dockerの環境を弄って、だんだんPHPとMySQLのやり方が分かったので、
その後(一か月以降)、WampServerやMySQL Workbenchなどいろいろ良いツール
の存在が知っていて、ローカル環境に移行しました。
デプロイの部分は
会社Azureを使っているので、VSCodeのAzure拡張機能を使って簡単にデプロイできます。
2.認証
開発環境と同じように、最初何もわかってなかったので、
Fortifyというモジュールをそのまま使っています。
中身の訳わからないままに、ドキュメントを参考して動かしました。
下のMultitenancy開発の時、Fortifyなしですべて書き直しましたが、それは半年以降の話です。
3.PDF
PDF生成に関して、Qiitaでいろいろ情報を読んで、
最初Laravelのバックエンドで直接にPDFでJavascriptのグラフを生成したいんですが、難しそうです。
結局tcpdfを決めました。
しかし、composerのバージョンはどうしても古そうなので、
Githubで最新のファイルを入れ替えならければいけません。
グラフの部分は結局JavascriptのjsPDFとhtml2canvasを使ってフロントエンドでやりました。
4.多言語
多言語に関して、大体ドキュメントに記載されています。
他に助かった参考は下記
Localization Implementation in Laravel with Language Switcher
5.Multitenancy
これは私に対して、一番難しかった対応だと思います。
でも、これをきっかけにLaravelのフレームワーク自体を大体理解できています。
Providers,Middlewareの仕組みなど
これに関して、大変助かったリンクは下記
Multitenancy in Laravel: Migrations, Testing, and switching tenants
Multitenancy in Laravel: Configuring sessions
さらに、上記のビデオにはdomainのMultitenancyを紹介しましたが、
他の状況、subdomainやpathなど
Laravel multi-tenancy, avoiding over engineering
の記事ですごく分かりやすく紹介されています。
6.Heatmap
基本的にHeatmap.jsは使いやすいです。
Heatmap.js
所感
以上はLaravelに関する出った課題です。
しかし、これらの課題は開発全般に対してそんなに時間がかからなかったんです。
開発の時、もっとも時間がかかったのは、
1.要求の検討(お客様とのやり取り、開発案の決めなど)
2.言語の使い方、初心者なので、PHPやJavaScript,HTML,CSSなどそれぞれの勉強は一番時間かかりました。
3.データベースの設計(お客様の要求はずっと変わっているので、データベース設計の見直しは3回ぐらいやりました)
振り返ると、Laravel自体はそんなに詰まったことはないんです。
つまり、すごく良いフレームワークだと思います。