P ort80 bkk-codeigniter

Preview:

DESCRIPTION

 

Citation preview

<?php echo ‘[pOrt80 BKK]’ ?>

Hash tag : #NTT8This is our NTT8.9

8 for 8th year & 9 is 9th month

“แนะน��ก�รพัฒน�ระบบ e-Commerce ด้ วยCodeIgniter”

สมเก�ยรติ� ปุ๋��ยส�งเน�น [Narisa.com: Up1]

“I am JAVA developer”

แนะน��อะไรบ �ง• CodeIgniter หร�อ CI• ร�ปุ๋แบบและแนวท�งในก�รพัฒน�• Continuous Integration Tools หร�อ CI

CodeIgniter ( โค้ ด้ – อ�%ก – ไนท& - เติอร&) ค้�ออะไร

• เร�ยกส'นๆ ว)� CI• MVC ( Model-View-Controller )

Framework พัฒน�ด้ วยภ�ษ� PHP• OpenSource• Free• Simple• Small• Fast• Flexible• Loose Coupling• Good Document• Good Communities

โค้รงสร �งก�รท��ง�น

โค้รงสร �งก�รท��ง�น

ใน Version 2.0 ถู�กติด้ออกไปุ๋

โค้รงสร �งก�รพัฒน�แบบท-วไปุ๋

ControllerController

ViewView

ModelModel DB

Request

Response

โค้รงสร �งก�รพัฒน�แบบปุ๋รบปุ๋ร�ง

ControllerController

ViewView

ModelModel

DB

Request

Response

Library

Libraries ติ)�งๆ ท�-น)�สนใจของ CodeIgniter

• OAuth• REST• Caching• Benchmark• Social

– Twitter– Facebook

• Testing– SimpleTest– phpUnit

CodeIgniter + Zend

โค้รงสร �งก�รพัฒน�แบบย0ด้หย�)น • น��แนวค้�ด้ plug-in, modular ม�ใช้

– Separation of Concern

ร�ปุ๋แบบก�รพัฒน�

ร�ปุ๋แบบก�รพัฒน�

ร�ปุ๋แบบก�รพัฒน�

CC

DBVV

LL MM

แยกก�รพัฒน�ออกเปุ๋2น 2 ส)วนหลก

WebWeb APIsAPIs

HTTP/TCP IP

DB

น��แนวค้�ด้ติ)�งๆ ข �งติ นม�พัฒน�ระบบ e-Commerce

โค้รงสร �งของระบบ e-Commerce

โค้รงสร �งของระบบ e-Commerce

แรงบนด้�ลใจ

ท��ให เก�ด้แนวค้�ด้ใหม)ๆ เพั�-อเปุ๋ล�-ยนแปุ๋ลงและปุ๋รบปุ๋ร�ง

ระบบ e-Commerce ในไทย

STORAGE

CORE SYSTEM

APIs Plug-InBACKEND

FRONTEND

Core System และ Backend

STORAGE

CORE SYSTEM

APIs Plug-InBACKEND

FRONTEND

• User Management• Security Management• Plug-in/Modular Management• Interface/ Theme Management• Product Management• Order Management• Shipping Management• Inventory Management• Search

Front-End

STORAGE

CORE SYSTEM

APIs Plug-InBACKEND

FRONTEND

APIs

STORAGE

CORE SYSTEM

APIs Plug-InBACKEND

FRONTEND

• User APIs• Product APIs• Order APIs• Shipping APIs• Invoice APIs• Inventory APIs• etc..

Plug-ins

STORAGE

CORE SYSTEM

APIs Plug-InBACKEND

FRONTEND

• Interface/ Theme/ Layout• Payment Channel• Shipping Channel• New Features of Product• Blog• Search System• Facebook Connect• Twitter Anywhere• etc ..

โด้ยท'งหมด้น�'พัฒน�อย�)บน CodeIgniter

เปุ๋3�หม�ยท�-แท จร�ง ค้�อ ก�รแจกจ)�ยออกไปุ๋เพั�-อสร �ง Communities

ข0'นม�

แติ) … ยงไม)จบค้รบ

ผมม�ของฝ�กน�ด้หน)อย

Continuous Integration Toolin PHP

Continuous Integration ค้�ออะไร

• เร�ยกส'นๆ ว)� CI• เปุ๋2นแนวค้�ด้ ไม)ใช้)เค้ร�-องม�อ• เปุ๋3�หม�ยเพั�-อ

– ปุ๋รบปุ๋ร�งกระบวนก�รพัฒน�ระบบง�น ท'งก�ร build และ deployment ให ด้�ย�-งข0'น

– เม�-อม�ก�รเปุ๋ล�-ยนแปุ๋ลงติ)�งๆ แล วไม)ส)งผลกระทบหร�อกระทบติ)อระบบให น อยท�-ส�ด้

