vimtip : การใช้งานมาโครใน vim

เราสามารถลำดับของคำสั่งที่เราพิมพ์เก็บไว้ในมาโคร เพื่อเรียกใช้ซ้ำได้ โดยมีลำดับของการเรียกใช้ดังนี้

  • กด [ESC] เข้าสู่โหมด normal
  • กด [q] ตามด้วย [a] เพื่อเริ่มบันทึกลำดับคำสั่งใน รีจิสเตอร์ a (สามารถเรียกใช้รีจิสเตอร์ a – z )
  • พิมพ์ลำดับคำสั่งที่ต้องการบันทึก
  •  กด [q] เพื่อหยุดการบันทึก
  • พิมพ์  [@] ตามด้วย [a] เพื่อเรียกใช้มาโครที่เก็บใน รีจิสเตอร์ a

หมายเหตุ เครื่องหมาย [ ] หมายถึงปุ่มในคีย์บอร์ด

ตัวอย่างการบันทึกและเรียกใช้งานมาโคร

กรณีศึกษาแรก อันนี้ผมมีชุดข้อมูล 1 บรรทัดในรูปแบบนี้

1,01A001,528056.975248 1668894.976562,528053.852117 1668891.853430,528053.852117 1668891.853430,528146.921435 1668904.970582,528073.840158 1668770.675929,528067.593895 1668750.063261,528010.128276 1668711.336431,527912.061948 1668767.552798,528056.975248 1668894.976562

Read more

Advertisements

vimtip : การเพิ่ม วันที่ ใน vim

บ่อยครั้งที่เราพิมพ์บันทึก หรือโน๊ตลงไปในโค๊ดของเราแล้วเราต้องการใส่วันที่ลงไป ง่ายๆ คือดูปฏิทินแล้วพิมพ์ตาม แต่ใน vim เราสามารถใช้คำสั่งเพื่อดึงวันที่ปัจจุบันมาใส่ลงไปได้ ดังนี้

ใน windows

  • กด [ESC] เพื่อเข้าสู่โหมด normal
  • พิมพ์  :r!date /t

ใน linux

  • กด [ESC] เพื่อเข้าสู่โหมด normal
  • พิมพ์  r!date

แก้ปัญหา ThaiPDF : Function set_magic_quotes_runtime() is deprecated

ประมาณบรรทัด  770 แก้
 $mqr=get_magic_quotes_runtime();
  set_magic_quotes_runtime(0);
เป็น
if (version_compare(PHP_VERSION, '5.3.0', '<')) { 
      $mqr=get_magic_quotes_runtime(); 
      set_magic_quotes_runtime(0); 
}

จากนั้นตรงบรรทัดไหนที่มี set_magic_quotes ให้เพิ่ม 
if (version_compare(PHP_VERSION, '5.3.0', '<')) 
เป็นเงื่อนไขครอบไว้ทุกตัว

แหล่งข้อมูลเพิ่มเติม
http://stackoverflow.com/questions/2217955/how-can-i-replace-the-deprecated-set-magic-quotes-runtime-in-php

การแก้ปัญหา “Notice: Undefined variable” และ “Notice: Undefined index”

ในบางครั้งที่เราเรียกใช้ตัวแปรใน PHP ที่ยังไม่กำหนดค่า หรืออ่านข้อมูลจากฐานข้อมูลที่เป็นค่า NULL นั้น PHP จะแสดงข้อความ

“Notice: Undefined variable”

หรือ

“Notice: Undefined index”

ในกรณีนี้ให้เราตรวจสอบค่าก่อนโดยใช้ฟังก์ชั่น isset( )  ก่อนเรียกใช้งานตัวแปรดังตัวอย่าง


$phone = isset( $objResult['PHONE'] ) ? $objResult['PHONE'] : " " ;
$email = isset($objResult['EMAIL']) ? $objResult['EMAIL'] : " " ;

ตัวอย่างด้านบนเป็นการตรวจสอบว่า ค่าตัวแปรที่อ่านจากฐานข้อมูล ฟิลด์ที่ชื่อ PHONE และ EMAIL นั้นมีค่าหรือไม่ถ้ามีจึงเอาค่าที่อ่านได้กำหนดให้กับตัวแปร แต่ถ้าไม่มีให้กำหนดเป็นค่าว่าง

การสร้างไฟล์ helper เพิ่มเติมใน CodeIgniter

ไฟล์ helper ใน CodeIgniter นั้นคือ PHP ไฟล์ที่มีฟังก์ชั่นหลายๆ ตัว ไม่ได้ระบุเป็นคลาส

เวลาสร้างเราควรเช็คว่ามีฟังก์ชั่นดังกล่าวถูกโหลดไว้หรือยัง

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

if ( ! function_exists('test_method'))
{
    function test_method($var = '')
    {
        return $var;
    }   
}

เซฟไฟล์ดังกล่าวได้ที่  application/helpers/  พร้อมตั้งชื่อใหม่ตามที่เราต้องการ ตัวอย่างนี้ตั้งชื่อว่า “new_helper.php”

บรรทัดแรกเป็นการเช็คว่ามันจะไม่ถูกเรียกใช้งานด้วยการ include เข้ามาและรันนอกเหนือสโคปของ CodeIgniter

สามารถเรียกใช้ได้ใน controller, model หรือ view  ดังตัวอย่าง

$this->load->helper('new_helper');


echo test_method('Hello World');

ถ้าเราใช้ helper นี้มากๆ ในหลายๆ ที่ เราควรจะกำหนดให้มันโหลดอัตโนมัติโดยเพิ่มไว้ที่ไฟล์ autoload

$autoload['helper'] = array('new_helper');