ข้ามไปที่เนื้อหาหลัก

บทความ

การใช้งาน คำสั่ง file_exists() อย่างเข้าใจ

นี่อาจจะไม่เรื่องใหม่อะไรสำหรับ Professional ทั้งหลาย แต่ว่าสำหรับผมที่เข้าใจ และใช้งานอย่างผิดๆ มาตลอด จนบางทีก็เข้าใจว่า เราเขียนผิด หรือ คำสั่งมันใช้งานไม่ได้ วันนี้จะขอมาพูดถึงเรื่องของคำสั่ง PHP ที่ชื่อ file_exists เป็นคำสั่งที่ใช้สำหรับตรวจสอบไฟล์ว่ามีอยู่จริงหรือไม่? ตัวอย่างการใช้งานแบบผิดๆ ที่ผมใช้ก็คือ file_exists('/images/news/helloworld.jpg'); ผลลัพธ์ที่ได้คือ FALSE ถึงแม้ว้าจะมีไฟล์นั้นอยู่จริงก็ตาม ซึ่งในความเป็นจริงแล้ว การใช้งานที่ถูกต้องคือ file_exists($_SERVER['DOCUMENT_ROOT'] . '/images/news/helloworld.jpg'); จากตัวอย่างที่ถูกต้อง ทำให้เข้าใจแบบง่ายๆ ว่าคำสั่ง file_exists นั้นใช้สำหรับเช็ค path ในโฟลเดอร์จริงๆ เท่านั้น ไม่สามารถเช็คจาก URL ได้ อันนี้เป็นเรื่องง่ายๆ ที่ผมเข้าใจผิดมาอยู่นานเลยทีเดียวเลยต้องขอลงบันทึกเตือนตัวเองไว้อีกที :3

ข้อควรระวังการตั้งชื่อไฟล์ สำหรับการใช้งานบน Hosting

หลายๆ คน ปกติมักจะทำงานบน Localhost ซึ่งเป็นเรื่องปกติอยู่แล้ว แต่ปัญหาที่มักจะพบบ่อยๆ ในขั้นตอนปิดงาน คือ การอัพงานเราขึ้น Hosting ซึ่งบางครั้งหากเราทำงานบน Win OS ก็มักจะไม่ทราบถึง Case Insensitive ของพวก OS ที่เป็น unix ยกตัวอย่างง่ายๆ Linux ล่าสุดงานที่ผมพัฒนาผ่าน Yii Framework รันบนเครื่องก็ปกติ พอเอาขึ้น Host เกิดปัญหาทันที ปัญหาที่พบก็ คือ เรื่องการตั้งชื่อไฟล์ และ การเรียกหา ไฟล์ ซึ่งก็คงไม่พ้น ตัวเล็ก ตัวใหญ่ ที่ไม่เหมือนกัน ดังนั้นควรตั้งชื่อไฟล์ และเรียกหาให้ถูกต้องเป๊ะๆ ไม่งั้นจะต้องมานั่งแก้ทีหลัง ถ้าหากระบบใหญ่มากๆ ก็จะแก้ลำบากนะครับ

ORM คืออะไร มีประโยชน์อย่างไร?

ORM คืออะไร? Object Relational Mapping (ORM) เกิดมาจากวันที่การเขียนโปรแกรมเดินทางมาถึงช่วงที่ OOP เป็นที่นิยม แต่การ Query ข้อมูลจากฐานข้อมูลยังไม่อยู่ในรูปแบบ OOP ทำให้เกิดความยุ่งยากกว่าที่ควรจะเป็นและเกิดความสงสัยว่า การดึงข้อมูลจากฐานข้อมูลจะอยู่ในรูปแบบ OOP ได้หรือไม่? ผลพวงจากความพยายาม จึงกำเนิด ORM กับ DBMS ทำให้ภาษาที่เราเขียนนั้นสามารถทำการ mapping (ลอกแบบ) โดยสร้างชุดคำสั่งในการเรียกใช้งานรูปแบบซ้ำๆ ซึ่งประโยชน์ที่ได้คือลดการเขียนโค้ดลง ตัวอย่างที่เห็นชัดเจน เช่น การ insert, update, delete // Normal Query $sql = "SELECT * FROM tbl_users"; $query = mysql_query($sql); $result = mysql_fetch_assoc($query); // ORM Query Ex. Codeignitor $data = array('username' => 'username1', 'password' => 'password1'); $this->db->insert('users', $data); Ex. Yii $model = new Users; $model->username = 'username1'; $model->password = 'password1' จะเห็นว่า การเขียนในรูปแบบ ORM นั้น แทบจะไม่ต้องเขียน Synta...

