SlideShare a Scribd company logo
1 of 115
最近、僕がハマった
 FuelPHPの紹介
              2012/7/20
        Fukuoka.php Vol.2
            @mawatarin
自己紹介

•   @mawatarin

•   ウェブプログラマ

•   Perlを4年くらい

•   そのあとPHPを4年くらい

•   ただ最近は専らマネジメントより
セッションを始める前に

•   まず、言い訳から始めさせてください!
セッションを始める前に

•   まず、言い訳から始めさせてください!

•   1週間前に子どもが生まれました!
セッションを始める前に

•   まず、言い訳から始めさせてください!

•   1週間前に子どもが生まれました!

•   そのため、スライドを作る時間がほとんどありません
    でしたっっっ

•   ネタとか仕込む間もなかったので、つまらなかったら
    ごめんなさい
セッションを始める前に

•   事前のヒアリングでFuelPHPに関しては名前は聞いた
    ことあるけど、使ってことがないという人が多かった
    です

•   とりあえず、ざっくりFuelPHPの概要を伝えるスライド
    を作りました
今日のお話
今日のお話
1. FuelPHPに興味を持ったきっかけ

2. FuelPHPとは

3. FuelPHPのインストールとフォルダ構成

4. FuelPHPの使い方(MVCの基本)

5. セキュリティについて

6. その他ざっくりと(デバッグ、プロファイラ、コア
  クラス一覧)
1. FuelPHPに興味を持ったきっかけ
1. FuelPHPに興味を持ったきっかけ

 •   Web API 制作の案件が入った

 •   IDに応じたデータを返すだけの簡単なもの
1. FuelPHPに興味を持ったきっかけ

 •   Web API 制作の案件が入った

 •   IDに応じたデータを返すだけの簡単なもの

 •   たまたま空いてるPGがいなかった
1. FuelPHPに興味を持ったきっかけ

 •   Web API 制作の案件が入った

 •   IDに応じたデータを返すだけの簡単なもの

 •   たまたま空いてるPGがいなかった



 •   自分で作るか
1. FuelPHPに興味を持ったきっかけ

 •   なんかフレームワークを使おう
1. FuelPHPに興味を持ったきっかけ

 •   なんかフレームワークを使おう

 •   最近よく聞くようになったフレームワーク「FuelPHP」

 •   RESTコントローラが簡単っぽい

 •   試しに調べてみよう
1. FuelPHPに興味を持ったきっかけ
例えば、このようなテーブルがあったとして


 CREATE TABLE user (
     id int(11) auto_increment
    ,name varchar(50)
    ,email varchar(255)
 );
1. FuelPHPに興味を持ったきっかけ
こんな風にコントローラを実装


 class Controller_User extends Controller_Rest
 	

 public function get_list()
 	

 {
 	

 	

 $user = Model_User::forge();
 	

 	

 $data = $user->find(Input::get('id'));
 	

 	

 $this->response($data);
 	

 }
 }
 // 実際はもっと作り込みますが……
1. FuelPHPに興味を持ったきっかけ
こんな風にコントローラを実装
※中身は後ほど解説します

 class Controller_User extends Controller_Rest
 	

 public function get_list()
 	

 {
 	

 	

 $user = Model_User::forge();
 	

 	

 $data = $user->find(Input::get('id'));
 	

 	

 $this->response($data);
 	

 }
 }
 // 実際はもっと作り込みますが……
1. FuelPHPに興味を持ったきっかけ
以下のURLにアクセスすると……


 http://localhost/user/list.xml?id=123
1. FuelPHPに興味を持ったきっかけ
以下のURLにアクセスすると……
XMLが返ってくる!

 http://localhost/user/list.xml?id=123


 <xml>
   <id>123</id>
   <name>foo</name>
   <email>foo@example.jp</email>
 </xml>
1. FuelPHPに興味を持ったきっかけ
拡張子をjsonに変更すると……


 http://localhost/user/list.json?id=123
1. FuelPHPに興味を持ったきっかけ
拡張子をjsonに変更すると……
JSON形式で返ってくる!

 http://localhost/user/list.json?id=123


 {
     "id":"123",
     "name":"foo",
     "email":"foo@example.jp"
 }
1. FuelPHPに興味を持ったきっかけ
拡張子をphpに変更すると……
PHP arrayで返ってくる!

 http://localhost/user/list.php?id=123


 array (
    'id' => '123',
    'name' => 'foo',
    'email' => 'foo@example.jp',
 )
1. FuelPHPに興味を持ったきっかけ
何これステキ!
1. RESTコントローラの使い方
1. RESTコントローラの使い方

 •   Controller_Rest クラスを継承します

 •   実装するメソッドには、HTTPメソッドのプレフィック
     スをつけます

 •   URLのメソッド名に続けて、出力フォーマットの拡張子
     を付けます
