พอดีกำลังเริ่มอยากจะพัฒนา Web App ขนาดใหญ่ ด้วย PHP

ผมเข้าใจว่ามันต้องประกอบไปด้วย 2 ส่วนหลักๆ ใช่ไหมครับ แล้วเอามาพัฒนาเข้าด้วยกัน คือ

  1. HTML, CSS, Javascript Framework
  2. PHP Frame work

ข้อ 1 นั้นก็มีหลายตัวให้เลือก เช่น Twitter Bootstrap, JQUERY UI
ข้อ 2 นั้น ก็เช่น Yii, CodeIgniter, Zedn Framework

ไม่ทราบว่าเข้าใจถูกต้องหรือเปล่าครับ

ตอนนี้ผมได้เลือก Twitter Bootstrap กับ Yii มาเป็นเครื่องมือ และได้เริ่มลองศึกษาบางส่วนแล้ว

ปัญหาที่พบคือ เครื่องมือทั้งสองตัว ต่างก็มีโครงสร้างเป็นของตัวเอง ยังสับสนเวลาจะเอามาเขียนรวมกัน อย่าง Yii เนี่ย เขาจะแยกโค้ดเลยว่าเป็น Model, View, Controller แล้วผมก็ต้องเอาโค้ดของ Bootstrap มาจับยัดให้อยู่ในโครงสร้างของ Yii ใช่ไหมครับ

ไม่แน่ใจว่ามี web หรือหนังสือเล่มไหนที่สอนการเอาทั้งสองตัวนี้มาใช้ร่วมกันบ้างหรือเปล่า เผื่อชีวิตจะได้ง่ายขึ้นกว่านี้ เพราะเท่าที่ลอง Yii ดูตอนนี้ก็สาหัสเหมือนกันครับ T_T รู้สึกว่าต้องศึกษาอะไรอีกเยอะมากๆๆ

Hiring! บริษัทที่น่าสนใจ