แล ว Integration อะไรบ �ง • Sourcecode• Database• Resource ติ)�งๆ

แล วน��ม�ใช้ ง�นเม�-อไร • เม�-อม�ก�รเปุ๋ล�-ยนแปุ๋ลง แล วส)งผลให ระบบไม)

ท��ง�น หร�อท��ง�นผ�ด้พัล�ด้• เม�-อม�ผ� ร )วมพัฒน�จ��นวนม�ก ม�ส)วนปุ๋ระกอบ

ติ)�งๆ จ��นวนม�ก ซึ่0-งจะเก�ด้ค้ว�มซึ่บซึ่ อนม�ก

ข'นติอนก�รพัฒน�ปุ๋กติ� • พัฒน�ง�นในส)วนท�-ร บผ�ด้ช้อบ• ท��ก�ร checkout และ update

sourcecode ติ)�งๆ ผ)�น Control Version System เช้)น SubVersion, Git เปุ๋2นติ น

• ท��ก�รเข�ยน code• ท��ก�รทด้สอบง�นท�-เข�ยนเสร7จ• เม�-อทด้สอบผ)�น ท��ก�ร commit code • แติ)ไม)ม�ก�รท�� Integration Test

ข'นติอนก�รพัฒน�โด้ยน�� Continuous Integration ม�ใช้ • การพั�ฒนาแบบปกติ�• Continuous Integration Server เร�-ม

ท��ง�นด้งน�'– ท��ก�ร Checkout หร�อ Update

sourccode – ท��ก�รทด้สอบระบบ– ระบบท��ก�รบนท0กผลก�รท��ง�น เปุ๋2น

suceess หร�อ failure

ผลของก�รน�� Continuous Integration ม�ใช้

Before

After

แติกติ)�งจ�กว�ธี�ปุ๋กติ�อย)�งไร • เปุ๋2นก�รทด้สอบแบบ Integration Test ค้�อ

ทด้สอบรวมกบส)วนก�รท��ง�นอ�-นๆ• ท��ให เร�ติ องเข�ยน Test ส��หรบทด้สอบ

sourcecode ท�-พัฒน�ข0'นม�เสมอ• ท��ให ร� defect ติ)�งๆ อย)�งรวด้เร7ว ซึ่0-งแติกติ)�ง

จ�กก�รพัฒน�ในร�ปุ๋แบบเด้�มๆ

ปุ๋ระโยช้น&ท�-ได้ รบ • ลด้เวล�ส��หรบก�ร integrate หร�อ deploy

ระบบง�น• ลด้เวล�ก�รค้ นห�และแก ไข BUGs• ลด้ค้ว�มเส�-ยงของก�ร failure ของระบบ

ก�รทด้สอบและเค้ร�-องม�อในแติ)ละส)วน • Unit Test

– SimpleTest, phpUnit• End-to-End Test

– Selenium• Database Test• QA

– Software Matric•PHPmd, PHPDepend

– Code duplication•PHPcpd

– Coding standard•Php_CodeSniffer

เค้ร�-องม�อท�-ม�ให ใช้ ง�น • CruiseControl ( phpUnderControl )• Xinc• Hudson• Bamboo ( Commercial )

เล�อกติวไหนด้� • เล�อกติ�มค้ว�มติ องก�ร• ทด้สอบใช้ เค้ร�-องม�อติ)�งๆ• ปุ๋ระเม�นผล• น��ไปุ๋ใช้ ง�น

ก�รน��ม�ใช้ ง�นในโลกค้ว�มเปุ๋2นจร�งในไทย

• ย�ก แติ)ไม)ใช้)ว)�เปุ๋2นไปุ๋ไม)ได้ • ปุ๋รบเปุ๋ล�-ยนทศนค้ติ�ในก�รพัฒน�• ปุ๋รบเปุ๋ล�-ยนร�ปุ๋แบบก�รพัฒน�แบบค้)อยเปุ๋2นค้)อย

ไปุ๋

ผมเช้�-อว)�

ส�ม�รถูน��ม�ใช้ ได้ อย)�งแน)นอน

ค้��แนะน��ก)อนจบ • ท�กๆ ค้น ค้วรจะ Update Sourcecode จ�ก

Control Version System ท�กๆ เช้ � ก)อนเร�-มท��ง�น

• ท�กๆ ค้น ค้วรจะ Commit Sourcecode จ�ก Control Version System ท�กๆ เย7น ก)อนกลบบ �น

วนน�'ค้�ณUpdate และ Commit

Sourcecode แล วหร�อยง !!

ขอบค้�ณม�กค้รบ

Links

• http://www.codeigniter.com

• http://www.codeigniter.in.th

• http://www.magentocommerce.com

• http://www.prestashop.com

• http://www.pyrocms.com

Q&Aช้)วงเวล�ของค้��ถู�ม ค้รบ

<?php echo ‘[pOrt80 BKK]’ ?>