1. RESTコントローラの解説
Controller_Rest クラスを継承


 class Controller_User extends Controller_Rest
 	

 public function get_list()
 	

 {
 	

 	

 $user = Model_User::forge();
 	

 	

 $data = $user->find(Input::get('id'));
 	

 	

 $this->response($data);
 	

 }
 }
1. RESTコントローラの解説
メソッドのプレフィックスでHTTPメソッドを指定
GET, POST, PUT, DELETE が指定できます

 class Controller_User extends Controller_Rest
 	

 public function get_list()
 	

 {
 	

 	

 $user = Model_User::forge();
 	

 	

 $data = $user->find(Input::get('id'));
 	

 	

 $this->response($data);
 	

 }
 }
1. RESTコントローラの解説
メソッド名に続けて出力フォーマットの拡張子を付けます
拡張子に応じて自動的にフォーマットしてくれます

 class Controller_User extends Controller_Rest
 	

 public function get_list()
 	

 {
 	

 	

 $user = Model_User::forge();
 	

 	

 $data = $user->find(Input::get('id'));
 	

 	

 $this->response($data);
 	

 }
 }

 http://localhost/user/list.xml?id=123
1. RESTコントローラの解説
以下のフォーマットに対応


     拡張子                フォーマット
    xml          XML
    json         JSON
    jsonp        JSONP
    csv          CSVファイル
    php          PHP array
    serialized   シリアライズされたデータ
1. RESTコントローラの解説
FuelPHPとの出会いはそんな感じ
2. FuelPHPとは
2. FuelPHPとは
 公式サイトより
2. FuelPHPとは
 つたない和訳ですが




      FuelPHPは他のフレームワークの
      良いところを参考にし、コミュ
      ニティ駆動で一から開発された
      PHP5.3を対象としたシンプルで
      柔軟なウェブアプリケーション
      フレームワークです。
2. FuelPHPとは

 •   フューエル・ピー・エイチ・ピーと読みます
2. FuelPHPとは

 •   フューエル・ピー・エイチ・ピーと読みます

 •   2011年7月にversion 1.0が出た新しいフレームワーク

 •   その後、2011年12月に1.1、2012年6月に1.2リリース
2. FuelPHPとは

 •   フューエル・ピー・エイチ・ピーと読みます

 •   2011年7月にversion 1.0が出た新しいフレームワーク

 •   その後、2011年12月に1.1、2012年6月に1.2リリース

 •   FuelPHPのコア開発者5名すべてはCodeIgniterの開発に
     関わっている(いた)

 •   他のフレームワークの良い所取りをしたCodeIgniter
     ライクなフレームワーク
2. FuelPHPとは

 •   規約より設定

 •   PHP5.3以上必須

 •   オートローダー

 •   oilコマンド
     •  スキャフォールディング
     •  DBマイグレーション
     •   テスト、タスク

 •   モジュール、パッケージ、HMVC、 ViewModel

 •   MITライセンス
3. FuelPHPのインストール
3. FuelPHPのインストール



 $ curl get.fuelphp.com/oil | sh
 $ oil create /path/to/install_dir/project_name
3. FuelPHPのインストール
2行、それだけで。


 $ curl get.fuelphp.com/oil | sh
 $ oil create /path/to/install_dir/project_name
3. FuelPHPのインストール
インストール完了! ※要Git
3. FuelPHPのインストール
Twitter Bootstrapが取り入れられてるってのもイイ感じ
3. FuelPHPのインストール
ざっくり解説


 $ curl get.fuelphp.com/oil | sh
 $ oil create /path/to/install_dir/project_name
3. FuelPHPのインストール
oilコマンドのインストール


 $ curl get.fuelphp.com/oil | sh
 $ oil create /path/to/install_dir/project_name
3. FuelPHPのインストール
FuelPHPのファイル群を生成


 $ curl get.fuelphp.com/oil | sh
 $ oil create /path/to/install_dir/project_name
3. FuelPHPのインストール
中身はともにGitHubからのgit clone(ざっくり解説)


 $ curl get.fuelphp.com/oil | sh
 $ oil create /path/to/install_dir/project_name
3. FuelPHPのフォルダ構成
3. FuelPHPのフォルダ構成
          アプリケーションファイルを置く場所
          =僕らが書く場所
3. FuelPHPのフォルダ構成
          FuelPHPのコアが置かれた場所
          基本的に触ることはないです
3. FuelPHPのフォルダ構成
          パッケージを置く場所
3. FuelPHPのフォルダ構成
          パッケージを置く場所
          標準で5つのパッケージが
          格納されています
          自作のパッケージもここに格納します