Carmen Software company cover
Carmen Software
Hotel Financial Solutions
Next Innovation (Thailand) Co., Ltd. company cover
Next Innovation (Thailand) Co., Ltd.
We are web design with consulting & engineering services driven the future stronger and flexibility.
KKP Dime company cover
KKP Dime
KKP Dime บริษัทในเครือเกียรตินาคินภัทร
Kiatnakin Phatra Financial Group company cover
Kiatnakin Phatra Financial Group
Financial Service
Fastwork Technologies company cover
Fastwork Technologies
Fastwork.co เว็บไซต์ที่รวบรวม ฟรีแลนซ์ มืออาชีพจากหลากหลายสายงานไว้ในที่เดียวกัน
Thoughtworks Thailand company cover
Thoughtworks Thailand
Thoughtworks เป็นบริษัทที่ปรึกษาด้านเทคโนโยลีระดับโลกที่คว้า Great Place to Work 3 ปีซ้อน
Iron Software company cover
Iron Software
Iron Software is an American company providing a suite of .NET libraries by engineer for engineers.
CLEVERSE company cover
CLEVERSE
Cleverse is a Venture Builder. Our team builds several tech companies.
Nipa Cloud company cover
Nipa Cloud
#1 OpenStack cloud provider in Thailand with our own data center and software platform.
Bangmod Enterprise company cover
Bangmod Enterprise
The leader in Cloud Server and Hosting in Thailand.
CIMB THAI Bank company cover
CIMB THAI Bank
MOVING FORWARD WITH YOU - CIMB is the leading ASEAN Bank
Bangkok Bank company cover
Bangkok Bank
Bangkok Bank is one of Southeast Asia's largest regional banks, a market leader in business banking
MuvMi (Urban Mobility Tech Co.,Ltd.) company cover
MuvMi (Urban Mobility Tech Co.,Ltd.)
Shape the future of urban mobility towards affordable, clean, and safe solutions
T.N. Digital Solution Co., Ltd. company cover
T.N. Digital Solution Co., Ltd.
TNDS has been involving in every first move of banking’s major digital transformation.
KBTG - KASIKORN Business-Technology Group company cover
KBTG - KASIKORN Business-Technology Group
KBTG - "The Technology Company for Digital Business Innovation"
Siam Commercial Bank Public Company Limited company cover
Siam Commercial Bank Public Company Limited
"Let's start a brighter career future together"
Icon Framework co.,Ltd. company cover
Icon Framework co.,Ltd.
Global Standard Platform for Real Estate แพลตฟอร์มสำหรับธุรกิจอสังหาริมทรัพย์ครบวงจร มาตรฐานระดับโลก
REFINITIV company cover
REFINITIV
The Financial and Risk business of Thomson Reuters is now Refinitiv
H LAB company cover
H LAB
Re-engineering healthcare systems through intelligent platforms and system design.
The Gang Technology Co., Ltd. company cover
The Gang Technology Co., Ltd.
We're a Digital Agency that helps our customers transform their business into digital with ease.
LTMH company cover
LTMH
LTMH มุ่งเน้นการพัฒนาผลิตภัณฑ์ที่สามารถช่วยพันธมิตรของเราให้บรรลุเป้าหมาย
Seven Peaks company cover
Seven Peaks
We Drive Digital Transformation
Wisesight (Thailand) Co., Ltd. company cover
Wisesight (Thailand) Co., Ltd.
The Best Choice For Handling Social Media · High Expertise in Social Data · Most Advanced and Secure
MOLOG Tech company cover
MOLOG Tech
We are Modern Logistic Platform, Specialize in WMS, OMS and TMS.
Data Wow Co.,Ltd company cover
Data Wow Co.,Ltd
We enable our clients to realize increased productivity by solving their most complex issues by Data
LINE Company Thailand company cover
LINE Company Thailand
LINE, the world's hottest mobile messaging platform, offers free text and voice messaging + Call
LINE MAN Wongnai company cover
LINE MAN Wongnai
Join our journey to becoming No.1 food platform in Thailand

ผม search ด้วยคำว่า "yii bootstrap" เจอสองอันนี้ในลำดับแรกเลยครับ (เวิร์กหรือเปล่า ไม่รู้นะครับ แต่น่าสนใจดี)

http://www.yiiframework.com/extension/bootstrap/

http://www.cniska.net/yii-bootstrap/

เริ่มศึกษาจาก Codeigniter ครับ ตัวนี้ง่ายสุด คุณเล่นข้ามไป Yii ก็ไม่ผิดอะไร แต่ถ้าคุณไม่ไหว Codeigniter หรือ CI คืออะไรที่คุณควรเริ่มต้นกับมัน ส่วน Yii มันเหมาะกับคนที่เคยจับ Framework มาสักตัวแล้วคุณต้องการเครื่องทุ่นแรง เพราะจุดเด่นของ Yii คือการ generate ครับ

ส่วนข้อ 1 ก็แนะนำจับ Twitter Bootstrap คู่กับ JQuery ครับ

หลักการ MVC คือ โค้ด html ให้นำไปวางไว้ในส่วน View โค้ดการทำงานปกติรับ Request ให้เขียนบน Controller แล้วถ้าจะติดต่อฐานข้อมูลค่อยเขียนบน Model แล้วเรียกยน Controller พูดง่ายๆ คือ Controller ใช้เรียก Model เพื่อเอาข้อมูลจากฐานข้อมูล และเรียก View เพื่อเอา html มาแสดงผลครับ

อันนี้สรุปได้สั้นสุดๆ แล้วครับ

ตอนแรกก็ว่าจะศึกษา Codeigniter ครับ แต่ว่าไปดูผลการทดสอบ Performance แล้วพบว่า Yii เหนือกว่าในทุกๆ ด้าน เลยอยากจะศึกษาตัวที่คิดว่าดีที่สุดไปเลย

