ข้ามไปยังเนื้อหาหลัก
ProgrammerThailand

Category

Yii Framework 2 (Yii2)

117 บทเรียน

เปิดการใช้งานการเข้าถึงของแอปที่มีความปลอดภัยน้อยสำหรับ Google GMail

แอปและอุปกรณ์บางอย่างใช้เทคโนโลยีการลงชื่อเข้าใช้ที่มีความปลอดภัยน้อย ซึ่งทำให้บัญชีของคุณมีช่องโหว่ คุณปิดการเข้าถึงของแอปเหล่านี้ได้ (ซึ่ง…

การเข้ารหัสข้อมูลที่สำคัญในฐานข้อมูลด้วย Yii2

หลายๆ ครั้งที่ข้อมูลที่มีความสำคัญ เช่น ชื่อ นามสกุล หมายเลขบัตรประชาชน หรือแม้แต่หมายเลขบัตรเครดิต หากทำให้เกิดความปลอดภัยมากขึ้นเราควรเข้า…

กำหนดให้ Module เปลี่ยน Theme แตกต่างจาก Theme หลัก ใน Yii Framework 2

หลายๆ ครั้งที่เราเขียน Web Application ด้วย Yii Framework 2 นั้น เราต้องการเปลี่ยน Theme ในแต่ละ Module นั้นก็สามารถทำได้ เช่น เรามี Theme ห…

ติดตั้ง Yii Framework ที่ Server ต้องตั้งค่าอะไรบ้าง

เอาล่ะครับก็มีคำถามมานะครับว่าเราจะเอาระบบที่เขียน(เสร็จแล้ว) ไปติดตั้งที่ Server ต้องทำอย่างไร ในที่นี้ผมจะแนะนำการติดตั้งที่ Server ที่ใช้…

การใช้งาน Pagination สำหรับ Bootstrap 4 ใน GridView และ ListView ของ Yii Framework 2

หลังจากที่ Package yii\bootsrap4 ออกมานั้นหลายคนที่ใช้ GridView และ ListView แบบเดิมอยู่จะทำให้ Pagination นั้นเพี้ยนๆ ไป ดังนั้นขั้นตอนนี้จ…

การยกเลิก CSRF ใน Controller

บางครั้งการส่งข้อมูลแบบ AJAX จากฟอร์มส่งไปประมวลผลใน Controller แบบ POST (อาจจะไม่ปลอดภัยเท่าไร) เกิดปัญหา Forbidden ทำให้ไม่สามารถส่งข้อมูล…

ส่ง LINE Notify รับการแจ้งเตือนแบบตัวต่อตัว

เราสามารถสร้างการแจ้งเตือนจากเว็บไซต์เราเข้า LINE ของลูกค้าได้ผ่าน LINE Notify แบบ 1-1-Chat หลักการทำงาน ขั้นแรก ลูกค้าร้องข้อเชื่อมต่อกับ S…

การติดตั้งและการตั้งค่า CKEditor และ FileBrowser ใน Yii Framework 2

ในบทเรียนรู้นี้ เรามาทำการติดตั้ง package CKEditor สำหรับเป็นตัวจัดการข้อความต่างๆ เช่นการกำหนดค่าตัวหนา ตัวเอง ตัวขีดเส้นใต้ เป็นต้น และนอก…

แก้ปัญหา Apache Error MaxRequestWorkers

ใน Apache หากมีการ request worker มากๆ อาจทำให้ระบบไม่สามารถทำงานได้ โดยเมื่อเปิด error log จะปรากฏข้อความลักษณะนี้ [mpm_prefork:error] [pid…

Role Base Access Control (RBAC) แบบ PhpManager

สำหรับบทเรียนรู้นี้เรามาสร้าง RBAC หรือ Role Base Access Control ที่มีการบันทึกลงไฟล์ PHP แทนการเก็บไว้ใน Database RBAC มาแก้ปัญหา 1 คน 1 สิ…

แก้ปัญหาการแสดงผลภาษาไทยเพี้ยนใน HighChart

หลายๆ ครั้งในการแสดงผลด้วยกราฟจาก HighChart แล้วเกิดปัญหาการแสดงวรรณยุกต์และสระผิดเพี้ยนไป ทำให้กราฟดูไม่ถูกต้องสวยงาม ในส่วนที่เป็น Label ท…

สร้าง theme bulma ใน Yii Framework 2

Bulma เป็น CSS Framework อีกตัวหนึ่งที่มีความนิยมไม่แพ้ Bootstrap ซึ่งเราสามารถนำมาใส่ใน Yii Framework 2 เราได้เหมือนกัน ติดตั้ง Bulma ก่อนอ…

จับ Session ใส่ Database ให้เข้าระบบ Session เดียว ใน Yii Framework 2

ในบทเรียนรู้นี้เป็นการแก้ปัญหาโดยให้สมาชิก Login เพียงแค่เครื่องเดียว ที่ Login ใช้งานล่าสุด ตัวที่ Login ค้างไว้ให้ Logout แบบ Auto ซึ่งนั่…

Upload file เข้าสู่ Amazon Web Service (AWS) S3 Storage ด้วย Yii Framework 2

สำหรับ Amazon Web Service นั้นมีบริการ S3 Storage ที่ออกข่าวว่ามีค่ายโทรศัพท์ค่ายหนึ่งทำการ public จนมีการคัดลอกสำเนาบัตรประชาชนออกไปได้นั่น…

สร้างลิ้งค์เพื่อเปลี่ยนภาษาสำหรับเว็บไซต์หลายภาษา

ในบทเรียนรู้นี้เราจะมาสร้างลิ้งค์สำหรับเปลี่ยนภาษาในระบบ โดยทำงานร่วมกับ Package localeurls ซึ่งก่อนอื่นก็ติดตั้ง Package นี้เสียก่อนโดยพิมพ…

การจัดการสิทธิ์ใช้งานด้วย Rule สำหรับการเข้าถึง action ใน Access Control Filter

สำหรับ Yii Framework 2 นั้น โดยทั่วไปเราสามารถใช้ AccessControl ในการจัดการสิทธิ์การเข้าถึงได้เพียงแค่ตรวจสอบว่า login หรือ guest (ยังไม่ lo…

บีบอัดข้อมูลเว็บไซต์ให้เล็กลงด้วย Apache Mode Deflate

สำหรับบทเรียนรู้นี้เป็นการใช้งาน Apache Modules ในการบีบอัดเว็บไซต์ ให้เล็กลงก่อนส่งให้ Client (อาจไม่เกี่ยวกับ Yii2 นะครับ แต่ก็ใช้กับ Yii2…

บีบอัด JavaScript และ Cascade Style Sheet ใน Yii Framework 2

สำหรับบทเรียนรู้นี้เรามาทำการรวมไฟล์ JavaScript และ ไฟล์ CSS เพื่อบีบอัดให้มีขนาดเล็กลง ซึ่งแน่นอนจะทำให้การโหลดเว็บไซต์ได้ไวมากยิ่งขึ้น โดย…

แทรกตารางในเอกสาร MS Word จาก MS Word Template

หลังจากที่เรียนรู้การแทรกรูปภาพแล้วในบทเรียนรู้นี้มาแทรกตารางเข้าไปในเอกสาร MS Word จาก MS Word Template กันครับ เริ่มจากการตั้งค่าไฟล์ MS W…

กำหนดให้ Login ใช้งาน Session เดียวใน Yii Framework 2

ปัญหานี้เกิดขึ้นเมื่อสมาชิก (user) เดียว แต่สามารถ login เข้าระบบได้จากหลายๆ เครื่อง หลายๆ browser ทำให้ไม่สามารถควบคุมการใช้งานได้ เช่น use…

สร้าง Link สำหรับออกจากระบบโดยไม่ใช้ Form ใน Yii Framework 2

โดยปกติเวลาที่เราออกจากระบบใน Yii Framework 2 นั้นจะต้องส่งข้อมูลไปแบบ POST โดยอาศัยฟอร์มในการส่งข้อมูล เช่นใน Nav $menuItems[] = '<li>' . H…

สร้างไฟล์ MS Word จาก Word Template สำหรับงานเอกสารราชการ

เอาล่ะครับ หลังจากที่ประสบปัญหากับการใช้งาน HTML to PDF ด้วย mPDF เนื่องจากไฟล์ PDF ไม่สามารถจัดรูปแบบได้อย่างคล่องตัวมากนัก เช่นคำตก จัดรูป…

กำหนดให้ออกจากระบบอัตโนมัติหากไม่ได้ใช้งานตามเวลาที่กำหนด

สำหรับยทเรียนรู้นี้มาทำให้ Web application เราให้สามารถออกจากระบบอัตโนมัติ โดยในที่นี้จะกำหนดให้ออกจากระบบหลังจากไม่ได้ใช้งานเป็นเวลา 5 นาที…

Simple URL Slug ด้วย Yii Framework 2

หลายๆ เว็บไซต์ จะเห็น URL ที่มีข้อความ เช่น www.example.com/post/view/1/ทดสอบ เป็นต้น ซึ่งเราจะเห็นว่ามีคำว่า ทดสอบ อยู่ใน URL ด้วย ส่วนใหญ่…

กำหนดให้ Autocomplete แสดงใน Modal

ปัญหาของ Autocomple ที่แสดงใน Modal คือ เมื่อมีการพิมพ์รายการ รายการต่างๆ ที่มีให้เลือกมันจะแสดงผลอยู่ข้างหลัง Modal ดังนั้นเราจะต้องนำมันออ…

สร้าง .htaccess เพื่อกำหนดให้ใช้งาน SSL (https://) อัตโนมัติ สำหรับ Yii Framework 2

สำหรับการใช้งาน domain ที่เป็น SSL ใน Yii framework 2 นั้นเราสามารถกำหนดใน server ที่เป็น apache ด้วยการเขียน .htaccess แล้ววางใน root ของ p…

แสดงข้อมูลจาก Google Analytic Real-time และ AnalyticsReporting ด้วย Yii Framework 2

สำหรับบทเรียนรู้นี้เรามาทดลองการแสดงข้อมูลจาก Google Analytics มาแสดงใน Web Application ของเราผ่าน API ของ Google ซึ่งมีขั้นตอนต่อไปนี้ ติดต…

กำหนด Pagination Param สำหรับ Multiple GridView ใน Yii Framework 2

ปัญหาอย่างหนึ่งของการสร้าง GridView หลายๆ ตัวในหน้าเดียวกันคือเมื่อมีการเลือก หน้า (Pagination) ทุกๆ GridView จะเปลี่ยนหน้าเหมือนกันหมด ในบท…

แปลง Timestamp ไปเป็น Timeago ด้วย Yii Framework 2 รองรับภาษาไทย

Timeago เป็นเรื่องหนึ่งที่ค่อนข้างสำคัญเช่นกัน เป็นการกำหนดรายละเอียดการแสดงผลวันที่ เช่น 1 วันที่ผ่านมา 2 เดือนที่แล้ว หรือ ปีที่แล้ว เป็นต…

การนับจำนวนคนเปิดอ่านด้วย Yii Framework 2 กับ method updateCounters()

การนับจำนวนคนอ่าน คนเข้าเว็บไซต์ หรืออื่นๆ สามารถทำได้โดยง่ายใน Yii Framework 2 สมัยก่อนหากต้องการนับนั้นจะทำยุ่งยากมากกว่าเช่น ทำผ่าน creat…

ทำระบบ Tag สำหรับ Post ด้วย Taggable Behavior และ Selectize Widget

สวัสดีครับ วันนี้มาแนะนำการใช้งาน Tag ในแต่ละ Post นะครับ ซึ่งเราจะเห็นคุ้นตากันในแต่ละ web เช่น เว็บที่สร้างจาก Wordpress ก็จะมีระบบ Tag มา…

การใช้งาน DepDrop (Dependent Dropdownlist) สำหรับเลือก ภาค จังหวัด อำเภอ และตำบล

ในบทเรียนรู้นี้มาทำความรู้จักและใช้งาน Dropdownlist แบบ Dependent โดย dependent dropdownlist เป็น dropdownlist ที่มีความเชื่อมโยงกัน ตัวอย่า…

การใช้งาน SelectionColumn ใน GridView สำหรับ Yii Framework 2

SelectionColumn เป็นเครื่องมือที่มีความสะดวกในการเลือกข้อมูลเพื่อทำบางอย่าง เช่น การเลือกเพื่อลบข้อมูล หรือ เลือกเพื่อส่งข้อมูลไปบันทึกในลัก…

การ Upload และ อ่านไฟล์ Excel ด้วย PHPExcel ใน Yii Framework 2

ตัวอย่างไฟล์ Excel ที่เราจะทำการเขียนโปรแกรมเพื่ออ่าน การ upload และอ่านไฟล์ MS Excel เพื่อนำไปใช้ในระบบ เช่นบันทึกลงฐานข้อมูล หรือนำไปแสดงผ…

สร้าง LINE Notify สำหรับ Post ลงกลุ่มใน LINE Group

บทเรียนรู้นี้เป็นการทดสอบการเขียนโปรแกรมใน Yii2 เพื่อส่งข้อมูลเข้า LINE Group โดยใช้ Notify Bot โดยเป็นการดึงข้อมูลจากฐานข้อมูลแล้วส่งข้อมูล…

การใช้งาน jQuery UI Autocomplete ใน Yii Framework 2

ในบทเรียนรู้นี้เราจะมาเรียนรู้การใช้งาน Autocomplete ซึ่งเป็นการค้นหาข้อมูลใน TextInput ด้วยการพิมพ์ตัวอัษรแล้วระบบจะกรองข้อมูลมาให้ เช่น พิ…

การ Sort GridView แบบลากวางด้วย Sortable Gridview ใน Yii Framework 2

สวัสดีครับ ในบทเรียนรู้นี้เรามาเรียนรู้การทำให้ GridView สามารถ Sort หรือเรียงลำดับได้โดยการลากวางแล้วบันทึกค่าการเรียงลำดับลงในฐานข้อมูล โด…

การสร้าง LINE Bot แบบใช้ cURL ใน Yii Framework 2

สวัสดีครับก็เป็นกระแสมาสักระยะแล้วสำหรับ LINE Bot ซึ่งตอนนี้เปิดให้ใช้งานแบบ Trial โดยยังเป็น Beta Version อยู่ ดังนั้นในบทเรียนรู้นี้มาลองท…

การติดตั้งและใช้งาน Multiple Input สำหรับ Yii Framework 2

Multiple Input เป็นการเพิ่ม Input ในลักษณะ เรียกใช้งาน JavaScript เพื่อเพิ่มช่องสำหรับกรอกข้อมูล เหมาะสำหรับการบันทึกข้อมูลในลักษณะ Master D…

แปลงวันที่ ค.ศ. เป็น พ.ศ. อัตโนมัติ โดยการ Custom ActiveRecord Model ใน Yii Framework 2

ปัญหาของวันที่นั้นค่อนข้างสำคัญ ในประเทศไทย ส่วนใหญ่ใช้รูปแบบ พุทธศักราช เช่น 30/04/2559 แต่เมื่อบันทึกในฐานข้อมูลจะกลายเป็นคนละเรื่อง หากบั…

MaskedInput และ Validate หมายเลขประจำตัวประชาชนแบบ AJAX Validation ใน Yii Framework 2

การตรวจสอบหมายเลขประจำตัวประชาชนนั้นเราจะทำ 2 อย่างด้วยกันคือ รูปแบบของหมายเลขประจำตัวประชาชนคือ 1-1111-11111-11-1 ความถูกต้องของหมายเลขประจ…

การใส่เครื่องหมายดอกจัน (*) สีแดงหลัง Label ที่เป็นแบบ Required ใน Yii Framework 2

ใน Yii Framework 1 นั้น Label ที่เป็นแบบ Required จะมีดอกจันมาพร้อม แต่เมื่อเป็น Yii Framework 2 ซึ่งเป็น Bootstrap แล้วไม่มี ดังนั้นเรามาเพ…

Extension การติดตั้งและใช้งาน CKEditor สำหรับ Yii Framework 2

CKEditor เป็น Editor ที่มีความสวยงามที่รองรับหลากหลาย Feature และสามารถกำหนดการแสดงผลได้หลากหลายรูปแบบ ในบทเรียนรู้นี้เรามาเรียนรู้การติดตั้…

การทำ AJAX Validation ใน Yii Framework 2

AJAX Validation เป็นการตรวจสอบข้อมูลโดยการใช้เทคนิค AJAX ตามเหตุการณ์ต่างๆ เช่น เมื่อค่าเปลี่ยน (onChange) หรือเมื่อส่งข้อมูล (onSubmit) ให้…

การทำเว็บหลายภาษา Internationalization (I18N) ด้วย Yii Framework 2

หลักการทำงาน Internationalization (I18N) เป็นการออกแบบอย่างหนึ่งในกระบวนการของซอร์ฟแวร์นั่นคือการประยุกต์การใช้งานภาษาต่างในแต่ละภูมิภาค โดย…

ทำความเข้าใจ MVC ใน Yii Framework 2

MVC คืออะไร? โมเดล วิว และคอนโทลเลอร์ เป็นการออกแบบสถาปัตยกรรมซอร์ฟแวร์อย่างหนึ่ง โดยการแบ่งออกเป็น 3 ส่วน คือ ส่วนของข้อมูล (Model) ส่วนของ…

การใช้งาน GridView และการปรับแต่งเพิ่มเติมใน Yii Framework 2

coming soon GridView คือ การนำข้อมูลมาแสดงผลแบบตารางที่เราเข้าใจนั่นเอง โดยการเตรียมข้อมูลให้อยู่ในรูปของ DataProvider ซึ่งมี 2 แบบด้วยกันนั…

การลงทะเบียน (Register) ไฟล์และสคริป CSS JavaScript (Client Script) ใน Web Application ด้วย Yii Framework 2

ในการพัฒนา Web Application นั้น คงหนีไม่พ้นการนำ CSS และ JavaScript หรือเรียกว่าเป็น Client Script หรือสคริปที่ทำงานฝั่งไคลเอนต์ มาใช้งาน ซึ…

Extension การสร้างรายงานในรูปแบบไฟล์ PDF ด้วย mPDF

ทำไมต้อง PDF? แน่นอนครับ คงเป็นเรื่องที่ยุ่งยากแน่ๆ เมื่อเราจะสร้างไฟล์ pdf โดยใช้เทคโนโลยีด้าน Web Application นั่นก็หมายความว่าเราจะเอาคำส…

การใช้ PayPal RESTful กับ Yii Framework 2

Paypal คืออะไร เข้าใจง่ายๆ Paypal คือธนาคารออนไลน์นั่นเองครับ ซึ่ง Paypal ได้สร้าง API ไว้ให้เราได้เขียนโปรแกรมในการเชื่อมต่อ รับชำระเงิน ตั…

การใช้งาน TimestampBehavior ใน Model

TimestampBehavior คืออะไร? TimestampBehavior เป็นตัวช่วยในการบันทึกข้อมูล Timestamp ลงในฐานข้อมูลในกรณีที่มีการเพิ่มหรือแก้ไขข้อมูล ทำให้สะด…

การทำ Transaction ใน Yii Framework 2

ทำไมต้องทำ Transaction? เรื่องของ Transaction นั้นเป็นเรื่องที่มีมาค่อนข้างนานพอสมควร ข้อดีของการทำ Transaction คือ ในกรณีที่มีการทำงานกับคำ…

การทำ Facebook Login ใน Yii Framework 2

สำหรับหลายๆ เว็บไซต์ที่เราเคยเห็นหรือเคยใช้งานจะมีปุ่ม Login with Facebook สงสัยไหมครับว่ามันทำงานอย่างไร หรือมันมีขั้นตอนในการสร้างอย่างไร…

การแสดงข้อมูลในแต่ละจังหวัดบนแผนที่ประเทศไทยด้วย Google GeoChart

Geochart เป็นการให้บริการการแสดงแผนที่จาก Google ซึ่งเป็นบริการแบบฟรีโดยสามารถดูรายละเอียดเพิ่มเติมได้ที่ https://developers.google.com/char…

Extension การสร้างแผนที่แบบต่างๆ ด้วย Google Map ใน Yii Framework 2

Google Map API เป็นอีกหนึ่งบริการจาก Google ซึ่งเราสามารถเขียนโปรแกรมเพื่อเรียกใช้งาน API ในการแสดงแผนที่ได้ โดยสามารถกำหนดพิกัดหรือตำแหน่งข…

Extension การสร้างกราฟด้วย HighChart และ Drilldown Chart ใน Yii Framework 2

สำหรับ HightCharts นั้นเป็นระบบการทำกราฟที่เป็น JavaScript โดยจะทำงานที่ฝั่ง Client ดังนั้น เราจำเป็นจะต้องสร้างข้อมูลจากฐานข้อมูลให้อยู่ในร…

การใช้งาน Model Scenario ใน Yii Framework 2

เรียนรู้การทำงานและการใช้งาน Scenario ใน Model สำหรับ Yii Framework 2 ทำไมต้องใช้ Scenario ? คงเป็นคำถามเพื่อสร้างความเข้าใจ ซึ่งเพื่อให้เข้…

การแก้ไขเมื่อติดตั้ง Yii Framework 2 แล้วพบ token(hidden)

การแก้ไขปัญหาเมื่อไม่สามารถติดตั้งต่อได้ โดย Command Prompt โดยมีข้อความแสดง token(hidden) เนื่องจากระบบการติดตั้งผ่าน Composer จะอ้างอิง ac…

จัดการสิทธิ์การเข้าถึงด้วย Role Base Access Control (RBAC) แบบใช้ฐานข้อมูล

สำหรับ Role Base Access Control หรือ RBAC นั้นเป็นการจัดการสิทธิ์การเข้าถึง Action ต่างๆ คล้ายกันกับการใช้งาน Access Control Filter แต่มีควา…

การทำ CRUD ด้วย AJAX สำหรับ Yii2 GridView

สวัสดีครับในตอนนี้เป็นตอนสำหรับการทำ CRUD แบบ AJAX นั้นสามารถทำได้หลายวิธี ในขั้นตอนนี้เป็นแนวทางหนึ่งในการทำเท่านั้นเอง ไปดูว่ามีขั้นตอนอย่…

Extension การใช้งาน kartik Select2 แบบ AJAX (ข้อมูลเยอะ)

การใช้งาน kartik Select2 จากตัวอย่างนี้เป็นตัวอย่างการใช้งาน Select2 โดยการเลือกคำนำหน้าเป็นการสมมติทดสอบข้อมูลหากมีข้อมูลจำนวนมากๆ ถ้ามีการ…

การ Update Yii2 ด้วย Composer

สำหรับ Yii2เมื่อเวลาผ่านไปทาง Yii2 Official ได้มีการอัพเดทหรือปรับปรุงคุณสมบัติต่างๆ เพิ่มเติมในระบบ และส่วนเสริมต่างๆ เพื่อให้ระบบ Web Appl…

แม่แบบ(Application Template) ใน Yii2

สำหรับ Yii2จะมี Web Application Templateอยู่ 2 แบบ นั่นคือ Yii2 Basicใช้สำหรับสร้าง Web Application ทั่วไป และ Yii2 Advancedใช้สำหรับสร้าง W…

การเตรียมเครื่องมือก่อนการติดตั้ง Yii Framework 2 (Yii2) ติดตั้ง Composer

ก่อนการติดตั้ง Yii Framework 2 นั้นต้องทำการติดตั้งโปรแกรมที่เกี่ยวข้อง เนื่องจากเทคโนโลยีที่ใช้ใน Yii Framework 2 นั้นเป็นเทคโนโลยีใหม่ ซึ่…

การเตรียมเครื่องมือก่อนการติดตั้ง Yii Framework 2 (Yii2) การติดตั้ง WampServer

สำหรับการเรียนรู้ Yii2 ในหนังสือเล่มนี้จะใช้ WAMP Server ในการทดสอบ โดยสามารถดูรายละเอียดได้ที่ www.wampserver.com ซึ่งมีวิธีการดาวน์โหลดและ…

Yii Framework คืออะไร

Yii Framework คือ PHP Framework และ PHP Frameork คือ โปรแกรมที่ถูกเขียนขึ้นโดยใช้ภาษา PHP ที่เขียนขึ้นบนการออกแบบซอร์ฟแวร์ในลักษณะ Model, Vi…