SlideShare ist ein Scribd-Unternehmen logo
1 von 49
CodeIgniter 入門
      Aug. 13, 2011
  第20回 オープンラボ岡山



          sho <sho@codeigniter.jp>
本発表の主な対象者

• PHP で何かつくったことがある

• フレームワークを使ったことがない
 – 学習しようとしたが挫折した
 – 自作の“それっぽい何か”を使っている

• オブジェクト指向をある程度理解していると better
  – Class
  – インスタンス
  – オーバーライド etc.
                                1
お品書き

• CodeIgniter とは?
  – なにがそんなにいいの?
  – まだこんなコードを書きますか?
• Hello World
  – Controller
  – View
• データベースアクセス
  – Active Record
  – Model
                      2
CodeIgniter とは?

• [kóud ig・nít・er]
• igniter: [名] 点火装置

•   PHP 用のフレームワーク
•   無料,オープンソース
•   最初の公開は 2006年 2月
•   現時点での最新バージョンは 2.0.2 (en)
•   EllisLab, Inc. が開発
* CodeIgniter and its logo are property of ElisLab Inc.

                                                          3
聞いたことないんだけど…



               4
覚えて帰りましょう

• Google トレンド
   ■CodeIgniter,■CakePHP,■symfony,■zend




                                          5
いま世界で最も注目されている!

• Google トレンド (拡大図)




                      6
さらに…

• 利用実績 (ユーザ会のサイトより)




                      7
岡山でも注目されている!

• 利用実績 (ユーザ会のサイトより)

               ・ 山陽新聞WEBNEWS
               ・ さんようタウンナビ
               ・ 岡山医療ガイド




                               8
意外と人口多いですよ

• ユーザ会の活動が活発
 – CodeIgniter カンファレンス 2011
 – ユーザガイド翻訳
 – メーリングリスト


• Web 上にも Tips がゴロゴロ
 – Yahoo! ブログ検索
   「CodeIgniter」 約465件


                              9
なにがそんなにいいの?



              10
「高速」 「軽量」 「低い学習コスト」

• 高速
 – 他のフレームワークと比較しても圧倒的
 – CodeIgniter ベンチマーク 検索

• 軽量
 – ソースの容量は約 1.2MByte

• 低い学習コスト
 – 規約,覚えることが少ない


                           11
CodeIgniter の特徴

• 日本語のユーザガイドが完備




                  12
CodeIgniter の特徴

• コマンドライン操作が不要

• レンタルサーバでも幅広く動作
 – System は原則,外部ライブラリを不使用
 – PHP のバージョンや環境設定の違いを吸収

• ほとんど設定が不要
 – とりあえず DB の接続情報を設定すれば動作



                            13
CodeIgniter の特徴

• 自分好みに
  – コアクラスを書き換えられる (extends)

• Smarty も使える

• IDE との相性も良い
  – Eclipse, NetBeans etc.




                              14
CodeIgniter の特徴

• ライブラリが充実
 例)
 – Form Validation
    • フォームから送信された値を検査

 – ページネーション
    • 前のページ,次のページ… のようなリンクを生成

 – Active Record
    • 最小限のコードでデータベースにアクセス

                                15
利用者の声

• S. Y. さん (26歳 男性)


                      僕のcodeに火がつきました




                                       16
IDE で楽々開発

• 私の開発環境:
 – Mac OS 10.7
 – MAMP 2.0
   • Apache 2.0
   • MySQL 5.1
   • PHP 5.3
 – NetBeans 7.0
 – Subversion


                  17
まだこんなコード書きますか?



                 18
まだこんなコードを書きますか?

• 煩雑な入力チェック
 if (empty($_POST*‘name’+))
         error(‘お名前が未入力です。’);

 if (!preg_match(‘/^*a-z0-9¥-_¥.]@[a-z0-9¥-¥.]$/i’,$_POST*‘mail’+))
          error(‘E-Mail を正しく入力してください。’);

 if (!(strlen($_POST*‘tel’+) >= 10 && strlen($_POST*‘tel’+) <= 13))
            error(‘電話番号を正しく入力してください。’);



                                                                      19