3. FuelPHPのフォルダ構成
          スタティックファイルを置く場所
3. FuelPHPのフォルダ構成
          アプリケーションファイルの中を
          見ていきましょう
3. FuelPHPのフォルダ構成

          Model
3. FuelPHPのフォルダ構成

          View
3. FuelPHPのフォルダ構成

          Controller
3. FuelPHPのフォルダ構成

          ViewModel
          Viewファイルとは違います
3. FuelPHPのフォルダ構成

          ViewModel
          Viewファイルとは違います

          ビューモデルはビューの生成に必要なロジックを含むク
          ラスです。 コントローラがユーザ入力を処理し、必要な
          アクションを処理すると、 ビューモデルにビューに必要
          なデータを取得するように処理を引き継ぎます。
          http://press.nekoget.com/fuelphp_doc_1.2/general/
          viewmodels.html
3. FuelPHPのフォルダ構成
          Config
          必要に応じて設定ファイルをオーバーライドします
          例えば、環境に応じてDBを変えたり、プロファイラを有
          効する等
3. FuelPHPのフォルダ構成
          Config
          必要に応じて設定ファイルをオーバーライドします
          例えば、環境に応じてDBを変えたり、プロファイラを有
          効する等
          core/config
          app/config
          app/config/production or app/config/development

          の順でオーバーライドされます
          productionまたはdevelopmentは、環境に応じて読み込まれ
          ます
3. FuelPHPのフォルダ構成
          Config
          必要に応じて設定ファイルをオーバーライドします
          例えば、環境に応じてDBを変えたり、プロファイラを有
          効する等
          core/config
          app/config
          app/config/production or app/config/development

          の順でオーバーライドされます
          productionまたはdevelopmentは、環境に応じて読み込まれ
          ます
          初期状態でフォルダは存在しませんが、stage, test という
          環境も定義されています
4. FuelPHPの使い方 - Controller
4. FuelPHPの使い方 - Controller

 •   APPPATH/classes/controller以下に配置

 •   ファイル名はコントローラー名で小文字にします

 •   Controllerクラスを継承します

 •   クラス名にはController_プレフィックスをつけます

 •   クラス名の単語の先頭は大文字にします

 •   クラス名の単語の区切りにアンダースコアを使うと
     サブフォルダを意味してしまうので注意が必要です
4. Controllerでのお約束
 ファイル名はすべて小文字


APPPATH/classes/controller/welcome.php

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. Controllerでのお約束
 Controllerクラスを継承します


APPPATH/classes/controller/welcome.php

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. Controllerでのお約束
 Controller_プレフィックスをつけます


APPPATH/classes/controller/welcome.php

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. Controllerでのお約束
 クラス名の単語の先頭は大文字にします


APPPATH/classes/controller/welcome.php

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. Controllerでのお約束
 クラス名の単語の区切りにアンダースコアを使うとサブ
 フォルダを意味します

APPPATH/classes/controller/welcome/member.php

class Controller_Welcome_Member extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. ControllerとURLの関係
 第一セグメントがクラス名


http://localhost/welcome/index

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. ControllerとURLの関係
 第二セグメントがメソッド名


http://localhost/welcome/index

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. ControllerとURLの関係
 ブラウザから実行されるメソッド(アクションメソッ
 ド)には、action_プレフィックスをつけます

http://localhost/welcome/index

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. ControllerとURLの関係
 第三セグメント以降はパラメータ
 受け取りの際はデフォルト値を設定しておいた方が無難

http://localhost/welcome/index/123

class Controller_Welcome extends Controller
{
	

 public function action_index($page = null)
	

 {
	

 	

 return Response::forge(View::forge('welcome/index'));
	

 }
}
4. Controllerの定義済みメソッドとプロパティ
詳しい解説は省略します


  メソッド/プロパティ                 意味
  action_index()   メソッド名を省略されたときに実行される


  before()         アクションメソッドが実行される前に自動実行


  after()          アクションメソッドが実行された後に自動実行


  $request         Requestクラスのオブジェクトを保持


  $response        Responseクラスのオブジェクトを保持
4. Controllerクラスの種類
詳しい解説は省略します


        クラス名                         意味
   Controller            ベースコントローラ


   Controller_Template   ビューでレイアウト機能を使うコントローラ


   Controller_Rest       RESTfulなコントローラ

                         RestコントローラにTemplateコントローラが備
   Controller_Hybrid     わったもの
4. FuelPHPの使い方 - View
4. FuelPHPの使い方 - View

 •   APPPATH/views以下に配置

 •   ファイル名は小文字にします

 •   拡張子.phpをつけます
