Yii Framework 2 (Yii2)

wave
ทั้งหมด 114 ผลลัพธ์
กำหนดให้ Module เปลี่ยน Theme แตกต่างจาก Theme หลัก ใน Yii Framework 2

หลายๆ ครั้งที่เราเขียน Web Application ด้วย Yii Framework 2 นั้น เราต้องการเปลี่ยน Theme ในแต่ละ Module นั้นก็สามารถทำได้ เช่น เรามี Theme หลักของเว็บอยู่แล้ว แต่ต้องการเปลี่ยน Theme ใน Module user เพื่อให้ user ที่ login เข้ามาเห็นหน้าจอที่แตกต่างจาก Theme หลัก เป็นต้น วิธีการตั้งค่า ให้เปิดไฟล์...

142
อ่าน File และ Folder ใน Bucket ของ Amazon S3 ด้วย Yii2

ในบทเรียนรู้นี้เรามาเขียนโปรแกรมเพื่ออ่าน File และ Folder ใน Bucket ของ Amazon S3 กัน โดยเราจะใช้ Package ที่มีชื่อว่า  "aws/aws-sdk-php": "^3.63" โดยเปิดไฟล์ composer.json จากนั้นเพิ่ม package ในส่วน require แล้วสั่ง cmd/terminal  composer update จากนั้นเข้าไป Generate...

457
สั่ง CronJob ให้ run yii console ใน cPanel

ในบทเรียนรู้นี้ เราสามารถสั่ง cronjob ให้ run yii console (controller/action) ได้ เช่นให้ส่งอีเมล์จาก Queue Message เพื่อส่งให้ user ครั้งละ 10 อีเมล์ เป็นต้น โดยในที่นี้จะใช้ cPanel ในการตั้งค่า และเรียกคำสั่งในการ run console โดยมีขั้นตอนดังนี้ ขั้นแรก Login เข้าระบบ จากนั้นเข้าเมนู ADVANCED จะ...

429
ติดตั้ง Lazy Loading ให้กับ Yii Framework

ในบทเรียนรู้นี้เรามาติด Lazy Loading ให้กับ Yii Framework 2 เพื่อให้การ Load Image, Iframe หรือ Video มีความลื่นไหลมากยิ่งขึ้น ดังที่ Google แนะนำตอนตรวจสอบ Page Speed โดยสามารถดูรายละเอียดเพิ่มเติมได้ที่นี่ https://web.dev/native-lazy-loading ขั้นแรกทำการ RegisterJS ก่อน โดยใช้คำสั่...

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

เอาล่ะครับก็มีคำถามมานะครับว่าเราจะเอาระบบที่เขียน(เสร็จแล้ว) ไปติดตั้งที่ Server ต้องทำอย่างไร ในที่นี้ผมจะแนะนำการติดตั้งที่ Server ที่ใช้ Apache ก่อนนะครับ (ซึ่งส่วนใหญ่น่าจะใช้ Shared Host)  และขอใช้ yii2-app-advanced เป็นตัวอย่างนะครับ Initialize Project เป็น Production ในขั้นตอนนี้ใ...

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

หลังจากที่ Package yii\bootsrap4 ออกมานั้นหลายคนที่ใช้ GridView และ ListView แบบเดิมอยู่จะทำให้ Pagination นั้นเพี้ยนๆ ไป ดังนั้นขั้นตอนนี้จะมาแก้ปัญหาเรื่อง ​Pagination ที่ใช้งาน Package yii\bootstrap4 ให้แสดงผลได้ถูกต้อง ไปดูตัวอย่างการตั้งค่า <?php use yii\bootstrap4\LinkPager; ?> &...

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

บางครั้งการส่งข้อมูลแบบ AJAX จากฟอร์มส่งไปประมวลผลใน Controller แบบ POST (อาจจะไม่ปลอดภัยเท่าไร) เกิดปัญหา Forbidden ทำให้ไม่สามารถส่งข้อมูลได้ เนื่องจากติดเรื่อง CSRF ป้องกันอยู่ แต่ก็สามารถทำการยกเลิก CSRF ได้ โดยกำหนดใน Action ของ Controller หรือ กำหนดใน method beforeAction() ได้เช่นกัน ตัวอ...

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

 เราสามารถสร้างการแจ้งเตือนจากเว็บไซต์เราเข้า LINE ของลูกค้าได้ผ่าน LINE Notify แบบ 1-1-Chat  หลักการทำงาน ขั้นแรก ลูกค้าร้องข้อเชื่อมต่อกับ Service ของเราผ่านเว็บไซต์เราเพื่อทำ Authorize โดยเข้าระบบแล้วอนุญาตการเชื่อมต่อกับ Service เรา ขั้นที่สอง หลังจากลูกค้าอนุญาตแล้วระ...

4,439
การสร้าง API แบบ JSON Web Token (JWT) สำหรับ Yii Framework 2

ในบทเรียนรู้นี้เรามาสร้าง JWT สำหรับให้บริการข้อมูลกับ  Client ในแบบต่างๆ เช่น Web Application, Mobile Application หรือการเชื่อมต่อไปยัง Application อื่นๆ ได้เช่นกัน เริ่มจากติดตั้ง Package PHP JWT ซึ่งมีมากมาย ในที่นี้จะใช้ Package ที่สร้างจาก Firebase โดยเปิดไฟล์ composer.json จากนั้นเพิ่ม...

1,135
การ Generate QR Code แบบรูปภาพ ใน Yii Framework 2

บทเรียนรู้นี้เราสามารถสร้าง QR Code แบบรูปภาพได้ โดยใช้ package ในการ Generate QR Code โดยติดตั้ง package php-qrcode ดังนี้ "chillerlan/php-qrcode": "^3.1" ทดลองเขียนโปรแกรมในการ Generate QR Code ตัวอย่างนี้จะเขียนใน SiteController.php โดยสร้าง action Qr ดังนี้ use chillerlan\QRCode\QRC...

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

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

883
แก้ปัญหา Apache Error MaxRequestWorkers

ใน Apache หากมีการ request worker มากๆ อาจทำให้ระบบไม่สามารถทำงานได้ โดยเมื่อเปิด error log จะปรากฏข้อความลักษณะนี้ [mpm_prefork:error] [pid 9489] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting   วิธีการแก้โดยการเปิดไฟล์ cofig/extra/ht...

835
ทำ Apache Virtual Host ใน XAMPP สำหรับ macOS

เปิดไฟล์ httpd.conf ใน XAMPP/xamppfiles/etc/httpd.conf จากนั้นเอาเครื่องหมาย # ออกในบรรทัด # Virtual hosts Include etc/extra/httpd-vhosts.conf แก้ไขส่วน User ค้นหา User daemon Group daemon แก้เป็น Username ที่ login ของคุณ User yourusername Group daemon จากนั้นเปิดไฟล์...

903
การเพิ่ม Font ใน mPDF (Yii2 กับ kartik mpdf และ mPDF version 7.x)

ในบทเรียนรู้นี้เรามาเพิ่ม Font ใน mPDF version 7 กัน โดย Concept คือ เพิ่ม Font Angsana และ Sarabun โดยมีขั้นตอนดังนี้ 1.นำ Font Angsana.ttf และ Sarabun.ttf วางใน web/fonts/ 2.ในหน้าสำหรับ Generate PDF เพิ่มการตั้งค่า Fonts ดังนี้ use kartik\mpdf\Pdf; use Mpdf\Config\ConfigVariables; us...

