FuelPHPについて現役エンジニアが解説【初心者向け】

初心者向けにFuelPHPについて現役エンジニアが解説しています。FuelPHPとは、PHPのWebアプリケーションフレームワークの1つです。他にCakePHPやSyfony、Coleigniterなどのフレームワークもあります。他のフレームワークとの違いやFuelPHPの特徴、実行環境構築方法について解説します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

FuelPHPについて、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

FuelPHPについて詳しく説明していくね!

大石ゆかり

お願いします!

この記事は、PHPのフレームワーク「FuelPHP」についてその特徴と導入方法などを記載した記事です。

PHPにまだあまり慣れていない方でも理解できる内容の記事になっています。

目次

 

FuelPHPとは

FuelPHPは、PHPのWebアプリケーションフレームワークの1つです。

CakePHP、Symfony、CodeIgniterなどのPHPフレームワークなどよりも後に作られた比較的に新しいフレームワークで、それらのフレームワークのメリットを取り入れ活かせるように設計されたフレームワークです。

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

FuelPHPの特徴

FuelPHPの特徴は一言で言うと「シンプル」です。FuelPHPのコア機能の開発者がPHPフレームワーク「CodeIgniter」の開発に携わっていたこともあってCodeIgniterの影響を大きく受けています。

CodeIgniterは、「軽量で速度重視」が特徴なこともあって、その影響を大きく受けているFuelPHPも比較的軽量でシンプルなフレームワークの設計になっています。

PHPフレームワーク「CakePHP」はプログラミング言語「Ruby」のフレームワーク「Ruby on Rails」の「設定よりも規約」というコンセプトを取り入れたフレームワークです。CakePHPを使用した場合のコーディング規約に沿って書けば、短いコーディング量で開発できるというのが特徴です。

しかし、多くの規約を覚えなければいけないため学習コストが高めなことと、規約から外れた記述をすることが難しく柔軟性が低いというデメリットを持ちます。

反対に、FuelPHPは、「規約よりも設定」というコンセプトを元に設計されているため、規約が少ない分コーディング量は多くなってしまいますが、柔軟で自由度の高いコーディングをすることが可能で、また比較的に学習コストが低いのが特徴です。

コーディング規約が少ない分、コードの統一性を取ることが難しいので、大規模ではなく「小・中規模システム」の開発に向いたフレームワークと言えます。

FuelPHPの実行環境構築手順

それでは、FuelPHPの実行環境を構築する手順について解説します。FuelPHPをインストールする方法は大きく分けて2つの方法があります。

  1. コマンドラインを使用してインストールする方法
  2. 手動でインストールする方法

この記事では、「1.コマンドラインを使用してインストールする方法」について解説していきます。

Githubからクローンしたり、Zipファイルをダウンロードするといった、「2.手動でインストールする方法」については、FuelPHPの公式ページに記載がありますので、こちらを参照してください。

まずは、curlライブラリを使用して、oilコマンドをインストールします。

$ curl https://get.fuelphp.com/oil | sh

oilコマンドとは、FuelPHPが提供するコマンドラインツールです。oilコマンドを使用することで新規FuelPHPプロジェクトの作成したり、作成したプロジェクトに設定ファイルを作成したりできます。

curlコマンドが使用できない場合は、curlライブラリがインストールされていない可能性があります。Windowsの場合は、curlのダウンロードページからZipファイルをダウンロードして解答し、インストーラーからインストールしてください。

Macの場合は、Homebrewからインストールが可能です。下記のコマンドを入力してください。

$ brew install curl

次に、インストールされたoilコマンドを使用してFuelPHPの新規プロジェクトを作成します。コマンドラインでプロジェクトを作成したいディレクトリに移動して下記のコマンドを実行してください。

$ oil create <project-name>

<project-name>の部分には作成する新規プロジェクト名を入力してください。実行した結果<project-name>に入力したプロジェクトが作成されたかと思います。

次に、作成したプロジェクトの起動確認を行います。作成したプロジェクトのrootディレクトリ(<project-name>の直下)に移動して下記のコマンドを入力してください。

$ oil server

このコマンドはPHP5.4.0から入ったビルトインサーバーを起動するコマンドです。ローカル環境下でテストする際などには専用のWebサーバーを用意しなくて済むのでお手軽です。

しかし、このWebサーバーは開発環境のテスト用に設計されたものなので、本番環境で使用するような高機能Webサーバーではありません。

本番環境など公開する環境では、Apacheなど高機能なWebサーバー上で、FuelPHPのアプリケーションを稼働させるようにしてください。

 

