FuelPHPについて

FuelPHP は、OOP階層型Model-View-Controller(MVC)アーキテクチャに基づくコミュニティ主導のオープンソースPHPフレームワークです。 プロジェクトの開発をスピードアップできるOilと呼ばれる優れたコマンドラインツールを備えています。 これを使用して、コードの生成、デバッグ、またはデータベースの移行を実行できます。

このチュートリアルでは、小さなFuelPHPアプリケーションから始めます。 これを説明するために、LAMPスタックがインストールされたUbuntu搭載のVPSを使用します。 これを設定する方法の詳細については、このすばらしいチュートリアルを参照してください。 FuelPHPには、Webサーバーがインストールされている(Apache、Nginx、IISでテスト済み)およびPHP5.3以降が必要です。

インストール

最初に行う必要があるのは、curlを使用してVPSにクイックインストーラーをインストールすることです。 次のコマンドを実行します。

curl get.fuelphp.com/oil | sh

これにより、オイルパッケージがダウンロードされ、クラウドサーバーの / usr /binフォルダーに配置されます。

オイルはアプリケーションコードをフェッチするためにGitを必要とするため、Gitをすばやくインストールします。

sudo apt-get update
sudo apt-get install git-core

次に、Webサーバーのドキュメントルート(Apacheの場合は / var / www )に移動し、次のコマンドを実行してFuelPHPアプリケーションを作成します。

oil create fuel

これにより、Gitを使用して必要なファイルがフェッチされ、Composerを使用して依存ライブラリが取得され、必要なものがすべてfuelというフォルダーに配置されます。 ブラウザでyour-ip-address/fuel / public に移動すると、アプリケーションのフロントページが表示されます。

必要に応じて、Webサーバーのドキュメントルートを変更して、FuelPHPアプリケーションのパブリックフォルダーを直接指すようにし、IPアドレス(またはドメイン名を指している場合はドメイン名)から直接アクセスできるようにすることができます。 これを行うには、次の仮想ホストファイルを編集します。

nano /etc/apache2/sites-available/default

そして、この行をこれから変更します。

DocumentRoot /var/www/

これに:

DocumentRoot /var/www/fuel/public/

次に、変更を有効にするためにApacheを再起動します。

sudo service apache2 restart

FuelPHPにクリーンなURLを持たせたい場合(URLから醜い index.php セグメントを削除するため)、その.htaccessファイルがデフォルトのApache命令をオーバーライドできることを確認する必要があります。 このためには、mod_rewriteを有効にする必要があります。

使用可能かどうかを確認するには、次のコマンドを使用します。

apache2ctl -M

リストに「rewrite_module」が表示されている場合は、問題ありません。 そうでない場合は、次のコマンドを使用してモジュールを有効にします。

a2enmod rewrite

次に、Apacheのデフォルトの仮想ホストファイルを(再度)編集し、 AllowOverrides/var / www/ディレクトリの下のAllに設定されていることを確認します。 これには、燃料アプリケーションフォルダも含まれます。 次のコマンドでファイルを編集します。

nano /etc/apache2/sites-available/default

そして、このブロックが表示されている場所で、以下に対応するように変更を加えます。

<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
</Directory>

サーバーを再起動する前に、php.iniファイルでデフォルトのタイムゾーンもすばやく設定しましょう。

nano /etc/php5/apache2/php.ini

そして、このファイルには次の行があります。

;date.timezone =

前のセミコロンを削除し、次の形式でPHPタイプのタイムゾーンを設定します。

date.timezone = America/Toronto

ファイルを保存してからApacheを再起動すると、すべての変更が有効になります。

sudo service apache2 restart

次に、アプリケーションで使用する空のデータベースを作成しましょう。 MySQLまたはMariaDBを使用していると仮定して、適切なターミナルにログインし、次のコマンドを実行します。

create database fuel;

これにより、fuelという空のデータベースが作成されます。 MySQLターミナルを終了し、アプリケーションに戻ります。これで、構成ファイルを編集して、いくつかの機能を有効にする必要があります。 FuelPHPアプリケーションのルートから、設定ファイルを編集します。

nano /var/www/fuel/fuel/app/config/config.php

そこで、 always_load アレイ、内部の packages アレイ、およびormパッケージのコメントを解除します。 これにより、FuelPHPが付属のORMパッケージをロードして、作業モデルの作成に役立てることができます。 ファイルを保存して終了します。 次に、データベース接続を設定します。 app / config フォルダー内、developmentというフォルダー内(デフォルトでFuelPHPの開発環境にいる場合)で、db.phpファイルを編集します。

nano /var/www/fuel/fuel/app/config/development/db.php

そこで、データベースに接続するためのデータベース名とクレデンシャルを設定し、保存して終了します。

次に、’ scaffoldingと呼ばれるものが必要になります。 これは基本的に、モデルを定義し、デフォルトのCRUD操作コードを含むコントローラー、モデル、およびビューのセットです。 ‘は、私たちの小さなアプリケーションが、タイトルと本文が必要な記事を扱っているとしましょう。 したがって、’ sに次のコマンドを使用してスキャフォールディングを生成させます(ルートアプリケーションフォルダー内から- / var / www / Fuel ):

oil generate scaffold articles title:string body:text

このコマンドは、タイプ文字列のタイトル(varchar(255))とタイプテキストの本文を定義する記事モデルのスキャフォールディングを生成します。 fuel / app / classes フォルダーを見ると、新しいコントローラー、モデル、ビューのファイルが表示されます。 このモデルに対して実行する必要のある最後のコマンドであるデータベース移行コマンドは、記事のコンテンツを格納するためのテーブルを作成します。

oil refine migrate

これは、scaffoldで生成された /var/www/fuel/fuel/app/migrations/001_create_articles.php ファイルの指示を使用して、適切な列を持つテーブルを作成します。 データベースをチェックインすると、’次の5つの列を持つ articles という新しいテーブルに気付くでしょう: id、title、body、created_at、updated_at (最初と最後の2つが生成されますFuelPHPによって自動的に)。

これで、ブラウザで記事コントローラに移動できます(Webサーバー’のドキュメントルートがFuelPHPアプリケーション’の public フォルダを指している場合は、 ip-address / articles )そして、そこから記事モデルに対してすべてのCRUD操作を実行できます。 記事をすぐに追加、表示、更新、削除できます。

結論

このチュートリアルでは、コマンドラインからFuelPHPをインストールする方法と、必要最低限のアプリケーションをすばやく生成する方法を見てきました。 さらに、必要なコントローラーとモデルクラスを自動的に作成する記事モデルのスキャフォールディングを生成する方法と、このモデルでCRUD操作を実行するためのビューを見てきました。

投稿者: Danny