LoginSignup
3
2

More than 5 years have passed since last update.

Laravel の独習をこれから始めてみようぜ

Last updated at Posted at 2017-06-21

PHPでWebサイトを作るときの定番フレームワークの1つに Laravel がある。

これは Git Hub で 3万を超える星の数や、1万を超えるフォークの数、
5千を超えるコミット回数と ほぼ黄緑のコントリビューションの更新回数を見ると
どうもこの おっさん1人で がんばってるんじゃないか、と思うほど
器用に更新され続けているように見える。

評判をググってみよう。

「Laravelを使うべきか」kore1server
https://kore1server.com/322/Laravel%E3%82%92%E4%BD%BF%E3%81%86%E3%81%B9%E3%81%8D%E3%81%8B

ソースコードは ぐちゃぐちゃらしい。

「phpフレームワーク laravel を仕事で使っている人はいますか?」teratail
https://teratail.com/questions/14946

他にシンプルなフレームワークがあるのに、なんで Laravel を使うのか、という話しらしい。
特に難しいのは 「構築」段階で、それ以降は楽らしい。

「Laravelとは..?! このフレームワーク流行ってるの?」ハマログ
https://blog.e2info.co.jp/2016/05/06/laravel%E3%81%A8%E3%81%AF-%E3%81%93%E3%81%AE%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E6%B5%81%E8%A1%8C%E3%81%A3%E3%81%A6%E3%82%8B%E3%81%AE%EF%BC%9F/

「「Laravel 5」を使って簡単な投稿フォームを作成する」tv asahi mediaplex
http://www.mediaplex.co.jp/blogs/creative/laravel-5-form/

Laravelが言う「簡単」というのは、テンプレートが用意されていて 特定のパターンなら簡単だ、という話しに見える。
どんなテンプレートがあるのか分からないが……。

フレームワークなんで、何をしたら実行速度が高速化するのかとか、メモリが省メモリになるのかとか、そういうコンピューターの方を向いた意味でのプログラミングは全部丸投げだろう。
どんな実用的な問題を解決してくれるのか、業務、画面デザインの方を調べたいところだ。

日本語版のサイトのようなドメインもあった。

「ウェブ職人のためのPHPフレームワーク。」
http://laravel.jp/

おそらく このサイトは PHPと Laravel で作られていることが期待できる。

コミュニティや ドキュメントは 数人で回してるんだろうか。
エヴァンジェリストが回してる感がある。

「Laravel を使った開発」indival
https://www.indival.co.jp/2016/10/19/3341/

すると テンプレを調べたらいいのか。

「【初心者向け】Laravel5 Bladeテンプレートでレイアウトを作る方法」
http://tech-swing.net/web/blade/

うーむ。
Laravel を使うだけでなく、
何に どんな部品を 使うかも調べないとダメか。

Blade、というか PHPテンプレートエンジン とは?

「Laravel 5.1 Bladeテンプレート」
https://readouble.com/laravel/5.1/ja/blade.html

知ってるPHPと違う。

PHPのフレームワークでは HTMLの中に

<?php

と書くなどして PHP を埋め込むやつと、もう独自でただのテキストのやつとかがある。

独自形式ということは デバッグ用のソフトも独自のものになりやすいということだ。

「完全版! テンプレートエンジン チートシート (blade, twig, volt, smarty, mustache, の比較もあるよ)」sekaie engineers' blog
http://sekaie.hatenablog.com/entry/2015/12/08/203810

うわー。

Laravel の人気が伸びているのは、ビュー(HTMLとか書くやつ)に Blade を使っているからじゃないか、と思えなくもない。

書式は PHP に似ているようだ。
じゃあ Blade は 後で覚える ことにしよう。次。

Laravel の Version は 5.1 を勉強しておけばいいのか。

LTS (Long Term Support)というのが、不具合対応が長めに続く安定サポート版で、
それが直近では v5.1、来月に v5.5 が LTS に加わる予定らしい。

