Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
phpcon2013_zf
sasezaki
Phpstudy44 Zend Frameworkが抱えている問題は多い。
sasezaki
15分でCakePHPを始める方法(Nseg 2013-11-09 )
hiro345
実"戦"CakePHP Plugin
Kenichirou Oyama
EC-CUBEプラグイン講義
ria1201
RFC: "var" Deprecation
y-uti
Djangoによるスマホアプリバックエンドの実装
Nakazawa Yuichi
アプリコンテスト
Tomonori Yamada
1
of
44
Top clipped slide
WTM53 phpフレームワーク いまさらcodeigniter
Jan. 19, 2013
•
0 likes
4 likes
×
Be the first to like this
Show More
•
3,905 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Report
Technology
Masanori Oobayashi
Follow
CEO at Funaffect
Advertisement
Advertisement
Advertisement
Recommended
はじめてのCodeIgniter
Yuya Matsushima
6.4K views
•
65 slides
CodeIgniter入門
Sho A
13.1K views
•
49 slides
PHP勉強会 #51
Takako Miyagawa
3.5K views
•
56 slides
Symfony2でより良いソフトウェアを作るために
Atsuhiro Kubo
9.6K views
•
40 slides
Behatで行う、E2Eテスト入門
leverages_event
6K views
•
69 slides
Behat+Symfony2ではじめるBDD超入門
晃 遠山
4.4K views
•
68 slides
More Related Content
Slideshows for you
(20)
phpcon2013_zf
sasezaki
•
1.5K views
Phpstudy44 Zend Frameworkが抱えている問題は多い。
sasezaki
•
1.3K views
15分でCakePHPを始める方法(Nseg 2013-11-09 )
hiro345
•
4.4K views
実"戦"CakePHP Plugin
Kenichirou Oyama
•
4.6K views
EC-CUBEプラグイン講義
ria1201
•
16.9K views
RFC: "var" Deprecation
y-uti
•
1.6K views
Djangoによるスマホアプリバックエンドの実装
Nakazawa Yuichi
•
25K views
アプリコンテスト
Tomonori Yamada
•
530 views
20120327 phpstudy58-phake
Katsuhiro Ogawa
•
2.1K views
concrete5デザインカスタマイズに必要なPHPの知識
Hishikawa Takuro
•
3.8K views
今からでも遅くないC#開発
Kazunori Hamamoto
•
4.4K views
.htaccessによるリダイレクト徹底解説
Cherry Pie Web
•
165.3K views
Windows で PHP をビルドしてみた
y-uti
•
2.2K views
WordPressプラグイン作成入門
Yuji Nojima
•
38.9K views
今、最もイケてるPHPフレームワークLaravel4
leverages_event
•
4K views
OSS開発勉強会-03
Kohei KaiGai
•
754 views
仕事の手離れを良くする手段としての、静的検査のあるテンプレートエンジン (YATT::Lite talk at 2014 テンプレートエンジンNight)
Hiroaki KOBAYASHI
•
1.2K views
JIT for PHP を試した
y-uti
•
5K views
Djangoフレームワークの紹介
Shinya Okano
•
7.2K views
Vue入門
Takeo Noda
•
5.7K views
Similar to WTM53 phpフレームワーク いまさらcodeigniter
(20)
20091030cakephphandson 01
Yusuke Ando
•
1.3K views
10分でわかるFuelPHP @ 2011/12
kenjis
•
4.2K views
Windows Azure PHP Tips
Microsoft Openness Japan
•
660 views
PHPフレームワーク入門
Sho A
•
2K views
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
•
26.5K views
Inside mobage platform
Toru Yamaguchi
•
3K views
CodeIgniter 〜 2008年大躍進のPHPフレームワーク
kenjis
•
34K views
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
Atsuo Ishimoto
•
22.8K views
Web技術勉強会 20100925
龍一 田中
•
418 views
PHP Now and Then 2012 at PHP Conference 2012, Tokyo Japan (in japanese)
Rui Hirokawa
•
2.9K views
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
kenjis
•
3.9K views
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
•
4.2K views
第21回Creators MeetUp
Kenichi Mukai
•
2.4K views
php-src の歩き方
do_aki
•
2.3K views
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
•
2.3K views
Aizu.LT::Tokyo #4
Taku Unno
•
988 views
Play framework 2.0のおすすめと1.2からのアップグレード
Kazuhiro Hara
•
8.6K views
Windows PowerShell 2.0 の基礎知識
shigeya
•
3.3K views
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
•
6.4K views
Php in ruby
do_aki
•
2.8K views
Advertisement
Recently uploaded
(20)
SoftwareControl.pdf
ssusercd9928
•
6 views
JSTQB_テストマネジメントとレビュープロセス.pdf
akipii Oga
•
175 views
点群SegmentationのためのTransformerサーベイ
Takuya Minagawa
•
13 views
Üslup ve tercüme.pdf
1Hmmtks
•
2 views
通信プロトコルについて
iPride Co., Ltd.
•
6 views
20230516 @Mix Leap Hirohiko_Suwa
Masashi Nakagawa
•
91 views
統計学の攻略_正規分布ファミリーの全体像.pdf
akipii Oga
•
201 views
Forguncy8 製品概要 202305.pptx
フォーガンシー
•
54 views
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
オラクルエンジニア通信
•
31 views
ペンタエリスリトール市場.pdf
HinaMiyazu
•
3 views
DrupalをDockerで起動してみる
iPride Co., Ltd.
•
0 views
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
Takanari Tokuwa
•
46 views
Kubernetes超入門
Takashi Suzuki
•
5 views
3Dプリンタって いいね
infinite_loop
•
56 views
20230523_IoTLT_vol99_kitazaki_v1.pdf
Ayachika Kitazaki
•
110 views
【DL輪読会】Egocentric Video Task Translation (CVPR 2023 Highlight)
Deep Learning JP
•
60 views
《杨百翰大学毕业证|学位证书校内仿真版本》
d520dasw12
•
2 views
初学者のためのプロンプトエンジニアリング実践.pptx
Akifumi Niida
•
422 views
PCベース制御による集中制御.pdf
ssusercd9928
•
19 views
量子論.pdf
hiro150493
•
7 views
WTM53 phpフレームワーク いまさらcodeigniter
PHPとフレームワーク いまさらCodeigniter
WEB TOUCH MEETING 53 2013.01.19 大林 正典
自己紹介 •
大林 正典 / @moobay9 / インフラエンジニア • 20世紀からHTML/CSSは触ってましたがWEBを仕事 にしたのは2007年から • 2011年の秋まで東京の渋谷で働いてました • わりと有名どころの会社のサイト構築・運用を経験 • 時々プログラマー(PHPとシェルスクリプト) • 現在フリーです。猛烈に仕事募集中です
お題 •
PHP • フレームワーク • MVC • Codeigniter
PHP
“Personal Home Page”
正式名称は PHP: Hypertext Preprocessor
HTMLの正式名称は HyperText Markup Language
つまりPHPは 動的にHTMLデータを生成するために 生まれてきた言語なのです
∩___∩ |
ノ u ヽ 動的の意味が / ● ● | | u ( _●_) ミ わからないクマー… 彡、 |∪| u、`\ / __ ヽノ /´> ) (___) u / (_/ | / | /\ \ | / ) ) ∪ ( \ \_)
こんなコードがあったとき
hoge.php <?php if ($_GET['prm'] == 1) { echo "hoge"; } else { echo "uwaaa"; }
http://dummy/hoge.php?prm=1 画面に表示されるのは「hoge」 http://dummy/hoge.php?prm=2 画面に表示されるのは「uwaaa」
おなじhoge.phpにアクセスしてるのに 見た目が変わってますよね。
これが動的なデータ生成です。
フレームワークとは
ここでのフレームワークは厳密にいうと WEBアプリケーションフレームワーク
主なフレームワーク
名前 言語 Ruby on Rails Ruby CakePHP PHP Codeigniter PHP Zend Framework PHP Symfony PHP Catalyst Perl Struts Java
よくある勘違い
「Smartyもフレームワークだよね?
なんで入ってないの?」
Smarty はテンプレートエンジンです。 後述する View
をつかさどる物であって 決してフレームワークではありません。
フレームワーク何するものぞ?
簡単に表現するならば 役立つ機能やよく使われる機能の
集合体です。
主な機能 •
セキュリティ • データベースアクセス • セッション • 認証 • フォームのバリデーション(検証) • etc...
「俺またこの機能を書いてるよ…」 というような状況を無くすために フレームワークはあります。
フレームワークの利点 •
誰がコードを書いても似たような作りになる - メンテナンス性アップ! - 品質の均一化! • 同じ事を省いてくれるので作成時間の短縮 - 工数削減!
デメリットはあまりありませんが、 強いてあげれば各フレームワークごとに お作法がありますので要学習
MVC
Model-View-Controller
フレームワークの構造です 大まかにこの三つからできてます
URLのアドレス
入力 GETやPOSTのパラメータ Controller Model View データの取得・加工・生成 出力 データベースへのアクセス HTMLをブラウザへ パスワード用ランダム文字列の生成 メールマガジン登録者へメール 受け取ったPOST値の加工
よくあるパターン <?php require_once './session.inc';
// セッション require_once './database.inc'; // DBの定義 $param1 = $_POST["name"]; $param2 = $_POST["old"]; コントローラーでやるところ // 入力チェック // DBからデータを取得 モデルでやるところ ?> <html> <?php ビューのデータ // DBから取得したデータを適当に展開 foreach($result as $item) : ?> <div> <p><?php echo $item["hogehoge"]; ?></p> </div> <?php endforeach; ?> </html>
Codeigniter
PHPフレームワークのトレンド
世界で一番検索されている PHPのフレームワークです
ベンチマーク
フレームワーク Requests per second Symfony 2.1.6 34.77 CakePHP 2.2.5 63.05 Codeigniter 2.1.3 182.03 $ ab -c 10 -t 60 <URL> Symfony CakePHP Codeigniter RPS 0 50 100 150 200
インストールが簡単 /
/application/ 解凍すると既にこの形 /cache/ /config/ /controllers/ /core/ コントローラー /errors/ /helpers/ /hooks/ /language/ /libraries/ /logs/ /models/ モデル / third_party/ /views/ ビュー /system/ index.php
コード量が少ない
<?php class Demo extends CI_Controller { public function index() Codeigniter { $this->load->view('demo'); } } <?php App::uses('AppController', 'Controller'); class DemoController extends AppController { public $name = 'Demo'; CakePHP public $uses = array(); public function index() { $this->layout = null; $this->render(); } }
その他の特徴 •
おぼえる事が少ないので習得が短期間 • マニュアルが読みやすい • 機能は必要最低限 • 日本で人気のCakePHPと比べて規約が超ゆるい • 足りない機能の拡張も簡単 • ActiveRecord
Codeigniterを触った後で Zend Frameworkをやろうと思うと
泣けます。悪い意味で。
問題点 •
オンラインの日本語マニュアルが最新版に更新さ れてません(2.0.3止まり、最新版は2.1系) • ライセンスがちょっと特殊なのでGPLが絡むとき は気をつけてください
CodeigniterのURL http://example.com/index.php/hello/world/dummy •
hello: コントローラー • world: メソッド • dummy: パラメータ(省略可能) <?php class Hello extends CI_Controller { public function world($dummy) { $this->load->view('hw', array('prm'=>$dummy)); } }
他クラスの読み込み
$this->load->ほにゃらら(); // Helper $this->load->helper('url'); echo prep_url('example.com'); // Library $this->load->library('session'); $this->session->set_userdata('AAA', 'BBB') // Model $this->load->model('hoge'); $this->hoge->get(); // View $this->load->view('hw');
ActiveRecord
簡単に言うとデータベースからデータを抜いてくる時に SQLを直接書かないようにする仕組み <?php class Tekitou extends CI_Model { function __construct() { parent::__construct(); $this->load->database(); } SQLを書いてない public function get($uid) { $query = $this->db->get_where('user', array('id' => $uid)); return $query->result_array(); } }
ActiveRecord $query = $this->db->query('SELECT
* FROM user'); $query = $this->db->get('user'); return $query->result_array(); $query = $this->db->where('id', $uid)->get('user'); $query = $this->db->get_where('user', array('id' => $uid)); $query = $this->db->query('SELECT * FROM user WHERE id = ?', array($uid)); return $query->result_array();
広島でもCodeigniterがもうちょっと
流行るといいなぁ…
質疑応答
ご清聴ありがとうございました
Advertisement