http://www.yiiframework.com/performance/

ไม่แน่ใจว่าถ้ากลับไป Codeigniter ตอนนี้ แล้วค่อยหวนกลับมา Yii ใหม่จะดีกว่าหรือเปล่า จะเสียเวลามากหรือเปล่า หรือว่าดั้นด้นไปกับ Yii ให้ได้เลย เพราะจริงๆ ก็มีพื้นฐาน PHP มาอยู่แล้ว

ส่วน Twitter Bootstrap ผมเข้าใจว่าโค้ดเขารวม JQuery มาให้อยู่แล้วน่ะครับ

จะ Yii เลย หรือ Laravel เลย อันนี้ก็ตามสะดวกครับ แต่ผมพูดถึงตัวง่ายๆ ก่อนเพราะมันเข้าใจง่าย

ถามทุกวันนี้ผมใช้ Laravel แต่ผมก็เคยเขียน CI มาก่อน และผมว่ามันไม่น่าเสียเวลา เพราะโลกมันไม่หมุนตามเรา เกิดเราไปทำงานร่วมกับใคร ที่นั่นเกิดใช้ CI ไม่เอา Laravel เพราะเพิ่งหลุด Beta 4 มาไม่ถึงปี เลยไม่ค่อยเชื่อถือ แล้วคุณจะทำยังไง แต่เรื่องนี้จะไม่เป็นปัญหาถ้าคุณนั่งเขียนคนเดียว

ไม่มีอะไรที่ทำไปแล้วเสียเวลาครับ มีแต่ลังเลจนไม่ทำอะไรเลย นั้นแหละที่มันเสียเวลา

ปล. Twiiter Bootstrap สามารถใช้ได้โดยไม่ต้องใช้ JQuery ครับ เขาไม่รวมมาให้ แต่ JQuery เป็น Dependency ครับ

jirayu Sat, 22/06/2013 - 19:51

สำหรับ PHP Framework ตอนนี้ที่นิยมจะเป็นร Laravel ครับ เห็นว่าทำออกมาดีมากจนคนทำ CI ยังซูฮกเลย

ส่วน Yii ผมยังไม่เคยใช้ แต่เห็นคนใช้ CI หลายๆ คนบอกว่า Yii เทอะทะเกินไป และโค๊ดขยะมากเกินไปหน่อย

แต่ส่วนตัวผมใช้ CI

ส่วนเรื่องใช้ Yii ร่วมกับ Bootstrap นี่ผมไม่เคยใช้ แต่เคยใช้ร่วมกับ CI ครับ ตัว CI มันจะมีโมดูล asset manager มาให้ ให้เราก็อปไฟล์ css, images, js ไปใส่ไว้ในโฟลเดอร์ assets ที่ root ของ CI ได้เลย จากนั้นก็เรียกเอาผ่าน asset_css("filename"), asset_js("filename") ประมาณนี้

แนะนำ Laravel นะครับ เพราะมีควาสสะดวกกว่ามาก แล้วที package จากพี่น้องๆชาว php ด้วยกันให้ใช้เยอะเลย

อูยชักสับสนในชีวิตละครับ

ถ้าผมลองทดสอบ Yii ได้สักพัก ถ้าดูแล้วไม่ไหว อยากจะหาตัวที่ง่ายกว่านี้ ควรจะไปศึกษา Laravel แทนใช่ไหมครับ และให้ข้าม CI ไปเลย เข้าใจถูกไหมครับ

Laravel ยากกว่า Yii ครับ ระบบ Class เป็น Facade เกือบทั้งหมด (ยกเว้นส่วน ORM ที่ลอยตัว)

ถ้ามั่นใจก็ลุยไปเลยครับ อย่ากลัวยาก (แต่มันก็ยากนะ ผมเตือนแล้วสำหรับมือใหม่)