上記コマンドを打ったら、ブラウザからhttp:localhost:8000にアクセスしてみましょう。

 

上記画面が表示されたら、作成したFuelPHPプロジェクトが正常に稼働しています。

 

サンプルコードを実行してみよう

それでは、作成したFuelPHPプロジェクトを使って、「Hello World!」という文字列を画面に表示してみましょう。

作成したFuelPHPプロジェクト内のfuel/app/classes/controllerにhello.phpというPHPファイルを用意しました。

fuel/app/classes/controller以下には、MVCモデルでいうControllerのプログラムを配置します。

FuelPHPはURLを入力することでまずControllerにあるプログラムにアクセスして実行し、Controllerが実行した結果をブラウザに返却します。今回は、ブラウザからControllerにアクセスしてControllerに記載している「Hello World!」という文字列をブラウザに返却するサンプルプログラムを紹介します。

 

fuel/app/classes/controller/greeting.php:

<?php
class Controller_Greeting extends Controller
{
  public function action_greeting()
  {
    return 'Hello World!';
  }
}

 

上記ソースについて解説します。FuelPHPのControllerを作成するにはいくつかFuelPHPで決められたコーディング規約があります。このコーディング規約がFuelPHPのControllerとして機能させるには必須なので、しっかり理解しましょう。

 

1.ファイル名は全て小文字

Controllerとして作成するPHPファイルの名前は小文字で作成してください。

 

2.Controllerとして作成するPHPのクラスは、FuelPHPが提供するControllerの機能を持ったクラスを継承する

上記サンプルプログラムは、FuelPHPが提供するクラス「Controller」をextendsキーワードを使用して継承しています。

このクラス「Controller」を継承することで継承したクラス「Controller_Greeting」はMVCモデルのControllerの機能を持つことができます。

クラス「Controller」以外にもFuelPHPはRestAPI用のControllerクラス「Controller_Rest」などの様々な用途に応じたControllerクラスを提供しています。

 

3.Controllerとして作成するクラスはクラス名に「Controller_」というプレフィックスをつける

controllerディレクトリ以下に作成するクラスの名前には「Controller_」というプレフィクスをつけるという規約があります。

Controller_に続くクラス名は任意のクラス名をつけることができます。

また、Controller_に続く任意のクラス名は、そのControllerにアクセスする際のURLになります。

 

4.メソッド名に「action_」のプレフィックスをつける

メソッド名に「action_」のプレフィックスによって「Controllerクラスのアクションメソッドである」とアプリケーションに認識されます。「action_」に続くメソッド名は任意の名前をつけることができます。

FuelPHPのControllerには「action_」以外にも「get_」や「post_」といったHTTPリクエストメソッドに応じたプレフィックスに用意されています。

また、action_に続く任意のメソッド名も、そのControllerにアクセスする際のURLになります。

 

 

以上が上記サンプルコード内にあるFuelPHPのコーディング規約となります。

それでは、画面に実行結果を出力します。

 

起動コマンド:

oil server

 

URL:

http://localhost:8000/greeting/greeting

 

実行結果:

 

 

上記コマンドでPHPのビルトインサーバーを起動させたら、サンプルコードに記載のコントローラーにブラウザからアクセスしてみましょう。

指定したコントローラーのメソッドにアクセスする際にはFuelPHPのURLの規約に従ってアクセスする必要があります。

 

URL規約:

http://ホスト・ドメイン名/コントローラー名/メソッド名

 

ホスト・ドメイン名の以下の階層では、任意に名付けたコントローラー名メソッド名を使用します。

コントローラー名の部分は、上記サンプルコードでいうと「Controller_Greeting」の「Greeting」の部分が使用されます。

メソッド名の部分は、上記サンプルコードでいうと「action_greeting」の「greeting」の部分が使用されます。

 

まとめ

以上、PHPのフレームワーク「FuelPHP」について、その導入部分について解説しました。今回の記事では、FuelPHPの規約の一部を紹介しましたが、より高度なアプリケーションを作成するには、他の規約を覚える必要があります。

フレームワークの使いかたを習得するということは、そのフレームワークの規約を覚えるということでもあるので、上記で紹介した規約をとっかかりにFuelPHPの規約について調べてみることで、より高度なコーディングをすることができるようになると思います。

筆者プロフィール

平野大輝(ひらのだいき)

スキル:PHP・Java・JavaScriptを用いて様々なアプリを開発するWebエンジニア。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でPHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できるオンラインブートキャンプPHP/Laravel講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。