じゃあ、とりあえず Version 5.1 だけ勉強しよ。

なんか Version 5.1 に付いてない機能もありそうだ。Artisan Console とか。
Version 5.5 に乗り換えることを狙って Version 5.4 を勉強するのもありか。

山ほど出てくる PHP5.4以降の連想配列

「配列」
http://php.net/manual/ja/language.types.array.php

なんか、

「Database: Getting Started」
https://laravel.com/docs/5.1/database

'mysql' => [
    'read' => [
        'host' => '192.168.1.1',
    ],
    'write' => [
        'host' => '196.168.1.2'
    ],
    'driver'    => 'mysql',
    'database'  => 'database',
    'username'  => 'root',
    'password'  => '',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
],

こういう感じで PHP5.4 以降の連想配列の書き方が山ほど 出てくるんだが、
=> という記号が出てくるせいで C#マンには難しいことを考えてしまうが
単に 名前 => 値 なんで、

シングルクォーテーションとか カンマとか いっぱいで
目が ちかちか してしまうんだが 省いてみれば、

mysql :
    read :
        host : 192.168.1.1
    write :
        host : 196.168.1.2
    driver : mysql
    database : database
    username : root
    password :
    charset : utf8
    collation : utf8_unicode_ci
    prefix :

これぐらいの意味だ。PHPの連想配列の読みにくさが悪い。

ただの コンフィグ・ファイル ぐらいの意味で、
こういう連想配列でデータを受け渡しするのが 山ほど出てくる。
mysql.read.host = '192.168.1.1' 、とか1個1個書いていく
プログラミングとは ちょっと違う。

C# は C# で別の簡略化した初期化方法を用意しているが、
構文のせいで 自分に分かりづらくなっているところはある。

PHPの構文に目を慣らさないと、C#プログラマーには何がビューティフルか分かりにくい

「Artisan Console」
https://laravel.com/docs/5.1/artisan

よく こんな書き方をする。

$this->drip->send(User::find($this->argument('user')));

-> とか、 :: とか出てきて目がぼんやりしてくるんだが、もし C# だったら こんな書き方になる。

this.drip.send( User.find( this.argument("user") ) ) ;

慣れるしかない。

他のPHPに比べると ビューティフルなコード、という意味なのかもしれない。

インストールするにも

「Installation」
https://laravel.com/docs/5.4

公式のインストール方法を読んでもさっぱりわからん。

「How To Install Laravel PHP Framework on a CentOS 7 or RHEL 7」syslint
https://syslint.com/blog/tutorial/how-to-install-laravel-php-framework-on-a-centos-7-or-rhel-7/

うーむ。

データベースは mariaDB ?

MySQL と mariaDB は 一緒に入れてるとバッティングするような記事も読んだし、
MySQL 捨てていいんなら MySQL 捨てて mariaDB で行くんだが、

客が どっちにしてください、と言うかなんて 分からないからな。
mariaDB の方がいいかと思うんだが、

「Debian(Wheezly 7)で MySQLからMariaDB へ移行してみる」
http://server-setting.info/debian/debian-wheezly-mysql2mariedb.html

よくよく考えると 日本の客先で多いのは Oracle だよな。
Oracle は MySQL 買収したんだっけ?

うーむ。
どこまで外国の大企業に税金払うのが好きなんだろな。それにもよる。
個人でやるなら mariaDB なんだが。

データベース決まらないんで座学で

周辺知識だけ調べておこう。

ディレクトリーは

/var/www/laravel

といった感じにするのがいいんだろうか。
そこへ composer を使って インストールしたらいいのか。
しかし何を。

Laravel の API

ドキュメントはあるようだ。

「Namespaces」Laravel API
https://laravel.com/api/5.4/

なんで Laravel のネームスペースの名前が illuminate なのか分からないが 分けわからん。

他の人も なんだこれと思ってるようだ。

「Laravelソースコードの歩き方」kore1server
https://kore1server.com/326

3
2
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
3
2