FuelPHP 勉強会
神奈川工科大学大学院 情報工学専攻
猪狩 知也
目次
・はじめに
・FuelPHPについて
・MVCについて
・開発環境のインストール
・FuelPHP体験
◦ 事前準備
◦ oilコマンド
◦ Model View Controller
2
はじめに
今回の対象
・PHPやその他プログラミング言語を触ったことある人
・ApacheやMySQLも少し触って鯖やDBがなんとなくでも分かる人
分からないことあったらその場ですぐに聞いて下さい
3
FuelPHPについて
PHPのMVCフレームワーク
4
FuelPHPについて
特徴
・PHP 5.3ベース
・使用するクラスの自動読み込み
・oilコマンドにより開発支援
・ViewModel
・HMVC対応
5
MVCについて
Model View Controller
・3つの機能に分割
・コントローラー
◦ リクエストの処理やモデルとビューの制御
・モデル
◦ データの処理
・ビュー
◦ 描画部分の処理
6
MVCについて
例) 掲示板でスレッドを表示する
7
Controller
書込一覧の取得
Model
View
HTMLの取得
ブラウザに描画
DBから書込一覧取得
HTMLのコードを生成
開発環境
Windows上での開発環境の準備
・必要な物
◦ fuelPHP本体
◦ xampp
◦ NetBeans
8
開発環境の準備
FuelPHP
◦ http://fuelphp.com/
◦ ダウンロードv1.7.1を押して任意のフォルダに保存する
9
開発環境の準備
FuelPHP
◦ 任意のディレクトリに解凍する
◦ よく分からない人はDドライブにFuelPHPフォルダを作ってそこに解凍する
10
開発環境の準備
xampp
◦ https://www.apachefriends.org/jp/index.html
◦ ApacheやMySQLなどが色々入ってるもの
◦ ダウンロードしてインストールして下さい
11
開発環境の準備
NetBeans
◦ https://ja.netbeans.org/
◦ PHPの統合開発環境
◦ ダウンロードしてインストールして下さい
12
事前準備
ApacheとMySQLを起動
◦ xamppのコントロールパネルから起動させる
◦ ポート80を使うのでSkypeと競合します
13
事前準備
ApacheとMySQLを起動
◦ 緑になればOK
14
事前準備
セキュリティ関連の設定
◦ http://localhost/xampp/index.php にアクセス
◦ 左のメニューのセキュリティをクリック
15
事前準備
セキュリティ関連
◦ セキュリティ設定をするURLにアクセス
16
事前準備
セキュリティ関連
◦ MySQLのパスワードを設定する
17
事前準備
DB設定
◦ xamppのメニューのtoolsからphpmyadminを開く
18
事前準備
DB設定
◦ MySQLにログインする
◦ ユーザ名はroot パスワードは先程設定したパスワード
19
事前準備
DB設定
◦ 今回の勉強会用のDBを作成する
20
事前準備
DB設定
◦ 今回の勉強会用のDBを作成する
21
事前準備
PHPのパスを通す
◦ xamppをインストールしたフォルダ/php(C:xamppphp)にパスを通す
22
事前準備
プロジェクトの作成
◦ NetBeansでファイル→新規プロジェクトを作成するを選択する
23
事前準備
プロジェクトの作成
◦ 既存のソースを使用するPHPアプリケーションを選択して次を押す
24
事前準備
プロジェクトの作成
◦ 下記の通りに記述して次へを押す
25
fuelPHPを解凍したフォルダ
好きなプロジェクト名
UTF - 8
事前準備
プロジェクトの作成
◦ 下記の通りに設定して終了を押す
26
http://localhost/(プロジェクト名)
チェックを付ける
事前準備
プロジェクトの作成
◦ 左のメニューに作られたプロジェクトが表示されます
27
事前準備
config設定
◦ fuel/app/configフォルダ内のconfig.phpを修正
◦ always_load配列をコメントアウトから外す
◦ Package配列のormをコメントアウトから外す
28
行数 修正前 修正後
260行目、273~275行目、311行目 コメントアウトされている コメントアウトをはずす
事前準備
DB設定
◦ fuel/app/config/developmentフォルダ内のdb.phpを編集
29
行数 修正前 修正後
9行目 'mysql:host=localhost;dbname=‘fuel_dev', ‘mysql:host=localhost;dbname=‘作ったDB名’,
11行目 'password' => 'root', ‘password’ => ‘設定したパスワード',
事前準備
とりあえず試してみる
◦ http://localhost/fueltest/public/ にアクセス
◦ こんなのがでてくればOKです
30
事前準備
とりあえず試してみる
◦ http://localhost/fueltest/public/hello/igaiga にアクセス
◦ hello/○○ の○○の部分が出てくる
31
oilコマンド
scaffold
◦ テーブルの自動生成
◦ 付属するモデルやコントローラ等も自動生成
32
oilコマンド
テーブルの作成
◦ oilコマンドを使ってtabletestテーブルを作成
◦ プロンプトを開きfuelPHPを保存したディレクトリに移動
◦ php oil g scaffold tabletest id:int name:varchar[128] を実行
33
oilコマンド
コントローラー等が自動生成されているのを確認
34
oilコマンド
テーブルの作成
◦ scaffoldを実行した時点ではmygrateファイルを生成した所まで
◦ php oil refine mygrateをすることでDBにテーブルを作成する
35
oilコマンド
DB操作
◦ http://localhost/fueltest/public/tabletest にアクセス
◦ 色々Web上で操作できます
36
MVC
Model View Controller
◦ どんな挙動をするのかを試してみる
id1のユーザ名を表示するプログラムを実装する
37
事前準備
データを入れておく
◦ Tabletestにid1のデータを追加しておく
38
MVC
Controller
◦ ユーザがデータを要求するメソッドを用意する
◦ action_getuser1()メソッドを実装
◦ クラス名/メソッド名 でアクセス可能
◦ return したものが表示されている
39
fuel/app/classes/controller/tabletest.php
MVC
Model
◦ DBの処理やロジックの処理等を担当
◦ 基本的な機能はModelクラスが既に実装している
40
fuel/app/classes/model/tabletest.php fuel/app/classes/controller/tabletest.php
MVC
View
◦ ユーザに見える箇所の処理
◦ fual/app/views/tabletestフォルダにtest.phpを作成
41
fuel/app/views/tabletest/test.php
fuel/app/classes/controller/tabletest.php
まとめ
FuelPHPを動かすまでの手順をやりました
◦ 事前準備が意外と多い
MVCがどう動いているか?を試しました
◦ 他のフレームワークでも大体同じです
とりあえず導入…ということで色々省いています
◦ 希望があれば第2回やります
42
参考文献・スライド
本
◦ FuelPHP 入門 (株式会社ソーテック社)
Web
◦ Objective-PHP.NET
43
44

Fuel php勉強会 1