4.Viewファイル
Viewファイルの中身については、本日は割愛します。
PHPとHTMLで構成されたファイルです。
</head>
<body>
	

   <div id="header">
	

   	

    <div class="row">
	

   	

    	

   <div id="logo"></div>
	

   	

    </div>
	

   </div>
	

   <div class="container">
	

   	

    <div class="row">
	

   	

    	

   <div class="span16">
	

   	

    	

   	

    <h1><?php echo e($title); ?> <small>We can't find that!</small></h1>
	

   	

    	

   	

    <hr>
	

   	

    	

   	

    <p>The controller generating this page is found at <code>APPPATH/classes/controller/welcome.php</
code>.</p>
	

   	

    	

   	

    <p>This view is located at <code>APPPATH/views/welcome/404.php</code>.</p>
	

   	

    	

   </div>
	

   	

    </div>
	

   	

    <footer>
	

   	

    	

   <p class="pull-right">Page rendered in {exec_time}s using {mem_usage}mb of memory.</p>
	

   	

    	

   <p>
	

   	

    	

   	

    <a href="http://fuelphp.com">FuelPHP</a> is released under the MIT license.<br>
	

   	

    	

   	

    <small>Version: <?php echo e(Fuel::VERSION); ?></small>
4.Viewの読み込み
コントローラからView::forge('path/view')として読み込む
APPPATH/views/までのパスは省略します

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 return View::forge('welcome/index');
	

 }
}
4.Viewに値を渡す
連想配列で値を渡す
レンダリング時にextract()されるのでキーが変数名となります

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 $data = array();
	

 	

 $data['name'] = 'foo';
	

 	

 return View::forge('welcome/index', $data);
	

 }
}
4.Viewに値を渡す
他にも
set()メソッドを利用して値を渡す

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 $view = View::forge('welcome/index');
	

 	

 $view->set('name', 'foo');
	

 	

 return $view;
	

 }
}
4.Viewに値を渡す
他にも
プロパティに値をセットする

class Controller_Welcome extends Controller
{
	

 public function action_index()
	

 {
	

 	

 $view = View::forge('welcome/index');
	

 	

 $view->name = 'foo';
	

 	

 return $view;
	

 }
}
4. テンプレートコントローラとView
テンプレートのレイアウトを行いたいときは、
Controller_Templateを継承します

                コンテナ




       メニュー            メイン
4. FuelPHPの使い方 - Model
4. FuelPHPの使い方 - Model

 •   APPPATH/classes/model以下に配置

 •   ファイル名はモデル名で小文字にします

 •   Modelクラスを継承します

 •   クラス名にはModel_プレフィックスをつけます

 •   クラス名の単語の先頭は大文字にします

 •   クラス名の単語の区切りにアンダースコアを使うと
     サブフォルダを意味してしまうので注意が必要です
4. Modelでのお約束

 •
Controllerと基本的には同じなので詳細解説は省略します
   APPPATH/classes/model以下に配置

 •   ファイル名はモデル名で小文字にします

 •   Modelクラスを継承します

 •   クラス名にはModel_プレフィックスをつけます

 •   クラス名の単語の先頭は大文字にします

 •   クラス名の単語の区切りにアンダースコアを使うと
     サブフォルダを意味してしまうので注意が必要です
4. Modelクラスの種類
詳しい解説は省略します


      クラス名                  意味
  Model          ベースモデル


  Model_Crud     CRUD処理をするモデル


  OrmModel      ORMパッケージ
4. oilコマンドでModelを作ってみる
4. oilコマンドでModelを作ってみる
名前とパスワードとemailを持つユーザテーブルを作りた
いとした場合

CREATE TABLE user (
    id int(11) auto_increment
   ,name varchar(50)
   ,password varchar(255)
   ,email varchar(255)
);
4. oilコマンドでModelを作ってみる
oilコマンドだとこんな感じ


$ oil g model user name:varchar[50] password:string email:string
4. oilコマンドでModelを作ってみる
テーブル名


$ oil g model user name:varchar[50] password:string email:string
4. oilコマンドでModelを作ってみる
フィールド名


$ oil g model user name:varchar[50] password:string email:string
4. oilコマンドでModelを作ってみる
フィールドの型


$ oil g model user name:varchar[50] password:string email:string
4. oilコマンドでModelを作ってみる
マイグレーションを実行し、テーブルを作成します


$ oil g model user name:varchar[50] password:string email:string
$ oil refine migrate
4. oilコマンドでModelを作ってみる
 Userモデルができた!
 テーブルもできた!
class Model_User extends OrmModel
{
	

   protected static $_properties = array(
	

   	

  'id',
	

   	

  'name',
	

   	

  'password',
	

   	

  'email',
	

   	

  'created_at',
	

   	

  'updated_at'
	

   );
	