เท่าที่ลองค้นหาใน net มา สงสัยต้องเริ่มใหม่ที่ Laravel แล้วล่ะครับ Yii ทิ้งไว้ก่อน
Codeigniter แม้จะง่าย แต่ก็ค่อนข้างเก่าแล้ว ไม่รองรับอะไรใหม่ๆ

Zend ระบบใหญ่และหนักครับ แต่ Library เขียนดีมาก (ย้ำอีกรอบว่าดีมาก) ที่ผมเคยเห็นคือเอา Zend lib บางตัวมาใช้บน CI แทน ตัวอย่างในเน็ตมี ขนาดตอนผมเขียน Laravel3 ยังมี Zend lib โผล่มาบน Bundle เลย

ของเขาดีจริงๆ ตามมาหลอนได้เรื่อยๆ LOL

เลิกใช้ framework ใหญ่ๆ มาสักพักล่ะ ใช้แค่ flightphp + redbean + mustache แล้วเขียนโครงง่ายๆ ครอบไว้อีกชั้น

ก็ต้องดูด้วยว่าเว็บที่จะพัฒนาทำงานเกี่ยวกับทางด้านไหน ผมไม่ใช่สาย PHP แต่เป็น Django ไม่คุ้นกับ framework ฝั่งนั้นเท่าไร พอสรุปได้คร่าว ๆ ว่า

>> ผมเข้าใจว่ามันต้องประกอบไปด้วย 2 ส่วนหลักๆ ใช่ไหมครับ แล้วเอามาพัฒนาเข้าด้วยกัน

งานพัฒนาเว็บถ้าจะแยกเครื่องมือมันก็มีสองฝั่งแหละครับ ฝั่ง server ที่เป็นส่วนจัดการกับข้อมูลหรือประมวลผลข้อมูล กับฝั่ง client ที่แสดงผลที่ผู้ใช้เห็นเป็นหน้าเว็บ code PHP จะถูกประมวลผลที่ฝั่ง server เกิดการอ่านข้อมูลจากฐานข้อมูลหรือคำนวณต่าง ๆ แล้วก็ส่งผลลัพท์มาให้ browser เพื่อมา render เป็นหน้าเว็บให้ใช้งาน

โดย

>> ต้องจับ bootstrap ไปยัดลงใน Yii มั้ย ?

ผมไม่เคยใช้ Yii แต่พอทราบว่ามันเป็น framework, ตัว bootstrap มันก็คือชุดของ CSS, javascript และก็พวก icon อีกนิดหน่อยที่พอเราเขียน code HTML บางส่วน และมันก็ render ออกมาอย่างสวยงาม ที่คุณต้องทำคือใช้ Yii ให้มันสร้างแฟ้ม HTML ที่ใช้ CSS ของ bootstrap

ถ้ายังไม่มีความรู้ PHP เลย อาจลองมาฝั่ง Django ก็ดีนะครับ ตัว Django นั้นเป็น framework (คล้าย Yii) แต่ว่าเขียนด้วย python โค้ดน่าอ่านกว่า PHP เยอะครับ แต่ยังไม่ค่อยแพร่หลายในไทยสักเท่าไร

ส่วนตัวที่ผมใช้พัฒนาเว็บคือ Django, HTML, CSS, jQuery, SQL ประมาณนั้นครับ

Django ทำเว็บเสร็จเร็วกว่า php framework หรือเปล่าครับ ? เล่าให้ฟังหน่อย
เช่น อยากทำระบบฐานข้อมูลเงินเดือนลูกจ้าง พร้อมออกรายงานสลิปเงินเดือน จะมีอะไรทุ่นแรงให้บ้าง

Frogconn Sun, 23/06/2013 - 23:33

Yii + Bootstrap คอนฟิกไม่ยากครับ
http://www.yii.in.th/forum/index.php?topic=663.5

Yii ส่วนตัวแล้วข้อเด่นจริง ๆ ผมว่าอยู่ที่ Extension และ Gii ครับ สร้าง Productivity ดีนักแล

