Help us understand the problem. What is going on with this article?

FuelPHPことはじめ

More than 5 years have passed since last update.

やること

  • FuelPHPが最低限利用できる環境を整える
  • Scaffoldを利用して、ごくかんたんなCRUDアプリを作成する

環境

  • CentOS 6.4
  • Apache/2.2.15
  • PHP 5.5.5
  • FuelPHP 1.6

前提条件

  • Apache, MySQL, PHPが導入済みであること
  • 公開ディレクトリ、その他のセキュリティ設定は考慮しない

手順

Composerのアップデート

$ php composer.phar update

oilコマンドを使えるようにする

$ curl get.fuelphp.com/oil | sh

Appテンプレートのインストール

$ oil create appName

確認

下記にアクセスする。
http://hostName/appName/public/index.php/welcome/index

※mod_rewriteが利用できる環境であれば、下記でアクセス可能。
※oil createで作成した場合、rewrite設定された.htaccessが既に作成されている。
http://hostName/appName/public/welcome/index

さらに、DBを利用してみる

データベース接続設定

appName/fuel/app/config/development/db.php
'dsn'        => 'mysql:host=localhost;dbname=fuel_dev',
'username'   => 'root',
'password'   => 'password',

Scaffoldを利用できるように設定

※コメントをはずして、ORMを有効化する。

appName/fuel/app/config/config.php
'always_load'  => array(
  'packages'  => array(
  'orm',
  ),
),

データベースを作成

$ mysql -uroot -ppassword -e "create database fuel_dev character set utf8mb4"

Scaffoldの実行

※アプリケーションのルートで実行する。

$ oil generate scaffold post title:string summary:varchar[64] body:text
        Creating migration: /var/www/html/appName/fuel/app/migrations/001_create_posts.php
        Creating model: /var/www/html/appName/fuel/app/classes/model/post.php
        Creating controller: /var/www/html/appName/fuel/app/classes/controller/post.php
        Creating view: /var/www/html/appName/fuel/app/views/post/index.php
        Creating view: /var/www/html/appName/fuel/app/views/post/view.php
        Creating view: /var/www/html/appName/fuel/app/views/post/create.php
        Creating view: /var/www/html/appName/fuel/app/views/post/edit.php
        Creating view: /var/www/html/appName/fuel/app/views/post/_form.php
        Creating view: /var/www/html/appName/fuel/app/views/template.php

Migrationの実行

※アプリケーションのルートで実行する。

$ oil refine migrate
Performed migrations for app:default:
001_create_posts

確認

下記にアクセスすると、CRUDアプリケーションが利用できる。
http://hostName/appName/public/post/

参考

自動生成されたテーブル

mysql> desc posts;
+------------+------------------+------+-----+---------+----------------+
| Field      | Type             | Null | Key | Default | Extra          |
+------------+------------------+------+-----+---------+----------------+
| id         | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| title      | varchar(255)     | NO   |     | NULL    |                |
| summary    | varchar(64)      | NO   |     | NULL    |                |
| body       | text             | NO   |     | NULL    |                |
| created_at | int(11)          | YES  |     | NULL    |                |
| updated_at | int(11)          | YES  |     | NULL    |                |
+------------+------------------+------+-----+---------+----------------+
6 rows in set (0.01 sec)

※created_at, updated_atにはUNIX Timestampが記録される。

FuelPHP » A simple, flexible, community driven PHP5.3 framework.

redpanda
手芸とホッピーと海外旅行が大好きな、ピアノ弾きプログラマ。最近はギタリストプログラマ。Oracle Certified Master
http://redpanda.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away