まだこんなコードを書きますか?

• ロジックとデザインがごちゃまぜ
 <html><body>
 <table>
 <?php
 require_once('conf.inc.php');
 $db = DB::connect('mysql://'.DB_USER.':'.DB_PASS.'@'.DB_HOST.'/'.DB_NAME);
 $stt = $db->prepare(’SELECT * FROM users ORDER BY user_id ASC;');
 $rs = $db->execute($stt);
 while ($row = $rs->fetchRow(DB_FETCHMODE_ASSOC)) {
 ?>
   <tr>
      <th><?= $row*‘id’+ ?></th><td><?= htmlspecialchars($row*‘name’+) ?></td>
   </tr>
 <?php } ?>
 </table>
 </body></html>
                                                                                 20
CodeIgniter なら…



                  21
スパゲティコードとはもうお別れ

• Smart なフォーム検証
 – 入力必須,文字数,文字種 etc.




• MVC にだいたい準拠

                       22
フォーム検証



         23
フォーム検証

• 検証ルールをセット
 – $this->form_validation->set_rules(
           ‘name 属性の値’,
           ‘表示名’,
           ‘検証ルール’
   );


• 検証                               成功: TRUE / 失敗: FALSE

 – $this->form_validation->run()

                                                          24
フォーム検証

• 検証ルールの一例
  ルール名            用途
  required        何か値が入力されているか
  matches[hoge]   他のフィールドと一致するか
                  (例: E-mailの確認入力)
  max_length[n]   文字数が指定の長さ以内か
  alpha_numeric   半角英数字で入力されているか
  valid_email     E-mail アドレスとして正しい書式か

 – 複数指定するときはパイプ | で区切る
 – 自前のルールを定義することも可能
                                         25
フォーム検証

• 実際のコードの例:
        :                         検証ルールをセット
     $this->_set_validation();
     if ($this->form_validation->run() !== TRUE) {
           // 検証失敗
     } else {
                                    検証実行
           // 検証成功
     }
 }

 function _set_validation() {
     $this->form_validation->set_rules('mail', 'E-Mail',
          'required|valid_email|max_length[100]');
     $this->form_validation->set_rules('birth', '生年月日',
          'required|is_natural|exact_length[8]');
 }                                                         26
フォーム検証

• ユーザにエラーを表示 (検証失敗時)
  – set_value() で入力値を取得
  – form_error() でエラー内容を取得


• 例)
       <tr>
            <th>E-Mail</th>
            <td><input type="text" name="mail" size="30"
                    value="<?php echo set_value('mail'); ?>" />
                <?php echo form_error('mail'); ?></td>
       </tr>

                                                                  27
MVC



      28
MVC

• ソフトウェアを次の3つの構造に分割する手法
 – Model
    • 表示する内容を表現する
      例) データベースアクセス

 – View
    • データをユーザに表示する
      例) HTML 出力

 – Controller
    • Model と View を制御し,ユーザの入力に応答する

                                      29
MVC

• イメージ

                    Controller



             View                   Model

      HTML



                             File     データベース


                                               30
MVC のメリット

     • 独立性を確保
            – 機能ごとの役割分担が明確に

     • 依存性の抑制
            – 他の部分の変更による影響を受けにくく
            – 部品の再利用性が向上

     • 保守性の向上
            – デザインとビジネスロジックの切り分け


参考: http://www.atmarkit.co.jp/fjava/javafaq/j2ee/j2e07.html   31
Hello World!



               32
使いはじめるまでの流れ
1. ファイル一式をダウンロードしてきて設置
2. (Unix系) 一部ディレクトリのパーミッションを変更
3. とりあえず index.php にアクセス




4. 設定ファイルで DB の接続情報を設定
5. Controller, View, Model の作成
                                 33
ディレクトリ構成 (の一部)

• index.php ………… フロントコントローラ
• application/
  – config/ ……………     設定ファイル
  – controllers/ ……   Controller
  – helpers/ …………     自作の関数
  – libraries/ ………    自作のクラス
  – models/ …………      Model
  – views/ ……………      View
