FuelPHPについて現役エンジニアが解説【初心者向け】
初心者向けにFuelPHPについて現役エンジニアが解説しています。FuelPHPとは、PHPのWebアプリケーションフレームワークの1つです。他にCakePHPやSyfony、Coleigniterなどのフレームワークもあります。他のフレームワークとの違いやFuelPHPの特徴、実行環境構築方法について解説します。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
監修してくれたメンター
nakamoto
FuelPHPにについて、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
FuelPHPを利用することで、効率的にPHP開発が可能になります。
実務でもFuelPHPの案件を探してみてください。
目次
そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。
今回は、PHPに関する内容だね!
どういう内容でしょうか?
FuelPHPについて詳しく説明していくね!
お願いします!
この記事は、PHPのフレームワーク「FuelPHP」について、その特徴と導入方法などを記載した記事です。
PHPにまだあまり慣れていない方でも理解できる内容の記事になっています。
FuelPHPとは
FuelPHPは、PHPのWebアプリケーションフレームワークの1つです。
CakePHP、Symfony、CodeIgniterなどのPHPフレームワークなどよりも後に作られた比較的新しいフレームワークです。
過去のフレームワークのメリットを取り入れ、活かせるように設計されたフレームワークです。
FuelPHPの特徴
FuelPHPの特徴は一言で言うと「シンプル」です。
FuelPHPのコア機能の開発者がPHPフレームワーク「CodeIgniter」の開発に携わっていたこともあり、CodeIgniterの影響を大きく受けています。
CodeIgniterは、「軽量で速度重視」が特徴です。
その影響を大きく受けているFuelPHPも、比較的軽量でシンプルなフレームワークの設計になっています。
[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは
FuelPHPとCakePHPの比較
FuelPHPと比較されるフレームワークに「CakePHP」があります。
CakePHPの特徴
「CakePHP」はプログラミング言語「Ruby」のフレームワーク「Ruby on Rails」のコンセプトを取り入れています。
「Ruby on Rails」では「設定よりも規約」というコンセプトを取り入れたフレームワークです。
つまり「Ruby on Rails」同様、「CakePHP」ではコーディング規約に沿って書けば、短いコーディング量で開発できるのが特徴です。
しかし、多くの規約を覚えなければいけないため学習コストが高めなことと、規約から外れた記述をすることが難しく柔軟性が低いデメリットもあります。
CakePHPに対するFuelPHPの特徴
FuelPHPは、「規約よりも設定」というコンセプトを基に設計されています。
そのため、規約が少ない分コーディング量は多くなってしまいますが、柔軟で自由度の高いコーディングをすることが可能です。
また比較的に学習コストが低いのが特徴です。
コーディング規約が少ない分、コードの統一性を取ることが難しいです。
そのため、大規模ではなく「小・中規模システム」の開発に向いたフレームワークといえます。
もちろん、FuelPHPでも大規模開発は可能です。
GoogleトレンドによるFuelPHPとCakePHPの比較
2021年7月時点のGoogleトレンドの情報によると、FuelPHPとCakePHPの検索量は同程度でした。
FuelPHPの実行環境構築手順
それでは、FuelPHPの実行環境を構築する手順について解説します。
FuelPHPをインストールする方法は大きく分けて2つあります。
- コマンドラインを使用してインストールする方法
- 手動でインストールする方法
この記事では、「1.コマンドラインを使用してインストールする方法」について解説していきます。
GitHubからクローンしたり、Zipファイルをダウンロードする「2.手動でインストールする方法」については、FuelPHPの公式ページに記載がありますので、こちらを参照してください。
ただし、実務を見据えたエンジニアが開発環境を整える場合は、1.コマンドラインを使用してインストールする方法に慣れていただく必要があります。
今回、curlやoilやbrewコマンドを利用します。
コマンドを利用してインストールするメリットとして、インストール時に必要な関連するライブラリの用意も自動でしてくれることがあります。
コマンドを利用してインストールするデメリットとしては、コマンド操作に慣れる必要がある点です。
1.コマンドラインを使用してインストールする方法
curlのインストール
コマンドラインでcurlと入力してエラーが出る場合は、curlのインストールが必要です。
Windowsの場合は、curlのダウンロードページからZipファイルをダウンロードして解凍し、インストーラからインストールしてください。
Macの場合は、Homebrewからインストールが可能です。
下記のコマンドを入力してください。
$ brew install curl
oilコマンドをインストール
curlライブラリを使用して、oilコマンドをインストールします。
oilコマンドとは、FuelPHPが提供するコマンドラインツールです。
oilコマンドを使用することで、新規FuelPHPプロジェクトの作成したり、作成したプロジェクトに設定ファイルを作成できます。
$ curl https://get.fuelphp.com/oil | sh
FuelPHPの新規プロジェクト作成
インストールされたoilコマンドを使用して、FuelPHPの新規プロジェクトを作成します。
コマンドラインでプロジェクトを作成したいディレクトリに移動して、下記のコマンドを実行してください。
<project-name>の部分には、作成する新規プロジェクト名を入力してください。
実行した結果、<project-name>に入力したプロジェクトが作成されます。
$ oil create <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キーワードを使用して継承しています。
extends Controllerでは、「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のコーディング規約です。
それでは、画面に実行結果を出力します。
起動コマンド:
このコマンドでPHPのビルトインサーバを起動させたら、サンプルコードに記載のコントローラーにブラウザからアクセスしてみましょう。
$ oil server
URL:
指定したコントローラーのメソッドにアクセスする際には、FuelPHPのURLの規約に従ってアクセスする必要があります。
URL規約:
http://ホスト・ドメイン名/コントローラー名/メソッド名
URL規約に従い、次のURLにアクセスします。
http://localhost:8000/greeting/greeting
ホスト・ドメイン名以下の階層では、任意に名付けたコントローラー名とメソッド名を使用します。
コントローラー名の部分は、サンプルコードでいうと「Controller_Greeting」の「Greeting」の部分が使用されます。
メソッド名の部分は、サンプルコードでいうと「action_greeting」の「greeting」の部分が使用されます。
実行結果:
まとめ
以上、PHPのフレームワーク「FuelPHP」について、その導入部分を解説しました。
今回の記事では、FuelPHPの規約の一部を紹介しましたが、より高度なアプリケーションを作成するには、他の規約を覚える必要があります。
フレームワークの使いかたを習得するということは、そのフレームワークの規約を覚えることです。
紹介した規約をとっかかりにFuelPHPの規約について調べてみることで、より高度なコーディングをすることができるようになると思います。
内容が分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
PHPを学習中の方へ
これで解説は終了です、お疲れさまでした。
- つまずかず「効率的に」学びたい
- 副業や転職後の「現場で使える」知識やスキルを身につけたい
プログラミングを学習していて、このように思ったことはありませんか?
テックアカデミーのPHP/Laravelコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。
合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、PHP/Laravelを使ったWebアプリケーション開発を学べます。
まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。
時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!