Return to Tech/php

FuelPHP - Create BookApp

FuelPHP アプリケーション作成

1. アプリケーションを作成
FuelPHPのディディレクトリ下で作業します。
例: /var/www/html/fuel_app/
以下を実行します。
$ oil create book
2. モデルを作成

以下を実行します。
$ oil generate scaffold book title:varchar[255] desc:varchar[255] detail:text

env development
file: /var/www/html/fuel_app/book/fuel/app/config/db.php

return array(
    'default' => array(
    'type' => 'mysql',
    'connection' => array(
    'hostname' => '192.168.?.?',
    'port' => '3306',
    'database' => 'book',
    'username' => 'dbusername',
    'password' => 'dbpassword',
    'persistent' => false,
    ),
    ),
);
3. データベース、テーブルを作成
この手順以降、MySQL(MariaDB)側の設定にも気をつける必要があります。
事前にbookデータベースを作成し、dbusernameと
データベースへのアクセス制御を調整。

例:
dbusername(接続元は192.168.11.99であること)に全権限を付与する例

grant all privileges on *.* to dbusername@'192.168.11.99' IDENTIFIED BY 'dbpassword';
FLUSH PRIVILEGES;

dbusername(接続元は192.168.11.99であること)から全権限を削除する例
revoke all privileges, grant option from dbusername@'192.168.11.99';
FLUSH PRIVILEGES;

dbusername(接続元は192.168.11.99であること)に特定の操作権限を付与する例
grant select, update, insert, delete on book.* dbusername@'192.168.11.99' IDENTIFIED BY 'dbpassword';



以下を実行します。
$ oil refine migrate

このコマンドを実行後、MySQL(MariaDB)に
以下のテーブルが作成されていることを確認できれば問題ありません。

MariaDB [book]> show tables;
+----------------+
| Tables_in_book |
+----------------+
| books          |
| migration      |
+----------------+
2 rows in set (0.00 sec)


MariaDB [book]> desc books;
+------------+------------------+------+-----+---------+----------------+
| Field      | Type             | Null | Key | Default | Extra          |
+------------+------------------+------+-----+---------+----------------+
| id         | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| title      | varchar(255)     | NO   |     | NULL    |                |
| desc       | varchar(255)     | NO   |     | NULL    |                |
| detail     | text             | NO   |     | NULL    |                |
| created_at | int(11)          | YES  |     | NULL    |                |
| updated_at | int(11)          | YES  |     | NULL    |                |
+------------+------------------+------+-----+---------+----------------+

fuelアプリケーションでオブジェクトとデータベースのテーブルを
マップするパッケージを利用可能にします。
file: /var/www/html/fuel_app/book/fuel/app/config/config.php
/***************/
/* Always Load */
/***************/
'always_load' => array(
    'packages' => array(
    'orm',
    ),
),
動作確認
ドキュメントルート/book/にアクセスし、
以下イメージのようにBooksアプリケーションが実行されることを確認します。




特にコーディングすることなく、
データベーステーブルへの
データ挿入、編集、選択、削除操作を行うアプリケーションを
作成することができます。

Return to Tech/php