• system/   …………… いじらない
                                   34
CodeIgniter の URL
 http://example.jp/hoge/index.php/fuga/piyo/foo
   – fuga: クラス名 (default: welcome)
   – piyo: メソッド名 (default: index)
   – foo: 引数 (複数可,省略可)
         class Fuga extends CI_Controller {
               (中略)
             function piyo($foo, $bar = ‘test’) ,
                 …
             }
         }
※ “index.php/” は mod_rewrite で取り除くことも可能

                                                    35
Hello World!

• Controller (application/controllers/hello.php)

                 1文字目は               CI_Controller
       <?php      大文字                   を継承

       class Hello extends CI_Controller {
               (中略)
            function index() {
                $data*‘str’+ = 'Hello World!';
                $this->load->view(’greet', $data);
           }
       }                       View を呼び出す


                                                     36
Hello World!

• View (application/views/greet.php)

      <html>
      <head>
      <title>Hello World!</title>
      </head>                  変数の値を出力
      <body>
      <h1><?php echo($str); ?></h1>
      </body>
      </html>


※ 必要に応じて値のエスケープを
※ テンプレートパーサも利用可
                                         37
Hello World!

• ブラウザでアクセス
  – http://example.jp/hoge/index.php/hello




                                             38
データベースアクセス



             39
データベースアクセス

• 対応 DBMS
 – MySQL,MS SQL,Postgres,Oracle,SQLite etc.

• 接続情報の設定
 – application/config/database.php
    $db['default']['hostname'] = 'localhost';
    $db*‘default’+*‘username’+ = ‘dbuser';
    $db['default']['password'] = 'sHFm2F7h';
    $db['default']['database'] = ‘mydb';
    $db['default']['dbdriver'] = 'mysql';

                                                40
データベースアクセス
• Active Record
  – 取得や挿入,更新を最小限のコードで
  – 各 DBMS 間の SQL 構文の違いを吸収
  – 値を自動的にエスケープ処理
※ もちろん自分で SQL 文を書くことも可能




                             41
Active Record の使用法 (の一部)

• 取得: get()
  – $query = $this->db->get(‘mytable’, 10, 20);
      SELECT * FROM mytable LIMIT 20, 10;

• 条件を指定: where()
  – $this->db->where(array(‘id’ => 123));
    $query = $this->db->get(‘mytable’);

      SELECT * FROM mytable WHERE id=123;

                                                  42
Active Record の使用法 (の一部)

• 挿入: insert()
  – $data = array(
        ‘title’ => ‘My title’ ,
        ‘name’ => ‘My Name’ ,
        ‘date’ => ‘My date‘
    );
    $this->db->insert(’mytable’, $data);
      INSERT INTO mytable (title, name, date)
        VALUES ('My Title', 'My Name', 'My Date');


                                                     43
Model の作成

• 例) application/models/users_model.php
                                                CI_Model
      class Users_model extends CI_Model {       を継承
              (中略)
          function get_user($user_id) {
              $this->db->where('user_id', $user_id);
              $query = $this->db->get('users');            クエリを組立
              $result = $query->result();

               return $result[0];   結果を取得
          }
      }

※ Model 名とテーブル名は同じにするのがおすすめ
※ 実際には引数や結果の検査,例外処理をするべき

                                                                    44
Controller から Model をロード

