当社はIT技術のオンライン教育を得意としたセミナー専門会社です。 | 一戸英男

ITエンジニアの技術力UPをお約束します。

PHP Laravel framework入門(2) – 簡単なプログラムを作る

本章では最初に簡単なhello worldを表示するプログラムを作成し基本的なLaravelの使い方を学んできます。まず最初にLaravelの環境構築で欠かせないコマンドartisanコマンドの機能のコレクションを確認してみましょう。

artisanコマンド

artisanがサポートするコマンド機能の一覧を確認してみましょう。artisanコマンドは機能が豊富で特に便利なのは他のフレームワークでも出てくるscaffoldな機能です。つまりコントローラやモデル、ビューをある程度雛形で用意してくれる機能を持っています。ゼロから作業するとMVCの関係性をもたせてプログラムを編んでゆく必要があり骨の折れる仕事ですがこの機能を使うと自動生成で雛形を生成するため作業が楽になります。また必要とするデータベースの定義をするとモデルやDB操作を簡単にするORMの機能、DB&テーブルを自動生成してくれます。

helloを出力するコントローラを作成する

コントローラはサイトの基本プログラムロジックを処理するバックグランドの要のエースとも言えるプログラムです。どのプログラムも考え始めるスタートをルーティングとコントローラを合わせるところから始めると理解しやすくなります。

この処理を実施したことでコントローラの雛形が作られています。 プロジェクト直下のappフォルダーの配下には既にhello用コントローラのboilerplate(雛形)が存在します。 正確には「app/Http/Controllers/Hello.php」と言う設置パスでファイルが生成されているので確認してみましょう。

無事にhelloのクラスができましたね。雛形なので中身の処理はありませんが器はできたことが確認できました。次にルーティングを考えます。結局大本の呼び出しはルータの記述から行われそこにしてしているコントローラが呼び出されます。次の処理はいきなりコントローラを呼び出すのではなくルーターから直接ブラウザへ出力を渡します。表示確認を取ってみましょう。

◯ routes/web.php

◯ サーバの起動

ブラウザから http://xxx.xxx.xxx.xxx:7500/hello と入力しアクセスしてみましょう。

問題なければブラウザ画面に「Hello World!」と表示されたはずです。今度は直接ブラウザへ返却するのではなく、先程作ったコントローラを経由して返却してみましょう。先程の記述はコメントアウトにします。代わりにhelloコントローラのクラス名とクラスで定義されている処理をさせるターゲット関数を記述します。「クラス名@関数名」のような表現で記述を行います。尚、反転箇所は記述の追加の部分です。

◯ routes/web.php

◯ app/Http/cintrollers/Hello.php

再度サーバを起動してhttp://xxx.xxx.xxx.xxx:7500/hello へアクセスすると「hello world from controller : )」が表示されましたか?表示されたら成功です。

コントローラからViewを通じて表示させる。

◯ app/Http/Controllers/hello.php

◯ routes/web.php

◯ resources/views/hello.blade.php

以上の作業が終わったらブラウザから「http://xxx.xxx.xxx.xxx:7500/hello/[あなたの名前]」でアクセスして見てください。画面上に大きな文字であなたの名前で表示されるはずです。