   protected static $_observers = array(
	

   	

   'OrmObserver_CreatedAt' => array(
	

   	

   	

   'events' => array('before_insert'),
	

   	

   	

   'mysql_timestamp' => false,
	

   	

   ),
	

   	

   'OrmObserver_UpdatedAt' => array(
	

   	

   	

   'events' => array('before_save'),
	

   	

   	

   'mysql_timestamp' => false,
	

   	

   ),
	

   );
}
4. oilコマンドでModelを作ってみる
 例えば、こんな風に書いておけば、Fieldsetクラスで自動
 的にフォームを作ってくれたり、バリデートしてくれたり
class Model_User extends OrmModel
{
	

   protected static $_properties = array(
	

   	

  'id',
	

   	

  'name' => array(
	

   	

  	

   'data_type' => 'varchar',
	

   	

  	

   'label'     => 'お名前',
	

   	

    	

   'validation' => array('required'),
	

   	

    	

   'form'       => array('type' => 'text'),
	

   	

    	

   'default'    => '',
	

   	

    ),
	

   	

    'password',
	

   	

    'email',
	

   	

    'created_at',
	

   	

    'updated_at'
	

   );

	

   // 略
4. oilコマンドでModelを作ってみる
 リレーションの設定はこんな感じ


class Model_User extends OrmModel
{
	

   protected static $_properties = array(
	

   	

  'id',
	

   	

  'name',
	

   	

  'password',
	

   	

  'email',
	

   	

  'created_at',
	

   	

  'updated_at'
	

   );
	

	

   protected static $_has_many = array(
	

   	

    comments => array(
	

   	

    	

 'model_to'       => 'Model_Comment',
	

   	

    	

 'key_from'       => 'id',
	

   	

    	

 'key_to'         => 'user_id',
	

   	

    	

 'cascade_save' => false,
	

   	

    	

 'cascade_delete' => true,
	

   ));	

 	

	

   // 略
4. FuelPHPの使い方
説明できてないことの方が多いですが、FuelPHPのざっく
りとした使い方は以上です
5. セキュリティについて
5. セキュリティについて
代表的なウェブアプリケーションのセキュリティリスク
と対応状況

         リスク名        対応状況
                ビューへ渡す値は自動的にエ
  XSS
                スケープされる

                クエリビルダ、ORMパッケー
  SQLインジェクション   ジを使えば、自動的にエス
                ケープされる
                Cookieを使ったトークンを作
  CSRF          るクラスが用意されている。
                手動で利用する
5. セキュリティについて
出力フィルタ、URIフィルタはSecurity::htmlentities()が使わ
れます
5. セキュリティについて
 出力フィルタ、URIフィルタはSecurity::htmlentities()が使わ
 れます
中身
	

   public static function htmlentities($value, $flags = null, $encoding = null, $double_encode = null)
	