• 例) application/controllers/user.php

      class User extends CI_Controller {
            (中略)                           Model を load
           function show($user_id) {
               $this->load->model(‘Users_model’);    結果を取得
               $data*‘userinfo’+ =
                    $this->Users_model->get_user($user_id);
               $this->load->view(’showuser', $data);
          }
      }                            View に渡す




                                                              45
以上,駆け足でしたが
一通りご説明しました


             46
次回予告 (あるかな?)

• ライブラリ,ヘルパ関数の活用
• 開発テクニック
• 開発事例 etc.




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



                 48

Weitere ähnliche Inhalte

Was ist angesagt?

Azure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストAzure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストKuniteru Asami
 
코틀린 멀티플랫폼, 미지와의 조우
코틀린 멀티플랫폼, 미지와의 조우코틀린 멀티플랫폼, 미지와의 조우
코틀린 멀티플랫폼, 미지와의 조우Arawn Park
 
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とdo_aki
 
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみDoma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみToshihiro Nakamura
 
進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjp進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjpsonickun
 
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送Google Cloud Platform - Japan
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 
PHPの今とこれから2023
PHPの今とこれから2023PHPの今とこれから2023
PHPの今とこれから2023Rui Hirokawa
 
Cloudflareのソリューションを使用して悪意のあるBot対策
Cloudflareのソリューションを使用して悪意のあるBot対策Cloudflareのソリューションを使用して悪意のあるBot対策
Cloudflareのソリューションを使用して悪意のあるBot対策Cloudflare
 
React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面KentaEndoh
 
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭台灣資料科學年會
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaShigeru Hanada
 
PeopleSoft Integration broker Performance Tunning
PeopleSoft Integration broker Performance TunningPeopleSoft Integration broker Performance Tunning
PeopleSoft Integration broker Performance TunningInSync Conference
 
[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld
[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld
[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason DonenfeldCODE BLUE
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみましたShuntaro Saiba
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Yuichi Ito
 
Kotlin/Native 「使ってみた」の一歩先へ
Kotlin/Native 「使ってみた」の一歩先へKotlin/Native 「使ってみた」の一歩先へ
Kotlin/Native 「使ってみた」の一歩先へTakaki Hoshikawa
 
VMware ESXi トラブルシューティング
VMware ESXi トラブルシューティングVMware ESXi トラブルシューティング
VMware ESXi トラブルシューティングKazuhito Ohkawa
 

Was ist angesagt? (20)

Azure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステストAzure load testingを利用したパフォーマンステスト
Azure load testingを利用したパフォーマンステスト
 
코틀린 멀티플랫폼, 미지와의 조우
코틀린 멀티플랫폼, 미지와의 조우코틀린 멀티플랫폼, 미지와의 조우
코틀린 멀티플랫폼, 미지와의 조우
 
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
 
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみDoma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみ
 
進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjp進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjp
 
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
[Cloud OnAir] オンプレミスにあるデータを GCP で分析する前に知っておきたいアーキテクチャ 2019年5月30日 放送
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
PHPの今とこれから2023
PHPの今とこれから2023PHPの今とこれから2023
PHPの今とこれから2023
 
Cloudflareのソリューションを使用して悪意のあるBot対策
Cloudflareのソリューションを使用して悪意のあるBot対策Cloudflareのソリューションを使用して悪意のあるBot対策
Cloudflareのソリューションを使用して悪意のあるBot対策
 
React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面
 
DNS: EdgeCast Route - Technical DNS Service Overview
DNS: EdgeCast Route - Technical DNS Service Overview DNS: EdgeCast Route - Technical DNS Service Overview
DNS: EdgeCast Route - Technical DNS Service Overview
 
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
使用 Elasticsearch 及 Kibana 進行巨量資料搜尋及視覺化-曾書庭
 
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 HiroshimaPostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
 
PeopleSoft Integration broker Performance Tunning
PeopleSoft Integration broker Performance TunningPeopleSoft Integration broker Performance Tunning
PeopleSoft Integration broker Performance Tunning
 
[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld
[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld
[CB16] WireGuard:次世代耐乱用性カーネルネットワークトンネル by Jason Donenfeld
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみました
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
Kotlin/Native 「使ってみた」の一歩先へ
Kotlin/Native 「使ってみた」の一歩先へKotlin/Native 「使ってみた」の一歩先へ
Kotlin/Native 「使ってみた」の一歩先へ
 
VMware ESXi トラブルシューティング
VMware ESXi トラブルシューティングVMware ESXi トラブルシューティング
VMware ESXi トラブルシューティング
 
SQLite の暗号化
SQLite の暗号化SQLite の暗号化
SQLite の暗号化
 

Ähnlich wie CodeIgniter入門

PHPフレームワーク入門
PHPフレームワーク入門PHPフレームワーク入門
PHPフレームワーク入門Sho A
 
はじめてのCodeIgniter
はじめてのCodeIgniterはじめてのCodeIgniter
はじめてのCodeIgniterYuya Matsushima
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回Naoyuki Yamada
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterMasanori Oobayashi
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01Yusuke Ando
 
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
CodeIgniter 〜 2008年大躍進のPHPフレームワークCodeIgniter 〜 2008年大躍進のPHPフレームワーク
CodeIgniter 〜 2008年大躍進のPHPフレームワークkenjis
 
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Kazumi IWANAGA
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識shigeya
 
スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門Hisashi HATAKEYAMA
 
IT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティングIT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティングKazuki Takai
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSAyumi Goto
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼうyouku
 
Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010stomita
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624Yusuke Suzuki
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発Mitsuru Katoh
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~normalian
 
Software Development with Symfony
Software Development with SymfonySoftware Development with Symfony
Software Development with SymfonyAtsuhiro Kubo
 
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようGroovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようAkira Shimosako
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12kenjis
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!Shohei Okada
 

Ähnlich wie CodeIgniter入門 (20)

PHPフレームワーク入門
PHPフレームワーク入門PHPフレームワーク入門
PHPフレームワーク入門
 
はじめてのCodeIgniter
はじめてのCodeIgniterはじめてのCodeIgniter
はじめてのCodeIgniter
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
 
20091030cakephphandson 01
20091030cakephphandson 0120091030cakephphandson 01
20091030cakephphandson 01
 
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
CodeIgniter 〜 2008年大躍進のPHPフレームワークCodeIgniter 〜 2008年大躍進のPHPフレームワーク
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
 
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識
 
スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門スマートフォン向けサービスにおけるサーバサイド設計入門
スマートフォン向けサービスにおけるサーバサイド設計入門
 
IT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティングIT Pro のための PowerShell スクリプティング
IT Pro のための PowerShell スクリプティング
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼう
 
Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010Apexコアデベロッパーセミナー(Apexコード)071010
Apexコアデベロッパーセミナー(Apexコード)071010
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
 
Software Development with Symfony
Software Development with SymfonySoftware Development with Symfony
Software Development with Symfony
 
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようGroovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
 
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/1210分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
 

Mehr von Sho A

HTTP入門
HTTP入門HTTP入門
HTTP入門Sho A
 
ドメイン名入門
ドメイン名入門ドメイン名入門
ドメイン名入門Sho A
 
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Sho A
 
DNS 入門
DNS 入門DNS 入門
DNS 入門Sho A
 
Unix コマンド入門
Unix コマンド入門Unix コマンド入門
Unix コマンド入門Sho A
 
Unix 基礎
Unix 基礎Unix 基礎
Unix 基礎Sho A
 
Let’s translate FuelPHP docs! [RELOADED]
Let’s translate FuelPHP docs! [RELOADED]Let’s translate FuelPHP docs! [RELOADED]
Let’s translate FuelPHP docs! [RELOADED]Sho A
 
Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!Sho A
 
はじめての FuelPHP
はじめての FuelPHPはじめての FuelPHP
はじめての FuelPHPSho A
 

Mehr von Sho A (9)

HTTP入門
HTTP入門HTTP入門
HTTP入門
 
ドメイン名入門
ドメイン名入門ドメイン名入門
ドメイン名入門
 
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
 
DNS 入門
DNS 入門DNS 入門
DNS 入門
 
Unix コマンド入門
Unix コマンド入門Unix コマンド入門
Unix コマンド入門
 
Unix 基礎
Unix 基礎Unix 基礎
Unix 基礎
 
Let’s translate FuelPHP docs! [RELOADED]
Let’s translate FuelPHP docs! [RELOADED]Let’s translate FuelPHP docs! [RELOADED]
Let’s translate FuelPHP docs! [RELOADED]
 
Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!Let’s translate FuelPHP docs!
Let’s translate FuelPHP docs!
 
はじめての FuelPHP
はじめての FuelPHPはじめての FuelPHP
はじめての FuelPHP
 

CodeIgniter入門