21
CodeIgniter4 @NEKOGET( 宮宮 宮宮 ) 宮宮宮宮宮宮宮宮 / necomori, LLC

CodeIgniter4 PHPCon 2016

Embed Size (px)

Citation preview

Page 1: CodeIgniter4  PHPCon 2016

CodeIgniter4

@NEKOGET( 宮川 貴子 ) 合同会社ねこもり / necomori, LLC

Page 2: CodeIgniter4  PHPCon 2016

CodeIgniter Night2016-11-04 (金) 19:30 - 21:30

https://goo.gl/dA8NfY

Page 3: CodeIgniter4  PHPCon 2016

自己紹介名前 : 宮川 貴子

Twitter: @NEKOGETイラストレータ / PHPer

所属 :合同会社ねこもり

Page 4: CodeIgniter4  PHPCon 2016

CodeIgniter4

Page 5: CodeIgniter4  PHPCon 2016

CodeIgniter4

CodeIgniter4 Roadmaphttp://pneskin2.nekoget.com/codeigniter/4/user_guide/contributing/roadmap.html

Phase 1: Essentials Completed: June 2016 (done)

Phase 2: Core Components Target completion: December 2016 (in progress)

Phase 3: Expansion Target completion: April 2017 (not started)

Page 6: CodeIgniter4  PHPCon 2016

CodeIgniter4

CodeIgniter4 Roadmaphttp://pneskin2.nekoget.com/codeigniter/4/user_guide/contributing/roadmap.html

Phase 1: 本質的なとこ / 肝Completed: June 2016 Done 終わったぜ!

Phase 2: コア機能Target completion: December 2016 今やってんぜ !

Phase 3: 拡張機能Target completion: April 2017 まだこれからな

Page 7: CodeIgniter4  PHPCon 2016

Phase 1: Essentials (2016 年 1 月完了 )

http://pneskin2.nekoget.com/codeigniter/4/user_guide/contributing/roadmap.html

● Autoloader ● Logging● Exception Handling● HTTP Request/Response● Routing● Controllers● Models● Database

(MySQL & Postgres)

● Config● Security● Views● Sessions● Basic debugging

and profiling

Page 8: CodeIgniter4  PHPCon 2016

● The helpers● Language/Localization features● Caching● Email● Encryption● Form Validation● Image Library● Pagination● Uploader

Phase 2: Core Components ( 現在開発中 )

http://pneskin2.nekoget.com/codeigniter/4/user_guide/contributing/roadmap.html

2016 年 12 月Target completion

Page 9: CodeIgniter4  PHPCon 2016

Phase 3: Expansion ( 開発予定! )

http://pneskin2.nekoget.com/codeigniter/4/user_guide/contributing/roadmap.html

● FTP● XML-RPC● Zip● Typography● Template Parser

2017 年 4 月Target completion

Page 10: CodeIgniter4  PHPCon 2016

CodeIgniter4 のレポジトリ

レポジトリは1〜3とは別の場所https://github.com/bcit-ci/CodeIgniter4

Page 11: CodeIgniter4  PHPCon 2016

Tutorial に記載されているコード

public function view($page = 'home'){ if ( ! file_exists(APPPATH.'/Views/Pages/'.$page.'.php')) { // Whoops, we don't have a page for that! throw new \CodeIgniter\PageNotFoundException($page); } $data['title'] = ucfirst($page); // Capitalize the first letter

echo view('templates/header', $data); echo view('pages/'.$page, $data); echo view('templates/footer', $data);}

http://pneskin2.nekoget.com/codeigniter/4/user_guide/tutorial/static_pages.html

毎日書いてた $this->load->view(‘path’); がいない

Page 12: CodeIgniter4  PHPCon 2016

Tutorial に記載されているコード

<?php

use App¥Models\NewsModel;Class News extends \CodeIgniter\Controller{ public function index() { $model = new NewsModel(); $data['news'] = $model->getNews(); } public function view($slug = null) {

$model = new NewsModel(); $data['news'] = $model->getNews($slug); }}

http://pneskin2.nekoget.com/codeigniter/4/user_guide/tutorial/static_pages.html

CodeIgniter にも普通に namespace が使える時代が !

Page 13: CodeIgniter4  PHPCon 2016

Tutorial に記載されているコード

Routing$routes->post('news/create', 'News::create');$routes->get('news', 'News::index');$routes->add('(:any)', 'Pages::view/$1');$routes->add('news/(:segment)','News::view/$1');

http://pneskin2.nekoget.com/codeigniter/4/user_guide/tutorial/static_pages.htmlhttp://pneskin2.nekoget.com/codeigniter/4/user_guide/general/routing.html

add() ってどういうこと?って思ったら、ルーターに追加するってことのよう。

Page 14: CodeIgniter4  PHPCon 2016

Routing の解説ページにあるコード

Routing$routes->get('products', 'Product::feature');$routes->post('products', 'Product::feature');$routes->put('products/(:num)', 'Product::feature');$routes->delete('products/(:num)','Product::feature');

http://pneskin2.nekoget.com/codeigniter/4/user_guide/tutorial/static_pages.htmlhttp://pneskin2.nekoget.com/codeigniter/4/user_guide/general/routing.html

REST っぽい

Page 15: CodeIgniter4  PHPCon 2016

Routing の解説ページにあるコード

Routing$routes->setDefaultNamespace('App');// Controller is \App\Users$routes->add('users', 'Users::index');// Controller is \App\Admin\Users$routes->add('users', 'Admin\Users::index');

namespace を default 設定。Tutorial のコードをさらっと見て、前と変わらないやーってという印象。前と変わらないやーって印象だけど実質は違う。すごく今時の PHP 。http://pneskin2.nekoget.com/codeigniter/4/user_guide/tutorial/static_pages.html

http://pneskin2.nekoget.com/codeigniter/4/user_guide/general/routing.html

Page 16: CodeIgniter4  PHPCon 2016

CodeIgniter4

現場投入にはまだ早い ...

Phase 3: ExpansionTarget completion: April 2017 (not started)

★ 来年 4 月予定 ★

Page 17: CodeIgniter4  PHPCon 2016

CodeIgniter4

We will do our best to maintain what has made CodeIgniter as popular over the years as it has been. Namely the

speed, simplicity, and the "feel".http://forum.codeigniter.com/thread-62615.html

Page 18: CodeIgniter4  PHPCon 2016

CodeIgniter4

CodeIgniter が長年慕われてきた良さを維持するために全力を尽くすぜ。

早くて、シンプル。そしてこの感触だ。

http://forum.codeigniter.com/thread-62615.html

Page 19: CodeIgniter4  PHPCon 2016

ご静聴ありがとうございました!

@NEKOGET is an independent and has not been authorized, sponsored, or otherwise approved by BCIT.

Page 20: CodeIgniter4  PHPCon 2016

CodeIgniter Night2016-11-04 (金) 19:30 - 21:30

https://goo.gl/dA8NfY