ถ้าเอาเร็วผมว่า yii พัฒนาได้เร็วมากครับ เพราะมีตัว gen ของที่ต้องการมาไว้แล้ว เพียงแต่ code ที่ gen มาไม่ clean ครับ บางทีต้องมานั่งไล่แก้เองบางครั้ง (ถ้าทนได้ก็ไม่ต้องแก้ครับ เพราะจริง ๆ ไม่เกี่ยวกับการทำงาน)
lavalval เพิ่งเกิดครับ และกำลังเป็นที่นิยม แต่ถ้าจะเอาไปใช้ใน share host นี่ต้องออกแรงกันนิดครึับ มันไม่สามารถก็อปวางแล้วใช้ได้เลยได้ ต้องเขียน code เพิ่มนิดหน่อย
เงื่อนไขแรกดูก่อนเลยครับ เครื่องที่เราใช้ php รุ่นไหน ขืน 5.2 นี่จะเหลือไม่กี่ตัวที่ใช้ได้

ระบบใหญ่จริงๆ ผมแนะนำให้ใช้ Cake แต่ Yii ก็พอใหว ดาต้าเยสก็แล้วแต่เน้นด้านไหน ถ้าเขียนเร็วๆก็ noSQL แต่อยากได้แบบดึงข้อมูลหลากหลาย ก็ SQL ปกติ

ถ้ายังไม่คล่อง Framework ก็ลองเล่น CI ก่อนก็ได้ครับ เหมาะเอาไว้ศึกษา เอกสารเยอะมาก แต่ผมไม่ค่อยแนะนำให้เอาไปใช้โปรเจค commercial หรือโปรเจคใหญ่ๆ ครับเพราะ CI เค้าเปลี่ยน License ที่ดูกำกวมน่าดูทำให้ชาวต่างประเทศค่อนข้างกังวล และ ยืดหยุ่นเกินไปจนทำให้บางครั้งความเป็น MVC หายไปได้เลย

สำหรับ Yii (BSD) เอกสารที่เป็นภาษาไทยเริ่มมีค่อนข้างเยอะแล้ว ยกตัวอย่างเช่น http://www.javathailand.com ครับเค้าโปรโมท Yii อยู่ สามารถทำงานบน php 5.2x จริงอยู่ที่ Yii มีตัว Gen ช่วยให้ทำงานเร็วได้ แต่ต่างประเทศก็ทำตัว Gen ออกมาเกือบทุก Framework แล้วแหละครับ หาใน google ดีๆ (เพราะผมก็ทำ ตัว Gen ของ Pyrocms(CI) ออกมาใช้เองเหมือนกัน (^_^) กำลังจะต่อยอดไป Laravel4 เพราะ Pyrocms กำลังจะเปลี่ยนไปใช้ Laravel4 ครับ
ปล.คนที่สร้าง Pyrocms คืมทีมที่สร้าง CI ขึ้นมาครับ ยังยกยอ laravel4 และก็ยอมเปลี่ยนโปรเจคตัวเองไปใช้ laravel4 เล่นเอาเกิดกระแสวิจารณ์กันยกใหญ่เลย พอผมลองสืบประวัติคนสร้าง CI กะ Laravel4 เค้าทำงานบริษัทเดียวกัน 5555 อยากไปทำงานที่บริษัทนั้นบ้างจัง แต่ laravel4 ก็ค่อนข้างจะinstall ยาก และ php ต้อง 5.3+ เท่านั้น แต่โฮสของประเทศไทยผมก็ไม่แน่ใจว่าอัพขึ้นเป็น 5.3+ กันมากยัง เอกสารตัวอย่างหรือ tutorials ค่อนข้างน้อยมากแต่ก็มีคนแปล Docs ภาษาไทยออกมาแล้วครับ และ ต้องศึกษาผ่าน code ใน githup