1,142
Role Base Access Control (RBAC) แบบ PhpManager

สำหรับบทเรียนรู้นี้เรามาสร้าง RBAC หรือ Role Base Access Control ที่มีการบันทึกลงไฟล์ PHP แทนการเก็บไว้ใน Database RBAC มาแก้ปัญหา 1 คน 1 สิทธิ์ ซึ่งโดยปกติแล้วเวลาเก็บข้อมูลสิทธิ์ของ user นั้นทั่วไปจะกำหนด 1 คน 1 สิทธิ์ เช่น สิทธิ์ผู้ดูแลระบบ สิทธิ์ผู้ใช้งาน แต่ในความเป็นจริงในระบบที่ซับซ้อ...

1,421
การติดตั้ง Package yii2-bootstrap4 สำหรับ Yii Framework 2

หลังจากที่รอคอยมายาวนานหลังจาก Bootstrap ออก version 4 ตอนนี้ Yii Framework ก็ได้ออก Package สำหรับสาวก Bootstrap 4 เรียบร้อยแล้ว โดยใช้ชื่อ Package ว่า yii2-bootstrap4 โดยสามารถติดตั้งผ่าน composer โดยใช้คำสั่ง composer require yiisoft/yii2-bootstrap4 แก้ไข frontend/assets/AppAss...

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

