Laravelは開発環境をそのまままとめてアップロードするだけで共用LAMP鯖でも動くから感動する
お名前.comの共用サーバーに開発中のLaravelプロジェクトをディレクトリまるごとアップしたら普通に動いて身が震えた話。
Javaグラマー歴が長いのでPHPのこういう適当にやって適当に動くところすごいと思う。Cakeでも似たような感じなんだろうか。
Laravel5.1でWEBサイトを作ってる
普段はもっぱらJava(最近はApacheじゃない方のSpark + Jettyとか)でやってるんだけど、たまには他の言語に馴染もうと思って、今回の案件はPHPを採用した。
案件自体はある組織のWikiみたいなシステムを組むというもの。要件だけ満たせばいいのでフレームワークの指定とか特に無し。
最初はプレーンのPHPをガリガリ書いてレガシーすぎるクソみたいなコード量産してたんだけど、旧石器時代めいたウンコードに流石に罪悪感を覚えてフレームワークの導入を決意。
CakePHPとLaravelとPhalconで悩んだけど、世界的にはすでにCakePHPを上回るトレンドらしいLaravelに決定。Phalconは一番レスポンスいいらしくて惹かれたけど、今回のプロジェクトはそこまで大きくないしアクセスもそんなにないと思うので見送った。ちなみにLaravelは遅いらしい。
データモデル作らなくていいの楽すぎない?
LaravelじゃなくてPHPの仕様だけど、いちいちデータモデル作らなくていいのはすごい楽ね。メンバ変数の宣言すらいらないってどーなっとんねん。
その分コンパイルエラーがないからコーディングの時点でエラーに気づけないとかあるけど、まあその辺りはトレードオフだよね。あとは型がないのが気持ち悪い。
SparkとLaravelを比較してみる
あくまで自分が使ってみた範囲で。いかんせんWEB開発の経歴自体がそんなにないから凄まじく適当。
Spark | Laravel | |
---|---|---|
言語 | Java | PHP |
IDE | eclipseが有能すぎる | Sublime3で十分 |
コーディング | eclipseが有能すぎて楽 | 普通に楽 |
デバッグ | やりやすい | やり方がよくわからん |
テンプレートエンジン | FreeMarker | Blade |
DB周り | 別途導入 | 標準装備 |
デプロイ | ビルドして配置して組み込みならサーバーを起動 | 置くだけ |
レンタルサーバー | Javaが動くレンタルサーバーは少ない | ロリポですら動く |
まあそもそもの用途が違うだろうしあんま意味ない比較。Laravelは今まで触った中だとRailsに一番近い気がする。Javaで言えばSeasarかな。
手っ取り早くWEBサービスを組むならかなり楽。でもリファクタリングとかやりにくそうだけど、どうなんだろう。
DB周りも、定義を数行書き換えればすぐ繋がる。DB::table("tablename")->get()でSELECT *が走るし、便利。Sassとかも標準対応だし至れり尽くせり感がある。
お名前.comの共用サーバーに配置してみた
最初はcurlでcomposer突っ込んでLaravelインストールしようとしたんだけど、なんか色々足りないしapt-get(もしくはyum)が動かなかったり、そもそも共用サーバーだしで無理だった。
ので、ローカル環境のLaravelプロジェクトをまるごとZIPに圧縮してFTPからアップロード。SSHからunzipして適当なディレクトリに配置。.envを編集してDBの定義を書き換えてみた。
動いた。
えぇ……これだけで動くんか。すごいね。
途中phpMyAdminを突っ込んでdrop table走らせたらWAFにSQLインジェクションだって罵られた上に403しか返してくれなくなったりしたけど、まあその辺は蛇足。
しかしそれにしても色々と楽だ。PHPが流行ってる理由がわかった気がする。
国内じゃまだCakePHPの方が強いみたいだけど、Laravelもおすすめ。(CakePHP触ったことないけどな!)
Laravel リファレンス[Ver.5.1 LTS 対応] Web職人好みの新世代PHPフレームワーク
- 作者: 新原雅司,竹澤有貴,川瀬裕久,大村創太郎,松尾大,丸山弘詩
- 出版社/メーカー: インプレス
- 発売日: 2015/12/04
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る