Fuel php勉強会 1

Preview:

Citation preview

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:\xampp\php)にパスを通す

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

MVCModel View Controller◦どんな挙動をするのかを試してみる

id1のユーザ名を表示するプログラムを実装する

37

事前準備データを入れておく◦ Tabletestにid1のデータを追加しておく

38

MVCController◦ユーザがデータを要求するメソッドを用意する

◦ action_getuser1()メソッドを実装

◦ クラス名/メソッド名でアクセス可能

◦ return したものが表示されている

39

fuel/app/classes/controller/tabletest.php

MVCModel◦ DBの処理やロジックの処理等を担当

◦基本的な機能はModelクラスが既に実装している

40

fuel/app/classes/model/tabletest.php fuel/app/classes/controller/tabletest.php

MVCView◦ユーザに見える箇所の処理

◦ fual/app/views/tabletestフォルダにtest.phpを作成

41

fuel/app/views/tabletest/test.phpfuel/app/classes/controller/tabletest.php

まとめFuelPHPを動かすまでの手順をやりました◦事前準備が意外と多い

MVCがどう動いているか?を試しました◦他のフレームワークでも大体同じです

とりあえず導入…ということで色々省いています◦希望があれば第2回やります

42

参考文献・スライド本◦ FuelPHP入門 (株式会社ソーテック社)

Web◦ Objective-PHP.NET

43

44