หลายๆ ครั้งในการแสดงผลด้วยกราฟจาก HighChart แล้วเกิดปัญหาการแสดงวรรณยุกต์และสระผิดเพี้ยนไป ทำให้กราฟดูไม่ถูกต้องสวยงาม ในส่วนที่เป็น Label ทั้งหลาย วิธีการแก้ไขได้แก่การกำหนดให้ใช้  HTML นั่นเอง 'useHTML' => true, ตัวอย่าง <?= Highcharts::widget([ 'script...

877
สร้าง API แบบ RESTFul ด้วย Yii Framework 2 พร้อม Token JWT

สำหรับบทเรียนรู้นี้เป็นการแชร์การทำ Authentication Baerer แบบ Token ​​JWT (ใช้ firebase jwt) สำหรับการเข้าถึง API โดยมีการ custom route ก่อนอื่นขอแชร์ Starter Package ไว้ก่อนล่ะกันครับ https://github.com/kongoon/yii2-training-laos-pdr สามารถ clone มาทดลองใช้กันได้ครับ หมายเหตุ ถ้าใ...

1,710
แปลง Timestamp เป็น Y-m-d H:i:s ด้วย beforeSave() และ afterFind()

บทเรียนรู้นี้เรามาแปลง timestamp เป็น Y-m-d H:i:s หรือ format อื่นๆ ได้ตามต้องการ ปัญหาคือ ใน database เราเก็บข้อมูลแบบ timestamp ซึ่งเมื่อเรานำมาแสดงผลใน DatePicker จะไม่สามารถนำมาแสดงผลได้ถูกต้อง ดังนั้นเราจะต้องแปลงกลับไปกลับมาด้วย beforeSave() เมื่อเพิ่ม/แก้ไขข้อมูล และ afterFind() เมื่อ เลือกข้...

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

Bulma เป็น CSS Framework อีกตัวหนึ่งที่มีความนิยมไม่แพ้ Bootstrap ซึ่งเราสามารถนำมาใส่ใน Yii Framework 2 เราได้เหมือนกัน ติดตั้ง Bulma ก่อนอื่นเนื่องจาก bulma เป็น package หนึ่งของ bower ดังนั้นเรามาติดตั้ง bulma ผ่าน bower package โดยเข้าไปที่ root ของ project แล้วพิมพ์คำสั่ง  b...

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

ในบทเรียนรู้นี้เป็นการแก้ปัญหาโดยให้สมาชิก Login เพียงแค่เครื่องเดียว ที่ Login ใช้งานล่าสุด ตัวที่ Login ค้างไว้ให้ Logout แบบ Auto ซึ่งนั่นเราจะต้องจัดการกับ Session ที่เข้าใช้งานเว็บไซต์ให้ได้นั่นเอง โดยทั่วไปแล้ว Session จะเกิดที่ Browser ฝั่ง Client และจะถูกทำลายไปเมื่อปิด Browser ฉะนั้น...

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

สำหรับ Amazon Web Service นั้นมีบริการ S3 Storage ที่ออกข่าวว่ามีค่ายโทรศัพท์ค่ายหนึ่งทำการ public จนมีการคัดลอกสำเนาบัตรประชาชนออกไปได้นั่นแหละครับ คือถ้าไม่ public มันจะไม่สามารถ access จากที่อื่นๆ ได้นั่นเอง ทีนี้ตัว S3 Storage นั้นมี PHP SDK ให้เราโดยสามารถติดตั้งผ่าน composer ได้โดยใช้คำ...

1,848
ตัด frontend/web ใน url ให้สั้นลงใน Yii Framework 2

ใน Yii Framework 2 นั้นหากเราติดตั้งที่ server ที่เราไม่สามารถเปลี่ยน document root ของเว็บไซต์ไปที่ frontend/web ได้ เมื่อเรา request ไปยังเว็บจะทำให้ url ยาว เช่น yourdomain.com/frontend/web ดังนั้นในบทเรียนรู้นี้เราจะมาตัด frontend/web หรือ backend/web ออก ให้สามารถเรียก url yourdomain.com แล...

1,824
แก้ไขทีละหลายๆ record ด้วย Yii Framework 2

ในบทเรียนรู้นี้เรามาเรียนรู้การสร้างฟอร์มสำหรับการแก้ไขทีละหลายๆ record ด้วย Yii Framework ซึ่งเป็นการสร้าง input แบบ multiple input นั่นเอง โดยมีตัวอย่างดังต่อไปนี้ PostController <?php namespace frontend\controllers; use Yii; use yii\base\Model; use yii\web\Controller; use comm...

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

ในบทเรียนรู้นี้เราจะมาสร้างลิ้งค์สำหรับเปลี่ยนภาษาในระบบ โดยทำงานร่วมกับ Package localeurls ซึ่งก่อนอื่นก็ติดตั้ง Package นี้เสียก่อนโดยพิมพ์คำสั่งใน cmd composer require codemix/yii2-localeurls จากนั้นตั้งค่าใน frontend/config/main.php ดังนี้ 'urlManager' => [ 'class' =...

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

สำหรับ Yii Framework 2 นั้น โดยทั่วไปเราสามารถใช้ AccessControl ในการจัดการสิทธิ์การเข้าถึงได้เพียงแค่ตรวจสอบว่า login หรือ guest (ยังไม่ login) แต่ถ้าหากเราต้องการกำหนดสิทธิ์เพิ่มเติมให้กับ user เช่น สิทธิ์ admin, staff, member เป็นต้นนั้น เราจะต้องสร้าง Rule class ขึ้นมาเพื่อตรวจสอบ แล้วกำหนดใน Ac...

2,431
Yii Framework2 กับ VueJS เรียก JSON ด้วย Axios

ในบทความนี้เป็นแนวทางในการนำ VueJS มาใช้ร่วมกันกับ Yii Framework 2 ในการโหลดข้อมูล API / JSON มาแสดงผลด้วย Axios โดยไม่ได้ Refresh หน้าเว็บ (คุณสมบัติเด่นเขาล่ะ one page application) Package ที่จะใช้มี 3 ตัวคือ VueJS ตัวพระเอก Axios ตัวนางเอก NProgress เอาไวดู progress การโหลดข้อมูล...

4,188
การติดตั้ง bower package ใน Yii Framework 2 และ การสร้าง theme ด้วย materialize

bower เป็น package js และ css ที่สามารถนำไปใช้ใน package ส่วนใหญ่ที่เป็น js web application เช่น nodejs เป็นต้น โดยการนำมาใช้กับ Yii Framework 2 นั้นสามารถติดตั้งผ่าน composer และเรียกใช้งานผ่าน AssetBundle ได้ โดยมีขั้นตอนในการติดตั้ง bower package ดังนี้ การติดตั้ง bower package ตัวอย่างการต...

1,361
สร้าง QR Code ด้วย mPDF

ใน mPDF เราสามารถสร้าง QR Code แทน Barcode ได้โดยเปลี่ยน type ของ barcode ดังนี้ <?php $qr = 'data or link'; ?> <barcode code="<?=$qr?>" type="QR" size="0.3" error="M" disableborder = "1"/> ตัวอย่าง action ใน Yii2 public function actionStickerPdf(array $selection)...

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

สำหรับบทเรียนรู้นี้เป็นการใช้งาน Apache Modules ในการบีบอัดเว็บไซต์ ให้เล็กลงก่อนส่งให้ Client (อาจไม่เกี่ยวกับ Yii2 นะครับ แต่ก็ใช้กับ Yii2 ได้ โหลดเว็บไวขึ้นเยอะครับ) โดย apache module ที่จะต้องเปิดใช้งานคือ mode_deflate โดยสามารถเปิดการใช้งานได้ที่ httpd.conf วิธีการ โดยทำการเพิ่มไฟล์ .htaccess ใ...

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

สำหรับบทเรียนรู้นี้เรามาทำการรวมไฟล์ JavaScript และ ไฟล์ CSS เพื่อบีบอัดให้มีขนาดเล็กลง ซึ่งแน่นอนจะทำให้การโหลดเว็บไซต์ได้ไวมากยิ่งขึ้น โดยทำการติดตั้ง Package  yii2-assets-compress โดยพิิมพ์คำสั่งติดตั้งสำหรับ composer ดังนี้ composer require iisns/yii2-assets-compress จากนั้นแก้ไข...

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

หลังจากที่เรียนรู้การแทรกรูปภาพแล้วในบทเรียนรู้นี้มาแทรกตารางเข้าไปในเอกสาร MS Word จาก MS Word Template กันครับ เริ่มจากการตั้งค่าไฟล์ MS Word Template ให้ได้ตารางตามต้องการก่อน เช่น จะเห็นว่ามีตัวแปร ${no} ${item} ${amount} และ ${price_sum} จากนั้นเขียนโปรแกรมในการ Clone Row ของตาราง โดยใ...

2,738
แทรกรูปภาพในเอกสาร MS Word จาก MS Word Template

หลังจากที่ได้เรียนรู้วิธีการสร้างเอกสาร MS Word จาก MS Word Template ไปแล้ว (หากยังไม่ได้อ่าน สร้างไฟล์ MS Word จาก Word Template สำหรับงานเอกสารราชการ) ในบทเรียนรู้นี้มาแทรกรูปภาพเข้าไปในเอกสาร MS Word จาก MS Word Template กันต่อ ขั้นแรกให้ทำการสร้างตัวแปรที่จะรับค่ารูปภาพใน MS Word Tem...

3,415
การติดตั้งและใช้งาน SweetAlert2 โดยไม่ใช้ Extension ใน Yii Framework 2

sweet alert 2 เป็น css และ js ที่ช่วยในการทำ alert ต่างๆ ในที่นี้เราเปลี่ยน alert ใน yii framework 2 ไปใช้ sweet alert แทน https://limonte.github.io/sweetalert2/ การติดตั้งจะติดตั้งผ่าน bower หากยังไม่มีโปรแกรมให้ดาวน์โหลดและติดตั้งจาก bower.io จากนั้น เปิด command prompt เข้าไปยัง folde...

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

ปัญหานี้เกิดขึ้นเมื่อสมาชิก (user) เดียว แต่สามารถ login เข้าระบบได้จากหลายๆ เครื่อง หลายๆ browser ทำให้ไม่สามารถควบคุมการใช้งานได้ เช่น user A เข้าเรียนหลักสูตร aaa ได้ จากนั้น user A เอา username และ password ไปแจกเพื่อนๆ 9 คน ซึ่งแต่ละคนก็จะสามารถ login เข้ามาเรียนหลักสูตร aaa ได้ ทำให้เกิดปัญหาแ...

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

โดยปกติเวลาที่เราออกจากระบบใน Yii Framework 2 นั้นจะต้องส่งข้อมูลไปแบบ POST โดยอาศัยฟอร์มในการส่งข้อมูล เช่นใน Nav $menuItems[] = '<li>' . Html::beginForm(['/site/logout'], 'post') . Html::submitButton( 'ออกจากระบบ (' . Yii::$app->user->ide...

3,317
ติดตั้งและใช้งาน Bootstrap4 ใน Yii Framework 2

Bootstrap4 ใน Yii Framework 2 นั้นจะมาใน Yii version 2.1 ซึ่งก็คงต้องรออีกสักระยะ และประกอบกับ Bootstrap4 เอง ณ ตอนนี้ก็ยังเป็น version beta อยู่ แต่ถ้าหากว่าเราต้องการใช้งาน Bootstrap4 ใน Yii 2.0.xx แล้วล่ะก็ยังสามารถใช้งานได้เช่นกัน ในบทเรียนรู้นี้เรามาสร้าง layout ที่ใช้งาน Bootstrap4 beta...

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

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

12,469
เพิ่ม Application เหมือน Frontend-Backend ใน Yii Framework2

มีคนถามมาว่าเราสามารถสร้าง Application เหมือน frontend/backenc ได้ไหม แต่ใช้การตั้งค่าและ vendor เดียวกัน คำตอบคือสามารถทำได้ครับ เพื่อให้เข้าใจ concept จะใช้ต้นแบบจาก backend ในการสร้าง application ชื่อ aomsin สร้างความเข้าใจ ในการสร้าง application ใหม่นั้นเราจะต้องตั้งค่า namespace และกำ...

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

สำหรับยทเรียนรู้นี้มาทำให้ Web application เราให้สามารถออกจากระบบอัตโนมัติ โดยในที่นี้จะกำหนดให้ออกจากระบบหลังจากไม่ได้ใช้งานเป็นเวลา 5 นาที โดยกำหนดในส่วน component user ซึ่งสามารถกำหนดได้ใน backend และ frontend ในที่นี้จะกำหนดให้ frontend ที่ไฟล์ frontend/config/main.php ข้อกำหนดคือจะต้องกำห...

3,959
Simple URL Slug ด้วย Yii Framework 2

หลายๆ เว็บไซต์ จะเห็น URL ที่มีข้อความ เช่น www.example.com/post/view/1/ทดสอบ เป็นต้น ซึ่งเราจะเห็นว่ามีคำว่า ทดสอบ อยู่ใน URL ด้วย ส่วนใหญ่แล้ว คำว่า ทดสอบ นั้นจะเป็นคำที่อยู่ใน หัวเรื่อง (Title) นั่นเอง  ทั้งนี้การทำ Slug นั้นมีจุดประสงค์ด้านการตอบสนองต่อ Search Engine เนื่องจาก Search Eng...

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

ปัญหาของ Autocomple ที่แสดงใน Modal คือ เมื่อมีการพิมพ์รายการ รายการต่างๆ ที่มีให้เลือกมันจะแสดงผลอยู่ข้างหลัง Modal ดังนั้นเราจะต้องนำมันออกมาข้างหน้า Modal ด้วยการตั้งค่าต่อไปนี้ 'appendTo'=>'#form-id', ตัวอย่าง <?= $form->field($model, 'name')->widget(AutoComplete::classN...

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

สำหรับการใช้งาน domain ที่เป็น SSL ใน Yii framework 2 นั้นเราสามารถกำหนดใน server ที่เป็น apache ด้วยการเขียน .htaccess แล้ววางใน root ของ project backend/ common/ frontend/ .htaccess โดยสร้างไฟล์ดังนี้ Options -Indexes RewriteEngine on RewriteRule (^backend) backend/web/$1...

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

สำหรับบทเรียนรู้นี้เรามาทดลองการแสดงข้อมูลจาก Google Analytics มาแสดงใน Web Application ของเราผ่าน API ของ Google ซึ่งมีขั้นตอนต่อไปนี้ ติดตั้ง Google API Client ทำการติดตั้ง Google API Client กันก่อน โดย copy คำสั่งไปวางใน composer.json  "google/apiclient": "^2.0", จากนั้นก็ส...

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

ปัญหาอย่างหนึ่งของการสร้าง GridView หลายๆ ตัวในหน้าเดียวกันคือเมื่อมีการเลือก หน้า (Pagination) ทุกๆ GridView จะเปลี่ยนหน้าเหมือนกันหมด ในบทเรียนรู้นี้เราจะมากำหนด Page Param แยกอิสระต่อกัน เพื่อให้เวลาเลือกหน้าในแต่ละ GridView ไม่กระทบกัน โดยสามารถตั้งค่าผ่าน DataProvider ดังต่อไปนี้ $data...

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

Timeago เป็นเรื่องหนึ่งที่ค่อนข้างสำคัญเช่นกัน เป็นการกำหนดรายละเอียดการแสดงผลวันที่ เช่น 1 วันที่ผ่านมา 2 เดือนที่แล้ว หรือ ปีที่แล้ว เป็นต้น โดยมี package ของ jQuery ที่จะแปลงข้อมูลวันเดือนปีและเวลาไปเป็น Timeago ให้อัตโนมัติ ทั้งนี้เราต้องเตรียมข้อมูลให้อยู่ในรูปแบบที่ถูกต้องเสียก่อน ตัวอย...

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

การนับจำนวนคนอ่าน คนเข้าเว็บไซต์ หรืออื่นๆ สามารถทำได้โดยง่ายใน Yii Framework 2 สมัยก่อนหากต้องการนับนั้นจะทำยุ่งยากมากกว่าเช่น ทำผ่าน createCommand $sql = "UPDATE post SET view_count = view_count + 1 WHERE id = '100'"; Yii::$app->db->createCommand($sql)->query(); แต่เรา...

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

สวัสดีครับ วันนี้มาแนะนำการใช้งาน Tag ในแต่ละ Post นะครับ ซึ่งเราจะเห็นคุ้นตากันในแต่ละ web เช่น เว็บที่สร้างจาก Wordpress ก็จะมีระบบ Tag มาให้ ในที่นี่เราจะมาสร้างระบบ Tag ใน Yii Framework 2 กันนะครับ เริ่มจาก ติดตั้ง Package ทำการติดตั้ง Package ที่เกี่ยวข้องซึ่งมี 2 Package ด้วยกันคือ y...

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

ในบทเรียนรู้นี้มาทำความรู้จักและใช้งาน Dropdownlist แบบ Dependent โดย dependent dropdownlist เป็น dropdownlist ที่มีความเชื่อมโยงกัน ตัวอย่างเช่น เลือกจังหวัด จะปรากฏรายการอำเภอในจังหวัดนั้น เมื่อเลือกอำเภอก็จะปรากฏตำบลในอำเภอนั้น เป็นต้น และเราจะทำการเก็บข้อมูลตัวเลือกสุดท้ายลงในฐานข้อมูล หรือน...

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

SelectionColumn เป็นเครื่องมือที่มีความสะดวกในการเลือกข้อมูลเพื่อทำบางอย่าง เช่น การเลือกเพื่อลบข้อมูล หรือ เลือกเพื่อส่งข้อมูลไปบันทึกในลักษณะ Master Detail เป็นต้น การสร้าง SelectionColumn เพื่อ ลบข้อมูล ตัวอย่างนี้เป็นการสร้าง SelectionColumn เพื่อใช้ในการลบข้อมูล โดยจะใช้ jQuery ในการ...

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

ตัวอย่างไฟล์ Excel ที่เราจะทำการเขียนโปรแกรมเพื่ออ่าน การ upload และอ่านไฟล์ MS Excel เพื่อนำไปใช้ในระบบ เช่นบันทึกลงฐานข้อมูล หรือนำไปแสดงผลใน GridView (ตามตัวอย่าง) สามารถทำได้โดยใช้ PHPExcel Package ซึ่งสามารถทำได้ดังนี้ สำหรับ PHPExcel สามารถดูรายละเอียดได้ที่ https://github.c...

10,081
สร้างแผนที่ Google Map แบบ Cluster สำหรับ Yii Framework 2

สำหรับบทเรียนรู้นี้มาสร้างแผนที่ Google Map แบบ Cluster ใน Yii Framework 2 กันครับ โดยจุดพิกัดจะรวมกันเมื่อมีการ Zoom Out และจะแยกกันเมื่อมีการ Zoom In ทำให้ดูง่ายและไม่ลายตาครับ ถือว่าบทเรียนรู้นี้เป็นภาคต่อของ "Extension การสร้างแผนที่แบบต่างๆ ด้วย Google Map ใน Yii Framework 2" ก็ว่า...

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

บทเรียนรู้นี้เป็นการทดสอบการเขียนโปรแกรมใน Yii2 เพื่อส่งข้อมูลเข้า LINE Group โดยใช้ Notify Bot โดยเป็นการดึงข้อมูลจากฐานข้อมูลแล้วส่งข้อมูลเข้ากลุ่ม (เป็นตัวอย่างการทดสอบ) โดยมีขั้นตอนต่างๆ ดังนี้ เข้า LINE Notify Login เพื่อสร้าง Token และ Bot เพิ่ม LINE Notify เข้าใน LINE Group เขีย...

43,186
การติดตั้งและใช้งาน Bower Package ใน Yii Framework 2

Bower เป็นแหล่งรวบรวม Package เช่น JavaScript, CSS Package ตัวอย่าง Bootstrap, Highcharts เป็นต้น ในที่นี้เราจะติดตั้ง Highcharts และทดลองใช้งานใน Yii Framework 2 การติดตั้ง ก่อนอื่น เรามาเตรียมตัวก่อนการใช้งานโดยต้องติดตั้ง Node.js และ ทำการ install bower ให้เรียบร้อยโดยใช้...

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

ในบทเรียนรู้นี้เราจะมาเรียนรู้การใช้งาน Autocomplete ซึ่งเป็นการค้นหาข้อมูลใน TextInput ด้วยการพิมพ์ตัวอัษรแล้วระบบจะกรองข้อมูลมาให้ เช่น พิมพ์ การ ระบบจะค้นหาข้อความที่มีตัวอักษร การ มาเพื่อให้เป็นตัวเลือกนั่นเอง jQueryUI เป็น package ที่สามารถติดตั้งเพิ่มเติมใน Yii Framework 2 ได้โดยใช...

6,968
ทดลองใช้ Realtime Database ใน Firebase ด้วย Yii Framework 2

ในบทเรียนรู้นี้เรามาทดลองใช้งาน Realtime Database ใน Firebase ด้วย Yii Framework 2 กันครับ (จริงๆ แล้วสามารถทดลองเขียนแบบไม่ต้องใช้ Yii Framework ก็ได้นะ ลองเอาไปประยุกต์นะครับ) คุณสมบัติเด่นของ Realtime Database ก็ตรงตัวอยู่แล้วนะครับ คือเป็นการทำงานแบบ Realtime ในการทดสอบนี้จะทดลองเขียนเพื่...

9,802
แบ่ง Session Backend และ Frontend ให้เป็นคนละตัวใน Yii Framework 2

การ Login เข้าสู่ระบบใน Yii Framework 2 นั้นโดยปกติเมื่อเข้าระบบแล้วจะสามารถเข้าส่วน Backend และ Frontend โดยไม่ต้อง Login ใหม่ หากต้องการแยก Session การทำงานระหว่าง Backend และ Frontend ก็สามารถทำได้โดยตั้งค่า config ในไฟล์ frontend/config/main.php และ backend/config/main.php ในส่วนของ Componen...

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

สวัสดีครับ ในบทเรียนรู้นี้เรามาเรียนรู้การทำให้ GridView สามารถ Sort หรือเรียงลำดับได้โดยการลากวางแล้วบันทึกค่าการเรียงลำดับลงในฐานข้อมูล โดยใช้ Package ที่มีชื่อว่า  https://github.com/richardfan1126/yii2-sortable-gridview การติดตั้ง สำหรับการติดตั้งสามารถติดตั้งผ่าน Composer ได...

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

สวัสดีครับก็เป็นกระแสมาสักระยะแล้วสำหรับ LINE Bot ซึ่งตอนนี้เปิดให้ใช้งานแบบ Trial โดยยังเป็น Beta Version อยู่ ดังนั้นในบทเรียนรู้นี้มาลองทำความรู้จักกับ LINE Bot กัน กับการใช้งานผ่าน cURL กันก่อน (จริงๆ ตอนนี้มี PHP SDK) เรื่อง PHP SDK ค่อยว่ากันต่อไปครับ ในที่นี้เราจะสร้าง LINE Bot ให...

20,368
การใช้งาน Yii2 Scroll Pager แทนการใช้ Pagination ใน Yii Framework 2

Yii2 Scroll Pager เป็น Package สำหรับโหลดหน้าต่อไปแทนการใช้งาน Pagination นั่นเอง รายละเอียดดูได้ที่  https://packagist.org/packages/kop/yii2-scroll-pager การติดตั้ง Yii2 Scroll Pager นั้นให้พิมพ์คำสั่ง composer require kop/yii2-scroll-pager จากนั้นกำหนดค่าใน ListView และ Gr...

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

Multiple Input เป็นการเพิ่ม Input ในลักษณะ เรียกใช้งาน JavaScript เพื่อเพิ่มช่องสำหรับกรอกข้อมูล เหมาะสำหรับการบันทึกข้อมูลในลักษณะ Master Detail เช่น ใบสั่งซื้อ กับรายการสินค้าที่สั่งซื้อ โดยที่ ใบสั่งซื้อ 1 ใบ มีรายการสินค้าได้หลายชิ้น นั่นเอง จากตัวอย่างนี้เราจะใช้ Package เสริมสำหรับ Yii2...

9,450
การสร้าง PDF Barcode ด้วย Yii Framework 2

การสร้าง Barcode ด้วย Yii Framework 2 นั้นสามารถทำได้โดยใช้ Extension yii2-mpdf  https://packagist.org/packages/kartik-v/yii2-mpdf ซึ่งสามารถติดตั้งผ่าน composer โดยพิมพ์คำสั่ง composer require kartik-v/yii2-mpdf คัดลอกไฟล์ kv-mpdf-bootstrap.css จาก yii2-project\vendor\...

8,074
การทำระบบ Social Connect ด้วย AuthClient Part 2

ใน Part 2 เป็นการตั้งค่า Yii Framework เพื่อให้สามารถ Connect กับ Social Network ต่างๆ ได้ และทำการแสดงข้อมูลเมื่อเชื่อมต่อได้ ติดตั้ง AuthClient ทำการติดตั้ง AuthClient โดยพิมพ์คำสั่ง ใน Project ดังนี้ composer require --prefer-dist yiisoft/yii2-authclient   เปิดการใช้งาน...

7,053
การทำระบบ Social Connect ด้วย AuthClient Part 1

AuthClient เป็น Extension สำหรับ Yii Framework 2 ซึ่งทำให้เราสามารถเชื่อมต่อกับ Social Media ได้อย่างง่ายดาย เช่นการเข้าระบบด้วย Facebook, Live, LinkedIn, Google+, Twitter และอื่นๆ ติดตั้ง Yii Framework 2 ทำการสร้าง Project ชื่อ yii2-social composer create-project yiisoft/yii2-app-adv...

5,621
การติดตั้ง Yii2 Advanced บน Windows Server 2008

การติดตั้ง Yii Framework 2 บน Windows Server ในที่นี้ใช้ Windows Server 2008 ในการติดตั้ง ใช้ฐานข้อมูล Microsoft SQL Server และใช้ IIS เป็น Web Server เริ่มจากการตั้งค่า IIS ด้วย Internet Information Services Manager จากนั้นคลิกเลือก Sites หากยังไม่มีให้สร้างใหม่ จากนั้นกด Basic Set...

5,880
สร้าง Organization Chart ด้วย Google Visualization OrgChart สำหรับ Yii Framework 2

การติดตั้งและใช้งาน Google Visualization Organization Chart โดยติดตั้งผ่าน Composer การติดตั้ง สำหรับการติดตั้งจะติดตั้ง Package ด้วย Composer โดยพิมพ์คำสั่ง composer require kongoon/yii2-orgchart การใช้งาน [['v' => 'ค่าอ้างอิง(NodeID)', 'f' => 'ส่วนแสดงผลใช้ HTML ได้'],...

5,603
สร้างกราฟใน Yii Framework 2 ด้วย C3JS Chart

C3JS เป็น JavaScript Chart ซึ่งสามารถนำมาใช้ได้ภายใต้ MIT License สำหรับ Yii Framework 2 นั้น ผมได้ทำ Package ไว้สำหรับติดตั้งและใช้งาน ดังนี้ การติดตั้ง สำหรับการติดตั้งพิมพ์คำสั่ง composer require kongoon/yii2-c3js-chart   การใช้งาน ตัวอย่างการใช้งานใน view ของ Yii2 &...

6,580
การแก้ไขเมื่อเกิดปัญหา ReflectionException NpmRepository does not exist ใน Composer

การแก้ไขปัญหาเมื่อสั่งติดตั้ง composer-asset-plugin แล้วเกิด Error [ReflectionException] Class Fxp\Composer\AssetPlugin\Repository\NpmRepository does not exist โดยพิมพ์คำสั่งดังต่อไปนี้ composer global require fxp/composer-asset-plugin --no-plugins จากนั้นสั่ง update composer com...

3,838
Theme แนวราชการสำหรับ Yii Framework 2

ธีมแนวราชการสำหรับ Yii Framework 2 สามารถติดตั้งผ่าน Composer โดยพิมพ์คำสั่ง composer require kongoon/yii2-theme-ratchakarn หากพบข้อผิดพลาดประการใดกรุณาแจ้ง Issue ได้ที่  https://github.com/kongoon/yii2-theme-ratchakarn/issues การใช้งาน สำหรับ frontend เปิดไฟล์ frontend/c...

8,022
การใช้งาน BlameableBehavior เพือบันทึก User ID ที่กำลัง Login ใน Yii Framework 2

BlameableBehavior เป็น behavior ใน Model มีไว้สำหรับการบันทึกผู้ Create และ Update โดยอัตโนมัติ เวลาที่เพิ่มข้อมูลจะนำ id ของ user ที่ login บันทึกลง created_by และ updated_by โดยอัตโนมัติ หากไม่มี User Login จะ return ค่าเป็น null  https://github.com/yiisoft/yii2/blob/master/framewor...

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

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

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

การตรวจสอบหมายเลขประจำตัวประชาชนนั้นเราจะทำ 2 อย่างด้วยกันคือ  รูปแบบของหมายเลขประจำตัวประชาชนคือ 1-1111-11111-11-1 ความถูกต้องของหมายเลขประจำตัวประชาชน การสร้าง MaskedInput MaskedInput เป็น Package ที่มีอยู่ใน Yii Framework 2 อยู่แล้ว ซึ่ง MaskedInput เป็นรูปแบบของการกำหนด...

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

ใน Yii Framework 1 นั้น Label ที่เป็นแบบ Required จะมีดอกจันมาพร้อม แต่เมื่อเป็น Yii Framework 2 ซึ่งเป็น Bootstrap แล้วไม่มี ดังนั้นเรามาเพิ่มดอกจัน (*) กันเถอะ เพื่อให้ User เห็นว่าต้องกรอกข้อมูลนี้ เครื่องหมายดอกจัน ไม่ใช่ ดอกจันทร์ เป็นคำเขียนผิดกันบ่อยๆ  https://th.wikipedia.or...

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

CKEditor เป็น Editor ที่มีความสวยงามที่รองรับหลากหลาย Feature และสามารถกำหนดการแสดงผลได้หลากหลายรูปแบบ ในบทเรียนรู้นี้เรามาเรียนรู้การติดตั้ง การตั้งค่า และการใช้งานกัน เรียก Editor ที่เป็นออนไลน์บน Web ลักษณะนี้อีกแบบคือ WYSIWYG (What You See Is What You Get) เว็บไซต์อย่างเป็นทางการของ CK...

5,551
การส่ง Email ด้วย Yii Framework 2 ผ่าน SMTP ของ Google

ในบทเรียนรู้นี้มาเรียนรู้การสร้างระบบการส่ง Email แบบใช้ SMTP ของ Google โดยจะต้องมี Account ของ Gmail หรือ สมัครใช้งาน Google Bussiness SMTP คืออะไร อ่านเพิ่มเติมได้ที่  https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol ใช้ SwifMailer ในการส่งสำหรับ Yii Framework 2 มี...

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

AJAX Validation เป็นการตรวจสอบข้อมูลโดยการใช้เทคนิค AJAX ตามเหตุการณ์ต่างๆ เช่น เมื่อค่าเปลี่ยน (onChange) หรือเมื่อส่งข้อมูล (onSubmit) ให้ทำการตรวจสอบตาม Rules ที่ได้กำหนดไว้ ดูเรื่อง Validating Input เพิ่มเติมได้ที่ http://www.yiiframework.com/doc-2.0/guide-input-validation.html  ...

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

หลักการทำงาน Internationalization (I18N) เป็นการออกแบบอย่างหนึ่งในกระบวนการของซอร์ฟแวร์นั่นคือการประยุกต์การใช้งานภาษาต่างในแต่ละภูมิภาค โดยไม่มีการเปลี่ยนแปลงด้านวิศวกรรม ใน Web Application หลักการนี้มีความสำคัญเพราะผู้ใช้งานมาจากทั่วทุกมุมโลก ซึ่ง Yii ได้รองรับการทำงานนี้ เช่น การแปลง ข้อคว...

8,856
ทำความเข้าใจเส้นทาง (Routing) ใน Yii Framework 2

จาก URL ที่มีการเปิดหรือ request คือ index.php?r=blog/post/index ใน Yii Framework 2 จะมีการจัดการกับ URL ผ่าน request component ดังนี้ blog คือ ชื่อของ Module ซึ่งจะบรรจุอยู่ใน frontend/modules/blog/ post คือ ชื่อของ Controller ซึ่งอยู่ใน module blog จะอยู่ที่ frontend/modules/blog/PostCon...

6,255
หลักการทำงานของ Yii Framework 2 Request Life Circle

เพื่อให้เกิดความเข้าใจในการทำงานของ Yii Framework 2 ก่อนที่จะไปเขียน Web Application มาศึกษาดูว่ากระบวนการทำงานของ Yii Framework 2 เป็นอย่างไรตั้งแต่ผู้ใช้งาน (User) เรียกหน้า Web Application และ Web Application ตอบสนองไปยังผู้ใช้งาน เมื่อผู้ใช้เรียก URL หรือ Route ไปที่ web/index.php?r=si...

10,583
การจัดการกับ Flash Message ใน Yii Framework 2

Flash Message คืออะไร Flash Message คือ ข้อความที่แสดงขึ้นมาแล้วหายไปเมื่อ refresh หน้า Web Application เหมือนกับ Flash ในกล้องถ่ายรูป เช่น เมื่อ Login เข้าสู่ระบบเสร็จแล้วให้แสดงข้อความ ยินดีต้อนรับ จากนั้นเมื่อ refresh หรือเปิดหน้า Web Application หน้าต่อไป Flash Message ก็จะหายไป ใน Yii Fra...

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

MVC คืออะไร? โมเดล วิว และคอนโทลเลอร์ เป็นการออกแบบสถาปัตยกรรมซอร์ฟแวร์อย่างหนึ่ง โดยการแบ่งออกเป็น 3 ส่วน คือ ส่วนของข้อมูล (Model) ส่วนของการประมวลผล (Controller) และส่วนการแสดงผล (View) ในมุมของ Web Application นั้นการออกแบบสถาปัตยกรรม MVC นั้นได้รับความนิยมมากเช่นกัน และใน Yii Framework 2 ก็ไ...

10,300
การเขียนโปรแกรม Upload ไฟล์ด้วย Yii Framework 2

สำหรับการ Upload ไฟล์นั้นแน่นอนว่าเกือบทุก Web Application จะต้องมีการ Upload ไฟล์ ขึ้นไปที่ Server ทั้ง Upload แบบไฟล์เดียวหรือ Upload ทีละหลายๆ ไฟล์พร้อมกัน ในบทเรียนรู้นีเรามาทำความเข้าใจการ Upload ไฟล์ ทั้งทีอยู่ใน actionCreate actionUpdate และ actionView พร้อมทั้งระบบการลบรูปภาพออกจากระบบด้ว...

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

coming soon GridView คือ การนำข้อมูลมาแสดงผลแบบตารางที่เราเข้าใจนั่นเอง โดยการเตรียมข้อมูลให้อยู่ในรูปของ DataProvider ซึ่งมี 2 แบบด้วยกันนั่นคือ ActiveDataProvider() ซึ่งได้มาจาก ActiveRecord, ArrayDataProvider() ได้มาจากข้อมูลในรูปของ Array และ SQLDataProvider ได้มาจากการใช้คำสั่ง SQL โดยตรง...

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

ในการพัฒนา Web Application นั้น คงหนีไม่พ้นการนำ CSS และ JavaScript หรือเรียกว่าเป็น Client Script หรือสคริปที่ทำงานฝั่งไคลเอนต์ มาใช้งาน ซึ่งแน่นอน Yii Framework 2 มี Bootstrap(CSS, JS) และ jQuery (JavaScript) มาพร้อม สำหรับการใช้งานนั้นในบทเรียนรู้นี้ เรามาเรียนรู้การนำ CSS และ JavaScrip...

6,792
Extension การติดตั้งและสร้าง Theme ด้วย Yii2 AdminLTE Theme

AdminLTE คืออะไร? AdminLTE คือ Theme ที่ถูกพัฒนาโดย Almsaeed Studio และได้มีการแจกให้สามารถนำไปใช้ได้ฟรี โดยสามารถดูตัวอย่างของ Theme ได้ที่  https://almsaeedstudio.com/preview Yii2 AdminLTE คืออะไร? Yii2 AdminLTE คือ การนำ Theme AdminLTE มาทำให้อยู่ในรูปแบบของ Packa...

13,589
การทำ Web Application เพื่อรองรับ Search Engine และ Social Media

สำหรับ Yii Framework 2 นั้นแน่นอนเราสามารถกำหนด Title ให้แต่ละหน้าได้ แต่นอกเหนือจากนั้นเราจะกำหนดได้อย่างไรเช่น keywords, description หรือแม้แต่ tag ด้าน social media เช่น og:image, og:desctiption, twitter:image เป็นต้น ใน Tutorial นี้เรามาทำให้ Web Application เรารองรับ Search Engine และ Social Me...

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

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

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

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

6,372
การใช้งาน TimestampBehavior ใน Model

TimestampBehavior คืออะไร? TimestampBehavior เป็นตัวช่วยในการบันทึกข้อมูล Timestamp ลงในฐานข้อมูลในกรณีที่มีการเพิ่มหรือแก้ไขข้อมูล ทำให้สะดวกในการเขียนโปรแกรม โดยไม่ต้องเขียนในส่วนโปรแกรมให้ insert/update ซึ่ง behavior นี้จะกำหนดใน Model ค่าเริ่มต้นของ field/attribute ที่จะทำงานอัตโนมัติคือ...

5,256
การทำ Transaction ใน Yii Framework 2

ทำไมต้องทำ Transaction? เรื่องของ Transaction นั้นเป็นเรื่องที่มีมาค่อนข้างนานพอสมควร ข้อดีของการทำ Transaction คือ ในกรณีที่มีการทำงานกับคำสั่งในการประมวลผลฐานข้อมูลหลายๆ คำสั่ง ซึ่งอาจมีบางคำสั่งที่ไม่สามารถทำงานได้ หากเราเขียนโปรแกรมแบบเดิมก็จะมีการกระทำการกับคำสั่งมาเรื่อยๆ จนเกิด error ในคำส...

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

สำหรับหลายๆ เว็บไซต์ที่เราเคยเห็นหรือเคยใช้งานจะมีปุ่ม Login with Facebook สงสัยไหมครับว่ามันทำงานอย่างไร หรือมันมีขั้นตอนในการสร้างอย่างไร ไปดูทีละขั้นตอนกันเลยครับ สร้าง Facebook App สร้าง Facebook App เพื่อใช้ในการตั้งค่าระดับการเข้าถึงว่าต้องการให้เว็บเราใช้ข้อมูลอะไรของ Facebook User ได้&...

8,364
การสร้างและใช้งาน Migration ใน Yii Framework 2

Migration คืออะไร Migration คือการสร้าง versioning ของการทำงานกับฐานข้อมูล เช่น การสร้างตาราง การเพิ่ม field การลบ field เพื่อให้เห็น version ต่างๆ และทราบที่มาที่ไปได้ การ Migration จึงมีความสำคัญกับการพัฒนาระบบที่ทำงานเป็นทีมหลายๆ คน รูปแบบของ Migration นั้นถูกนำมาใช้ให้เหมือนกับการ Codin...

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

Geochart เป็นการให้บริการการแสดงแผนที่จาก Google ซึ่งเป็นบริการแบบฟรีโดยสามารถดูรายละเอียดเพิ่มเติมได้ที่  https://developers.google.com/chart/interactive/docs/gallery/geochart สำหรับตัวอย่างนี้จะเป็นการจำลองการรายงานจำนวนอุบัติเหตุที่เกิดขึ้นทั่วประเทศซึ่งมีการเก็บข้อมูลในฐานข้อมูลแล...

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

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

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

สำหรับ HightCharts นั้นเป็นระบบการทำกราฟที่เป็น JavaScript โดยจะทำงานที่ฝั่ง Client ดังนั้น เราจำเป็นจะต้องสร้างข้อมูลจากฐานข้อมูลให้อยู่ในรูปของ JavaScript เพื่อส่งให้ HightCharts แสดงผล แต่สาหรับการจัดการกับ HightCharts ในบทนี้จะสร้างกราฟจาก Yii2 Extension ที่มีคนได้ทำไว้ในรูปแบบของ PHP แล้ว โดยทำ...

18,340
การติดต่อฐานข้อมูล MySQL, MongoDB, Microsoft SQL, PostgreSQL และ Oracle ด้วย Yii Framework 2

MySQL PostgreSQL MongoDB Microsoft SQL Server Oracle เรียนรู้การใช้งาน Yii Framework 2 สำหรับการติดต่อฐานข้อมูลต่างๆ  โดยเปิดไฟล์สำหรับหรับตั้งค่าการเชื่อมต่อฐานข้อมูลในไฟล์  common/config/main-local.php จากนั้นตั้งค่าการเชื่อมต่อในส่วนของ Components return [...

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

เรียนรู้การทำงานและการใช้งาน Scenario ใน Model สำหรับ Yii Framework 2 ทำไมต้องใช้ Scenario ? คงเป็นคำถามเพื่อสร้างความเข้าใจ ซึ่งเพื่อให้เข้าใจง่ายขึ้นจะขออธิบายว่า Scenario คือการเปิดเผย Attribute (Property) บางส่วนในบางสถานะหรือบางเหตุการณ์ ตัวอย่างเช่น ใน case ของการตรวจรักษาโรค เรา...

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

การแก้ไขปัญหาเมื่อไม่สามารถติดตั้งต่อได้ โดย Command Prompt โดยมีข้อความแสดง token(hidden) เนื่องจากระบบการติดตั้งผ่าน Composer จะอ้างอิง access token ในการติดตั้ง ซึ่ง access token จะอยู่ใน GitHub Account โดยจะต้องสมัครสมาชิก www.github.com และทำตามขั้นตอนดังนี้ ขั้นตอนแรก เข้าระ...

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

สำหรับ Role Base Access Control หรือ RBAC นั้นเป็นการจัดการสิทธิ์การเข้าถึง Action ต่างๆ คล้ายกันกับการใช้งาน Access Control Filter แต่มีความแตกต่างเพิ่มเติมคือ ผู้ใช้งานหนึ่งคนสามารถมีหลายบทบาทได้ เช่น บทบาทเป็น admin ของ ระบบ A แต่เป็น user ของระบบ B เป็นต้น ใน Yii2 นั้นสามารถเก็บ...

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

สวัสดีครับในตอนนี้เป็นตอนสำหรับการทำ CRUD แบบ AJAX นั้นสามารถทำได้หลายวิธี ในขั้นตอนนี้เป็นแนวทางหนึ่งในการทำเท่านั้นเอง ไปดูว่ามีขั้นตอนอย่างไรบ้างกันครับ กำหนด AJAX ในหน้า index.php สำหรับ actionIndex() ที่มี GridView กำหนด actionCreate(), actionView() และ actionUpdate() เป็นแบบ r...

12,273
การสร้าง Theme จาก Material Design ใน Yii2 Advanced

สำหรับบทความชุดนี้เป็นแนวทางสำหรับการทำ Theme ในรูปแบบ Material Design สำหรับ Yii2 Advanced Application Template นะครับ  โดยมีขั้นตอนดังต่อไปนี้ ดาวน์โหลด Theme สร้าง Project สร้าง Folder เก็บ Theme สร้าง AppAsset สำหรับ Theme สร้าง layout หลัก โหลด Layout ใน Web Application...

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

การใช้งาน kartik Select2 จากตัวอย่างนี้เป็นตัวอย่างการใช้งาน Select2 โดยการเลือกคำนำหน้าเป็นการสมมติทดสอบข้อมูลหากมีข้อมูลจำนวนมากๆ ถ้ามีการ select ขึ้นมาใส่ใน Select จะทำให้ Web Application ทำงานได้ช้ามาก ดังนั้นทางออกคือทำ Select แบบ AJAX ดึงข้อมูลมาเฉพาะที่ค้นหา ส่วน View สำหรับการแสดง Sel...

10,455
การ Update Yii2 ด้วย Composer

สำหรับ Yii2เมื่อเวลาผ่านไปทาง Yii2 Official ได้มีการอัพเดทหรือปรับปรุงคุณสมบัติต่างๆ เพิ่มเติมในระบบ และส่วนเสริมต่างๆ เพื่อให้ระบบ Web Applicationที่เราสร้างมีความเป็นปัจจุบันเราจึงต้องมีการอัพเดทด้วยเช่นกัน สำหรับคำสั่งในการอัพเดทนั้นให้เข้าไปที่ Folder Project แล้วใช้คำสั่งดังนี้...

6,799
การจัดการ URL แบบสวยงาม (Pretty URL)

สำหรับ Pretty URL สำหรับ Yii Advanced Application Templateนั้นเราต้องจัดการ 2 ส่วน คือส่วนของ Frontendและส่วนของ Backend สำหรับการทำ Pretty URL นั้นจำเป็นต้องเปิดใช้งาน rewrite_module  ของ Apache ก่อน เพื่อให้การทำงานของขั้นตอนนี้ถูกต้อง ถ้าเป็น WAMP Server ให้กด W->Apache->Ap...

10,135
การสร้าง Virtual Host ใน Apache สำหรับ Yii2 Advanced Application Template

สำหรับ Yii2 Advanced Application Templateนั้นมี 2 ส่วนด้วยกันนั่นคือ Frontendและ Backendโดยทำ Virtual Host ให้กับ 2 ส่วนนี้ โดย Frontend นั้นจะเป็นค่าเริ่มต้นสำหรับ Domain เช่น http://yii2-advanced.devส่วน Backend นั้นจะเป็น Subdomain เช่น http://backend.yii2-advanced.devโดยมีการตั้งค่...

5,519
Gii Generator สำหรับ Advanced Template

การเข้าใช้งาน Gii Generator นั้นเข้าผ่าน URL http://localhost/yii2-advanced/frontend/web/index.php?r=gii จะปรากฏหน้า Web Applicationดังนี้ การสร้าง Modelด้วย Gii     การสร้าง Modelด้วย Gii นั้นมีขั้นตอนที่ง่ายดายเพียงเข้าเมนู Model Generator โดยควรที่จะสร้าง Mode...

11,765
การติดตั้ง Yii2 Advanced Application Template

เปิด Command Promptแล้วไปที่  D:\wamp\www หรือ root ของ web server พิมพ์คำสั่งในการ ติดตั้ง composer  asset plugin (ทำครั้งแรก ครั้งเดียว) composer global require "fxp/composer-asset-plugin:1.1" พิมพ์คำสั่งในการสร้าง Web Application จาก Advanced Application&nbs...

22,228
การสร้าง Virtual Host สำหรับ Yii2 Basic Application Template

สำหรับ Virtual Host นั้นเป็นการจำลองการเรียก Web Applicationผ่าน Domain URL เช่น http://yii2-basic.dev เป็นต้น สำหรับวิธีการนั้นทำได้ไม่ยาก มี 2 ขั้นตอนดังนี้ แก้ไขไฟล์ httpd-vhosts.conf     สำหรับไฟล์นี้จะบรรจุอยู่ใน d:/wamp/bin/apache/apachex.x.x/conf/extra/httpd-vhosts.co...

5,658
Gii การใช้ Gii Generator สำหรับ Basic Template

Gii Generator เป็นเครื่องมือที่มีความสำคัญสำหรับ Yii Frameworkซึ่งเป็นเครื่องมือที่ช่วยในการสร้าง Code ให้สามารถพัฒนา Web Applicationได้อย่างรวดเร็วมากยิ่งขึ้นภายใต้ธรรมเนียมของ Yii Framework การเข้าใช้งาน Gii Generator นั้นสามารถเรียกจาก URL web/index.php?r=giiสำหรับการติดตั้งแบบ Basic โดยจะ...

11,335
แม่แบบ(Application Template) ใน Yii2

สำหรับ Yii2จะมี Web Application Templateอยู่ 2 แบบ นั่นคือ Yii2 Basicใช้สำหรับสร้าง Web Application ทั่วไป และ Yii2 Advancedใช้สำหรับสร้าง Web Application ที่มีความซับซ้อนมากกว่า โดยข้อแตกต่างระหว่าง Yii2 Basic และ Yii2 Advanced นั้นคือการแบ่งระบบของ Yii2 Advanced นั้นจะแบ่งส่วน backendและ front...

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

ก่อนการติดตั้ง Yii Framework 2 นั้นต้องทำการติดตั้งโปรแกรมที่เกี่ยวข้อง เนื่องจากเทคโนโลยีที่ใช้ใน Yii Framework 2 นั้นเป็นเทคโนโลยีใหม่ ซึ่งใช้การติดตั้งผ่านโปรแกรม Composer ตามมาตรฐาน PSR ซึ่งต้องเตรียมเครื่องมือดังนี้ Composer โปรแกรม Composer สามารถดาวน์โหลดได้จากเว็บไซต์ http...

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

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

8,638
Yii Framework คืออะไร

Yii Framework คือ PHP Framework และ PHP Frameork คือ โปรแกรมที่ถูกเขียนขึ้นโดยใช้ภาษา PHP ที่เขียนขึ้นบนการออกแบบซอร์ฟแวร์ในลักษณะ Model, View และ Controller (MVC) ซึ่งเขียนขึ้นในรูปแบบของ Object Oriented Programming (OOP) ความหมายและที่มา Yii หรือ ยี่ ย่อมาจาก Yes It I...

26,718
สารบัญคู่มือ Yii Framework 2 (Yii2)

  พื้นฐาน Yii Framework คืออะไร หลักการทำงานของ Yii Framework 2 Request Life Circle ทำความเข้าใจ MVC ใน Yii Framework 2 ทำความเข้าใจเส้นทาง (Routing) ใน Yii Framework 2 แม่แบบ(Application Template) ใน Yii2 การเตรียมเครื่องมือก่อนการติดตั้ง Yii Framework 2 (Yii2) การติดตั้...

45,657