概要
・PHP開発の問題点
セキュリティーの問題
メンテナンスの問題
拡張性の問題
これらを解決するために、フレームワークを使用する。
フレームワークは、ライブラリではありません。
プログラムの基本的な部分はフレームワーク自身に組み込まれているプログラムによって行う。呼び出されて動くプログラムの部分を作成することになる。
2012年にリリースされた、比較的若いフレームワーク。
MVCフレームワークと言い、Model-View-Controllerの各機能に分けて整理し、これらのパーツを作ることで、開発を行う。
Laravelインストール
ネットからComposerをダウンロードして、インストール。
コマンドプロンプトからLaravelをインストール。
ここまではOK コマンドプロンプトから cd larabelapp へ移動
php artisan serve としたらエラー発生
PHP Warning: require(C:\Users\oono\Desktop\laravelapp/vendor/autoload.php): failed to open stream: No such file or directory in C:\Users\oono\Desktop\laravelapp\artisan on line 18
PHP Fatal error: require(): Failed opening required 'C:\Users\oono\Desktop\laravelapp/vendor/autoload.php' (include_path='.;C:\php\pear') in C:\Users\oono\Desktop\laravelapp\artisan on line 18
require __DIR__.'/vendor/autoload.php';
フォルダ内にvendor や他のファイルが制作されていなかった。なぜ作られていなかったのかわからないけど、別で作ったファイルをコピーしてフォルダにブチ込んだら動いた。
フォルダ
appフォルダ
routesフォルダ
resourcesフォルダ
をよく使うことになる。
ルーティングについて。一般的なWEBサイトは、http://フォルダ名/ファイル名.htmlという形になるが、Laravelのようなフレームワークでは、そうはならない。
特定のアドレスにアクセスをすると、そのアドレスに割り付けられたプログラムが実行されて、その結果、必要な処理や画面が作られる。
〇〇というアドレスにアクセスしたら、××という処理を呼び出す。
という関連付けを行っているのが、「ルーティング」という機能。
ルーティングは、アクセスを設定している情報を管理する機能。
routesフォルダにまとめてあり、api.php channels.php console.php wev.php
上記の4つがある。
WEBページの表示
routesフォルダの中に、web.phpがある。その中に、関数が入っている。
その関数を使って、テンプレートを呼び出してブラウザに表示する仕組みになっている。
どこへ呼び出しに行っているかというと、resourcesフォルダのviewsフォルダの中。
ここにファイルがある。
そのファイルは少し特殊で、HTMLでもPHPでもない、bladeというLaravelに組み込まれているテンプレートエンジンを使って書かれたソースコード。
web.phpに以下のように入れると
Rout::get(名前,function(){
return 直接HTMLを入力
});
localhost:8000/名前 としたら、直接入力したHTMLが表示される。
ルーティングはWEBページを作って表示するためのものだけではありません。
実行すべき処理を用意し、それを呼び出す機能です。
コントローラーについて
MVCとは・・・Model-View-Controllerの略
Model データ処理全般を担当 データベースにアクセスに関する処理全般
View 画面表示を担当 表示に使うテンプレートなど
Controller 全体の制御を担当する。ModelやViewの機能をコントロールします。
アプリケーションの処理をMVCの3つの要素の組み合わせとして構築していく考え方のこと。Laravelの場合、まずはControllerを作って、それに応じて、ModelやViewを制御しますので、Controllerを作るところから始まります。
C:\Users\oono\Desktop\laravelapp>php artisan make:controller HelloController
Controller created successfully.
コマンドプロンプトで実行
1、laravelのプロジェクトフォルダへ移動する。
2、php artisan make:controller 任意の名前Controller と入力してエンター
3、laravelapp\app\Http\Controllers に任意の名前のコントローラーが出来ている。
4、コントローラーファイルを開いて処理したい内容を記述する。
5、ルートフォルダに呼び出したいコントローラーとアクション名を追加する。
6、サイトへアクセスすると、コントローラーから呼び出された処理が行われる。
ルートパラメーターの利用
できた。追加するときには、ちゃんと、public function index($id='noname',$pass='unlnown'などの指定を追加しておかなければ、見つかりません。となる。間違った。