แนวทางและข้อปฏิบัติในการเขียน PHP Framework แบบ MVC (กรณีศึกษา Yii Framework 2) [Models] Models เป็นศูนย์รวมเกี่ยวกับข้อมูลของระบบ มีกฎตรวจสอบความถูกต้อง และตรรกะเกี่ยวกับระบบของเรา ใช้สำหรับควบคุมและการทำงานของข้อมูลต่างๆ แน่นอนส่วนใหญ่แล้ว Models โค้ดมักเยอะกว่า Controllers มีแนวทางการเขียน ดังนี้ 1. ควรประกอบไปด้วย attributes หรือคุณลักษณะของข้อมูล 2. มีส่วนในการตรวจสอบความถูกต้องของข้อมูล 3. ประกอบไปด้วย method ที่เกี่ยวกับ business logic 4. ไม่มีการเขียนเกี่ยวกับ request, session 5. ไม่มีการเขียนส่วนแสดงผล html แน่นอนให้ไปเขียนที่ views แทน 6. หลีกเลี่ยงการมีหลาย scenarios ใน 1 Models …
20 แนวทางการเขียน JavaScript ที่ดี
1. ใช้เครื่องหมาย === และ !== แทนการใช้ == และ != เมื่อมีการเปรียบเทียบเสมอ 2. ปิดท้ายคำสั่งด้วยเครื่องหมาย ; ทุกครั้ง 3. ใช้ JSLint (http://www.jslint.com) ในการหาตรวจสอบคุณภาพโค้ด และตรวจดู errors ต่างๆ 4. ถ้ามีการเปิด blocks ของโค้ด ให้เขียนวงเล็บปีกกาในบรรทัดเดียวกัน เช่น if (findSite === ‘codingthailand.com’) { console.log(‘free programming courses!!’); } 5. การประกาศตัวแปร (Variables) ให้ประกาศบรรทัดแรกทุกครั้งโดยเฉพาะฟังก์ชันเพื่อป้องกันปัญหาเรื่อง global variable เช่น function showSkills() { var yourSkill =…
6 เทคนิคการเขียนคำสั่ง PHP ให้ทำงานเร็วขึ้น
1. ใช้เครื่องหมายคอมม่า (,) แทนเครื่องหมายจุด (.) ในการเชื่อมต่อ string เช่น <?php echo “สวัสดี “.”ชาวไทย. “.”สบาย “.”ดีไหม?”; //ช้า echo “สวัสดี “,”ชาวไทย. “,”สบาย “,”ดีไหม?”; //เร็วขึ้น 2. เมื่อต้องการแสดงตัวแปรให้ใช้เครื่องหมาย Double Quotes ครอบไว้เร็วกว่า เช่น <?php $name = “Akenarin Komkoon”; echo ‘สวัสดี ‘.$name; //ช้า echo “สวัสดี $name”; //เร็วขึ้น 3. ถ้าแสดงผลเฉพาะ string อย่างเดียวไม่มีตัวแปรข้างใน ใช้ single quotes ( ‘ ‘…
3 แนวทางง่ายๆ เขียน PHP ให้ปลอดภัย แค่ใส่ใจกับอินพุต
อย่าเชื่อ!! ว่าข้อมูลที่รับมาจากแหล่งที่เราควบคุมไม่ได้ ไม่ว่าจะเป็น $_GET,$_POST,$_REQUEST,$_COOKIE,$argv,file_get_contents(),Remote databases,Remote APIs และ ข้อมูลทุกอย่างที่มาจาก Client ว่าจะปลอดภัยครับ เราควรต้องกรอง และคอยตรวจสอบความถูกต้องของข้อมูลเสมอ ดังนี้ ควรกรองข้อมูลอักขระพิเศษต่างๆ จาก HTML ด้วย เช่น การใช้ฟังก์ชัน htmlentities() ตัวอย่าง <?php $input = ‘<p><script>alert(“ยินดีด้วยคุณถูกรางวัลที่ 1!”);</script></p>’; echo htmlentities($input, ENT_QUOTES, ‘UTF-8’); ?> ฟังก์ชัน htmlentities() จะช่วยให้เรากรองและแปลง HTML ให้กลายเป็น string ที่ปลอดภัยครับ หรือใครอยากลองเล่น Html Purifier Libray ตามไปได้ที่ http://htmlpurifier.org ถ้ารับข้อมูล input จาก user และมีการกรอกข้อมูล…
10 ข้อควรรู้ เขียน PHP ให้ถูกต้องและตรงตามมาตรฐาน
หลายคนที่เขียน PHP อยู่ตอนนี้ รวมถึงตัวผมด้วย อาจยังเขียน php ไม่ถูกต้องตามมาตรฐานนัก อาจติดมาจากภาษาอื่นๆ หรือเขียนเองคนเดียว ถึงแม้ไม่ errors ทำงานได้ปกติ แต่เมื่อไหร่ที่เราต้องทำงานร่วมกับคนอื่น ผมว่ามีปัญหาแน่นอน ว่าแล้วก็มาฝึกเขียน PHP ให้ตรงตามมาตรฐานกันดีกว่าครับ 1. ไฟล์ PHP ต้องเปิดด้วยคำสั่ง <?php และ <?= เท่านั้น 2. ไฟล์ต้องมีการเข้ารหัสภาษาเป็น UTF-8 without BOM 3. การตั้งชื่อ Class และ Namespace ควรกำหนดให้เป็น StudlyCaps เช่น ConnectDatabase 4. การตั้งชื่อ Methods ควรกำหนดเป็นรูปแบบเป็น camelCase เช่น goDB() 5. เมื่อมีการเยื้องโค้ดต้องไม่ใช้ tabs แต่ให้เคาะช่องว่าง…
แนวทางเขียน HTML 5 ที่ดี
**HTML 5** ได้ทำการปรับปรุงภาษา HTML ครั้งล่าสุดเพื่อเพิ่มอิลิเมนต์ในด้านภาษาและฟีเจอร์ใหม่ๆ พร้อมกับปรับปรุงฟีเจอร์เดิมที่มีอยู่แล้ว รวมถึง API ต่างๆ มากมายให้เราเลือกใช้ สำหรับแนวทางที่เราควรพิจารณาและเขียนโค้ด HTML 5 มี 5 ข้อดังนี้ 1. ใช้ตัวอักษรตัวเล็กกับทุกอิลิเมนต์และแอตทริบิวต์ 2. แม้ว่าบางอิลิเมนต์จะไม่จำเป็นต้องใส่แท็กปิด ก็ควรจะปิดถ้ามีเนื้อหาอยู่ข้างใน เช่น <p>hello</p> 3. บางแอตทริบิวต์แม้ว่าเราสามารถละไม่ใส่เครื่องหมายคำพูด แต่ก็ควรจะใส่เครื่องหมายคำพูดเสมอเพื่อความสอดคล้องกัน 4. ควรละไม่ใส่เครื่องหมายแสลช (/) ที่ใช้ปิดอิลิเมนต์ที่ไม่มีเนื้อหา เช่น <input type=”text” name=”user”> 5. หลีกเลี่ยงการกำหนดค่าที่ซ้ำซ้อนสำหรับแอตทริบิวต์แบบบูลีน เช่น ให้ใช้ input type=”checkbox” checked> แทนที่จะใช้ <input type=”checkbox” checked=”checked”> 5 ข้อที่ว่ามาข้างต้นอาจไม่ได้เป็นสากล แต่จะทำให้โค้ดของเราดูสะอาด เป็นระเบียบ ง่ายต่อการอ่าน…
3 ข้อแนะนำสำหรับโปรแกรมเมอร์มือใหม่
1. พิมพ์ด้วยมือของคุณเอง เพราะการพิมพ์จะทำให้คุณเกิดทักษะมากขึ้น เมื่อมีทักษะมากขึ้นจะทำให้การเขียนโปรแกรมได้ดีและเร็วขึ้น 2. ข้อความ error เกิดขึ้นได้เสมอและมีสาเหตุ ไม่ใช่อยู่ดีๆมันจะเกิดขึ้นมาเอง ตรวจสอบให้ดีว่าพิมพ์ถูกต้องหรือไม่ แก้ไขข้อผิดพลาดอย่างมีเหตุผล เมื่อเกิด error 1,000 ครั้ง แสดงว่าคุณรู้วิธีแก้ error ใหม่ๆ เพิ่มอีก 1,000 วิธี 3. อ่านหนังสือหลายๆเล่ม เพราะแต่ละเล่มเขียนจากผู้เขียนคนละคนกัน มีประสบการณ์แตกต่างกัน แม้เรื่องเดียวกันยังมีการยกตัวอย่างไม่เหมือนกัน มันจะทำให้คุณได้ไอเดียใหม่ๆ แนะนำให้อ่านทั้งภาษาไทยและอังกฤษ ข้อคิด “ความผิดพลาดของคนส่วนใหญ่ คือ เขาไม่เข้าใจว่าความสำเร็จนั้นเกิดจากการพยายามทีละเล็กทีละน้อย และมันไม่มีทางลัด” Views: 437
12 ข้อแนะนำการเขียน CSS ที่ดีสำหรับมือใหม่
1. ไม่เขียนคำสั่งให้ซ้ำซ้อน ควรแยกคำสั่งให้อ่านง่ายในแต่ละบรรทัด 2. เขียนและตั้งชื่อให้สื่อความหมาย เช่น การตั้งชื่อคลาสต่างๆให้ดูแล้วรู้เลยว่าเอาไว้ทำอะไร 3. ใช้การ Reset CSS เพราะ reset css จะช่วยลดความไม่เข้ากันของแต่ละ Browsers ได้ 4. ในไฟล์ css ควรออกแบบจากบนลงล่างให้สอดคล้องกับโครงสร้างหน้าเว็บที่เป็น HTML 5. ควรรวม หรือจัดกลุ่ม elements html ที่มีค่าเหมือนๆกันไว้ด้วยกัน เช่น h1,h2,h3 { font-size: 20px; color: red; } 6. ควรออกแบบและเขียนโครงสร้าง HTML ก่อน ค่อยสร้างไฟล์ CSS ทีหลัง 7. ใช้ DOCTYPE ของเอกสาร HTML ให้ถูกต้อง เช่น…
3 ขั้นตอน ง่ายๆ config XAMPP ให้สามารถเข้าถึงจากเครื่องอื่นได้
1. เปิดไฟล์ http-xampp.conf ขึ้นมาโดยเข้าไปที่ C:\xampp\apache\conf\extra ครับ 2. เมื่อเปิดไฟล์แล้ว เลื่อนลงมาล่างสุด ในส่วนของ LocationMatch เลือกตั้งค่าได้ดังนี้ 2.1 ถ้าอยากให้เข้าถึงได้จากทุกเครื่องให้ config ดังนี้ <LocationMatch “^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))”> Allow from all #Require local ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </LocationMatch> 2.2 แต่ถ้าอยากให้สามารถเข้าถึงได้เฉพาะบางไอพี หรือเครื่อง ก็ให้ config ดังนี้ <LocationMatch “^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))”> Order deny,allow Deny from all Allow from ::1 127.0.0.0/8 192.168.1.3 192.168.1.4 #ไอพีเครื่องในเครือข่ายที่อนุญาตให้พิมพ์เว้นวรรคได้ครับ #Require local ErrorDocument…
สาระน่ารู้เกี่ยวกับ Angular 2 เรื่อง Pipes
Pipes ใน Angular 2 มีไว้สำหรับ transform, filter หรือไว้จัดรูปแบบข้อมูลต่างๆ เราสามารถแทรก | เข้าไปใน html ได้เลย 1. uppercase มีไว้แปลงตัวอักษรให้เป็นตัวพิมพ์ใหญ่ทั้งหมด <p>{{ ‘Coding Thailand’ | uppercase }}</p> <!– ผลลัพธ์ คือ CODING THAILAND –> 2. lowercase มีไว้แปลงตัวอักษรให้เป็นตัวพิมพ์เล็กทั้งหมด <p>{{ ‘Coding Thailand’ | lowercase }}</p> <!– ผลลัพธ์ คือ coding thailand –> 3. number ใช้สำหรับจัดรูปแบบของตัวเลขต่างๆ เช่น <p>{{…