   {
	

   	

   static $already_cleaned = array();

	

   	

   is_null($flags) and $flags = Config::get('security.htmlentities_flags', ENT_QUOTES);
	

   	

   is_null($encoding) and $encoding = Fuel::$encoding;
	

   	

   is_null($double_encode) and $double_encode = Config::get('security.htmlentities_double_encode', false);

	

   	

   // 略

	

   	

   if (is_string($value))
	

   	

   {
	

   	

   	

    $value = htmlentities($value, $flags, $encoding, $double_encode);
	

   	

   }

	

   	

   // 略
5. セキュリティについて
5. セキュリティについて

•   ある程度は、自動的に保護してくれる

•   または保護をするクラスが用意されている

•   ただ過信は禁物!

•   ウェブアプリケーション制作に関わる以上、アンテナを
    常に張りセキュリティに関する知識を高めておく必要が
    ある
6. その他ざっくりと
6. 開発補助 - デバッグ
エラーがあった場合は整形して表示してくれます
6. 開発補助 - プロファイラ
config で 'profiling' => true にすることで、プロファイラが
使えます
6. コアクラス一覧
•   Agent        •   Form         •   Package
•   Arr          •   Format       •   Pagination
•   Asset        •   Ftp          •   Profiler
•   Autoloader   •   Fuel         •   Redis
•   Cache        •   Html         •   Request
•   Cli          •   Image        •   Response
•   Config        •   Inflector     •   Router
•   Cookie       •   Input        •   Security
•   Crypt        •   Lang         •   Session
•   Database     •   Log          •   Str
•   Date         •   Markdown     •   Theme
•   Debug        •   Migrate      •   Upload
•   Event        •   Model_Crud   •   Uri
•   Fieldset     •   Module       •   Validation
•   File         •   Mongo_Db     •   View
•   Finder       •   Num
7月1日から20日間FuelPHPを触ってみた感想

 •   必要な機能は大凡そろってるかなー

 •   シンプルで、やりたいことがサクッとできるイメージ

 •   ただ、フィーチャーフォン(いわゆるガラケー)向け
     のウェブアプリを作ったりするのは苦手分野かな?
     (ただ単に調べきれてないとも言う)

 •   その辺は、CakePHPとかの方が一日の長がある感じ

 •   まあ実質1週間くらいしか触ってないけどね!
こんな人にはFuelPHPを勧めてみます

 •   現場から少し離れてたけど、やっぱり自分でもアプリ
     ケーションを作りたい人

 •   WordPress等を通してPHPでのアプリケーション制作に
     興味を持ったけど、何から手を付けたら良いかわから
     ない人

 •   CodeIgniterのライセンス騒動に疲弊した人

 •   このスライドを通して興味を持ったもの皆
参考文献とかウェブページとか
FuelPHP 公式サイト(英語)
http://fuelphp.com/

FuelPHP日本語訳ドキュメント
http://press.nekoget.com/fuelphp_doc/

FuelPHP Google グループ
http://groups.google.com/group/fuelphp_jp
参考文献とかウェブページとか
     FuelPHP 入門
     2012年6月20日 初版 第1刷発行

     ブログ作成を通して、FuelPHPの使い方等を学びます。
     フォーム処理、認証管理、メール送信等。




     はじめてのフレームワークとしての FuelPHP
     2012年7月2日 バージョン0.9.0発行

     フレームワークとはなんぞやという所から始まって、FuelPHPを用いた
     ウェブアプリケーション作成について学びます。テスト手法について
     しっかりと書かれているのが好印象。電子書籍のみの販売。

     達人出版会
     http://tatsu-zine.com/books/fuelphp1st
勉強会のお知らせ




 スイミー
 http://swimmy.me/
勉強会のお知らせ

•   ウェブプログラマ向けの勉強会をやってます

•   PC持ち込んでやる勉強会です

•   月に1∼2回くらいのペースです

•   現在はPHPerも、ちゃんとCIしようってことで、
    Jenkinsの勉強をしています

•   一人で悩んでても仕方ない!がコンセプトなので、
    皆さんもお気軽に、ご参加ください!
さいごに



 このような機会を与えてくださってあ
 りがとうございました。
 おかげで目標を持って勉強することが
 できました。
さいごに




   ご清聴ありがとうございました
            @mawatarin

More Related Content

What's hot

Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンドYUKI Kaoru
 
[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita
[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita
[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki NaritaInsight Technology, Inc.
 
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないためにYutaka Tsumori
 
Formation word 2010 partie 1
Formation word  2010  partie 1Formation word  2010  partie 1
Formation word 2010 partie 1Alibi Mahdi
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de donnéesminiloka25
 
自社パッケージのDBをSQL ServerからPostgreSQLに移行してみた
自社パッケージのDBをSQL ServerからPostgreSQLに移行してみた自社パッケージのDBをSQL ServerからPostgreSQLに移行してみた
自社パッケージのDBをSQL ServerからPostgreSQLに移行してみたTaiji Uchida
 
Introduction to WAMP, a protocol enabling PUB/SUB and RPC over Websocket
Introduction to WAMP, a protocol enabling PUB/SUB and RPC over WebsocketIntroduction to WAMP, a protocol enabling PUB/SUB and RPC over Websocket
Introduction to WAMP, a protocol enabling PUB/SUB and RPC over Websocketsametmax
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)fisuda
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôleAbdelouahed Abdou
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chatTbatou sanae
 
UEFIベアメタルプログラミング
UEFIベアメタルプログラミングUEFIベアメタルプログラミング
UEFIベアメタルプログラミングYuma Ohgami
 
Ch5 base de données
Ch5   base de donnéesCh5   base de données
Ch5 base de donnéesWael Ismail
 
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。sasezaki
 
Cahier d'exercices-Dactylographie
Cahier d'exercices-DactylographieCahier d'exercices-Dactylographie
Cahier d'exercices-DactylographieWiki Info Systeme
 
DI(依存性注入)について
DI(依存性注入)についてDI(依存性注入)について
DI(依存性注入)についてYui Ito
 
チーム開発をうまく行うためのコーディング規約論
チーム開発をうまく行うためのコーディング規約論チーム開発をうまく行うためのコーディング規約論
チーム開発をうまく行うためのコーディング規約論Kentaro Matsui
 
HCEでなんちゃってType4のNDEFタグをつくる
HCEでなんちゃってType4のNDEFタグをつくるHCEでなんちゃってType4のNDEFタグをつくる
HCEでなんちゃってType4のNDEFタグをつくるHiroshi Tanaka
 

What's hot (20)

Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンド
 
[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita
[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita
[B15] HiRDBのSQL実行プランはどのように決定しているのか?by Masaaki Narita
 
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
 
TP 3 ACCESS
TP 3 ACCESSTP 3 ACCESS
TP 3 ACCESS
 
Formation word 2010 partie 1
Formation word  2010  partie 1Formation word  2010  partie 1
Formation word 2010 partie 1
 
Utiliser WordPress
Utiliser WordPressUtiliser WordPress
Utiliser WordPress
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
 
自社パッケージのDBをSQL ServerからPostgreSQLに移行してみた
自社パッケージのDBをSQL ServerからPostgreSQLに移行してみた自社パッケージのDBをSQL ServerからPostgreSQLに移行してみた
自社パッケージのDBをSQL ServerからPostgreSQLに移行してみた
 
Introduction to WAMP, a protocol enabling PUB/SUB and RPC over Websocket
Introduction to WAMP, a protocol enabling PUB/SUB and RPC over WebsocketIntroduction to WAMP, a protocol enabling PUB/SUB and RPC over Websocket
Introduction to WAMP, a protocol enabling PUB/SUB and RPC over Websocket
 
TP 1 ACCESS
TP 1 ACCESSTP 1 ACCESS
TP 1 ACCESS
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
 
Rapport application chat
Rapport application chatRapport application chat
Rapport application chat
 
UEFIベアメタルプログラミング
UEFIベアメタルプログラミングUEFIベアメタルプログラミング
UEFIベアメタルプログラミング
 
Ch5 base de données
Ch5   base de donnéesCh5   base de données
Ch5 base de données
 
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
 
Cahier d'exercices-Dactylographie
Cahier d'exercices-DactylographieCahier d'exercices-Dactylographie
Cahier d'exercices-Dactylographie
 
DI(依存性注入)について
DI(依存性注入)についてDI(依存性注入)について
DI(依存性注入)について
 
チーム開発をうまく行うためのコーディング規約論
チーム開発をうまく行うためのコーディング規約論チーム開発をうまく行うためのコーディング規約論
チーム開発をうまく行うためのコーディング規約論
 
HCEでなんちゃってType4のNDEFタグをつくる
HCEでなんちゃってType4のNDEFタグをつくるHCEでなんちゃってType4のNDEFタグをつくる
HCEでなんちゃってType4のNDEFタグをつくる
 

Viewers also liked

今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」Soudai Sone
 
CakePHP vs FuelPHP
CakePHP vs FuelPHPCakePHP vs FuelPHP
CakePHP vs FuelPHPSotaro Omura
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみてSotaro Omura
 
はじめての FuelPHP
はじめての FuelPHPはじめての FuelPHP
はじめての FuelPHPSho A
 
FuelPHP + Pagoda Box
FuelPHP + Pagoda BoxFuelPHP + Pagoda Box
FuelPHP + Pagoda BoxSotaro Omura
 
Fuel php勉強会東京vol2 発表資料_モデル間リレーション
Fuel php勉強会東京vol2 発表資料_モデル間リレーションFuel php勉強会東京vol2 発表資料_モデル間リレーション
Fuel php勉強会東京vol2 発表資料_モデル間リレーションweb2citizen
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1Fumito Mizuno
 
PHPカンファレンス 2012 フレームワークアップデート FuelPHP
PHPカンファレンス 2012 フレームワークアップデート FuelPHPPHPカンファレンス 2012 フレームワークアップデート FuelPHP
PHPカンファレンス 2012 フレームワークアップデート FuelPHPKenichi Mukai
 
ぺちぱな。 はじまり
ぺちぱな。 はじまりぺちぱな。 はじまり
ぺちぱな。 はじまりRyo Tajima
 
あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)Hiroyuki Ishiyama
 
Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!Sho A
 
Fuel php osc tokyo2012
Fuel php osc tokyo2012Fuel php osc tokyo2012
Fuel php osc tokyo2012Fumito Mizuno
 
フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成kenjis
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1kenjis
 
10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoya10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoyakenjis
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoyakenjis
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12kenjis
 
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかYoshifumi Kawai
 
PHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter updatePHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter updateTakako Miyagawa
 

Viewers also liked (20)

今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」今、最も勢いのあるWebフレームワーク「fuel php」
今、最も勢いのあるWebフレームワーク「fuel php」
 
CakePHP vs FuelPHP
CakePHP vs FuelPHPCakePHP vs FuelPHP
CakePHP vs FuelPHP
 
FuelPHPをさわってみて
FuelPHPをさわってみてFuelPHPをさわってみて
FuelPHPをさわってみて
 
はじめての FuelPHP
はじめての FuelPHPはじめての FuelPHP
はじめての FuelPHP
 
FuelPHP + Pagoda Box
FuelPHP + Pagoda BoxFuelPHP + Pagoda Box
FuelPHP + Pagoda Box
 
Fuel php勉強会東京vol2 発表資料_モデル間リレーション
Fuel php勉強会東京vol2 発表資料_モデル間リレーションFuel php勉強会東京vol2 発表資料_モデル間リレーション
Fuel php勉強会東京vol2 発表資料_モデル間リレーション
 
Ospn fuel php
Ospn fuel phpOspn fuel php
Ospn fuel php
 
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
 
PHPカンファレンス 2012 フレームワークアップデート FuelPHP
PHPカンファレンス 2012 フレームワークアップデート FuelPHPPHPカンファレンス 2012 フレームワークアップデート FuelPHP
PHPカンファレンス 2012 フレームワークアップデート FuelPHP
 
ぺちぱな。 はじまり
ぺちぱな。 はじまりぺちぱな。 はじまり
ぺちぱな。 はじまり
 
あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)あにみた!(PHPカンファレンス用資料)
あにみた!(PHPカンファレンス用資料)
 
Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!
 
Fuel php osc tokyo2012
Fuel php osc tokyo2012Fuel php osc tokyo2012
Fuel php osc tokyo2012
 
フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成フレームワーク入門書の決定版が完成
フレームワーク入門書の決定版が完成
 
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1 10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
 
10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoya10分でわかるFuelPHP @ OSC2013 Nagoya
10分でわかるFuelPHP @ OSC2013 Nagoya
 
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya 10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
 
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
 
PHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter updatePHPCON fukuoka 2015 CodeIgniter update
PHPCON fukuoka 2015 CodeIgniter update
 

Similar to 最近、僕がハマったFuelPHPの紹介

FuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみるFuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみるMakoto Shimoda
 
Phpunit at excite
Phpunit at excitePhpunit at excite
Phpunit at exciteyuki777
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)Rui Hirokawa
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterMasanori Oobayashi
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUpKenichi Mukai
 
behatエクステンションの作り方
behatエクステンションの作り方behatエクステンションの作り方
behatエクステンションの作り方Ryo Tomidokoro
 
ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門Mahito Ogura
 
FukuokaPHP 3
FukuokaPHP 3FukuokaPHP 3
FukuokaPHP 3ichikaway
 
WordPressプラグイン作成入門
WordPressプラグイン作成入門WordPressプラグイン作成入門
WordPressプラグイン作成入門Yuji Nojima
 
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能kimulla
 
NetBeansではじめる FuelPHP
NetBeansではじめる FuelPHPNetBeansではじめる FuelPHP
NetBeansではじめる FuelPHPJunichi Yamamoto
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01Yusuke Ando
 
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014 FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014 Mika Kane
 

Similar to 最近、僕がハマったFuelPHPの紹介 (20)

Osc2014
Osc2014Osc2014
Osc2014
 
FuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみるFuelPHPにアプリと管理ツールを同居してみる
FuelPHPにアプリと管理ツールを同居してみる
 
Phpunit at excite
Phpunit at excitePhpunit at excite
Phpunit at excite
 
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
 
第21回Creators MeetUp
第21回Creators MeetUp第21回Creators MeetUp
第21回Creators MeetUp
 
behatエクステンションの作り方
behatエクステンションの作り方behatエクステンションの作り方
behatエクステンションの作り方
 
ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門
 
Xhprof
XhprofXhprof
Xhprof
 
Fuelphp1.8を始めたい
Fuelphp1.8を始めたいFuelphp1.8を始めたい
Fuelphp1.8を始めたい
 
FukuokaPHP 3
FukuokaPHP 3FukuokaPHP 3
FukuokaPHP 3
 
2009 PHP初心者
2009 PHP初心者2009 PHP初心者
2009 PHP初心者
 
Chef
ChefChef
Chef
 
WordPressプラグイン作成入門
WordPressプラグイン作成入門WordPressプラグイン作成入門
WordPressプラグイン作成入門
 
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能
 
NetBeansではじめる FuelPHP
NetBeansではじめる FuelPHPNetBeansではじめる FuelPHP
NetBeansではじめる FuelPHP
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014 FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
FuelPHP - フレームワーク4本勝負 @PHPカンファレンス関西2014
 
Apache Module
Apache ModuleApache Module
Apache Module
 

Recently uploaded

LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルCRI Japan, Inc.
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。iPride Co., Ltd.
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員Sadaomi Nishi
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルCRI Japan, Inc.
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdkokinagano2
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperleger Tokyo Meetup
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用KLab Inc. / Tech
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfTakayuki Nakayama
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイントonozaty
 

Recently uploaded (9)

LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 

最近、僕がハマったFuelPHPの紹介

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n