การใช้ CGridView ในการทำ Data List สำหรับแสดงรายการข้อมูลจาก Database

บ่อยครั้งที่ต้องเขียนการแสดงรายการข้อมูลต่างๆ รายชื่อผู้ใช้ระบบ, รายชื่อสินค้า, รายชื่อประเภทสินค้า ฯลฯ ในรูปแบบซ้ำๆ เดิมๆ ซึ่งบางครั้งก็มีส่วนของการค้นหาข้อมูล หรือ เงื่อนไขการกรองข้อมูล ที่ไม่เหมือนกัน ยกตัวอย่าง เช่น การกรองรายชื่อผู้ใช้ที่ยืนยันอีเมล สำหรับ Yii ได้เพิ่มเครื่องมือในการเรียกข้อมูลมาแสดงแบบง่ายๆ ด้วย CGridview ตัวอย่างที่ 1 //=============================================================== // Controller //=============================================================== // ดึงข้อมูลผู้ใช้จากฐานข้อมูล $model = new User(); // เอาข้อมูลที่ Query มาอัดลง CActiveDataProvider $dataProvider = new CActiveDataProvider('Post', array( 'pagination'=>array( 'pageSize' => 10, ), )); // ส่งตัวแปรไปยังส่วนของ View $this->render('user', array('dataProvider ' => $dataProvider )) //=============================================================== // View //==============================================================...

การตั้งค่า Default Controller สำหรับ Yii Framework

เวลาที่คุณติดตั้ง Yii เสร็จแล้วต้องการตั้งค่า default สำหรับเรียก controller ที่เราต้องการ ทำได้ง่ายๆ โดยการไปเพิ่ม (ง่ายๆ แบบนี้ ผมงมอยู่หลาย ชม. เลยล่ะครับ 555+++) 'defaultController' => 'you_controller_name', เพิ่มลงในไฟล์ main.config อยู่ที่ protected/config/main.php แทรกเข้าไปใน array config ตรงไหนก็ได้เพียงเท่านี้ เวลาที่เข้าเว็บไซต์ จะวิ่งไปหา Controller ที่เราตั้งค่า Default ไว้

การเรียกใช้งาน Yii Shell บน PC

Yiic คือ CMD ที่ใช้สำหรับสร้าง Controller / Model / View หรือ CRUD ได้ผ่าน command line ของระบบปฎิบัติการวินโดวส์ วิธีการใช้งานให้เปิด cmd จากนั้นเข้าไปยัง Folder ของ Application ที่เราสร้าง ซึ่งหากท่านสังเกตจะพบว่า มีไฟล์ที่ชื่อ Yiic อยู่ในนั้นด้วย จากนั้นให้ใช้คำสั่งนี้ จะเป็นการเปิดเข้าใช้งาน Yii Shell เรียบร้อยแล้ว เราสามารถสร้าง Controller / Model / View ได้จากที่นี่เหมือนกัน จริงๆ แล้วอาจจะไม่ค่อยมีประโยชน์มากนัก แต่ในกรณีที่เราต้องทำงานกับ Server ที่ไม่มี Cpanel ก็ช่วยได้เยอะเลยนะครับ โดยที่เราไม่ต้องมานั่งเขียนเองใหม่ ให้เสียเวลา

ขั้นตอนการติดตั้ง Yii สำหรับสร้าง Web Application บน windows

ต้องบอกผมยังเป็นมือใหม่สำหรับ Framework Yii เป็นอย่างมาก และ Tutorials หรือ Guide ที่ครบถ้วนเหมือนอย่าง Codeigniter ก็มี แต่ไม่มากนัก ซึ่งสำหรับมือใหม่ Framework ต้องใช้เวลาค้นหานานพอสมควร ยิ่งถ้าคุณเริ่ม Framework ตัวแรกเป็น Codeigniter แล้วล่ะก็การมาจับ Yii ขั้นตอนการลง และวิธีใช้งานมันจะแปลกตาจนบางทีชวนให้คุณรู้สึกไม่คุ้นเคย ทั้งๆ ที่ความจริงแล้วก็ยังคงใช้หลักการ MVC เหมือนกัน ขั้นตอนการลง Yii ขอยกตัวอย่างบน Window นะครับ เพราะเห็นว่ามีน้อย และเข้าใจยาก ซึ่งจะลงผ่าน CMD (อาจจะต้องมีความรู้เรื่องการใช้เบื้องต้น)