วิธีการใช้งานฟังชั่น serialize() กับ unserialize() ใน phpbb

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
Ittichai_chupol
PHP VIP Members
PHP VIP Members
Posts: 2790
Joined: 19/09/2018 10:33 am

วิธีการใช้งานฟังชั่น serialize() กับ unserialize() ใน phpbb

Postby Ittichai_chupol » 17/09/2019 5:18 pm

- เว็บบอร์ด phpbb นั้นเป็บเว็บบอร์ดที่มี code และ ฟั่งชั่น ตางๆ ที่สนับสนุนการใช้งาน ในส่วนต่างๆของเว็บ มาให้เป้นพื้นฐาน ตั้งแต่แรกติดตั้งอยู่ นั้นจึงทำให้ผุ้พัฒนา ไม่ต้องเสียเวลากับการที่จะต้องสร้าง ส่วนต่างขึ้นมาเองทั้งหมด เพียงแค่ปรับปรุง หรือ เสริมเพียงเเค่บางส่วนเข้าไปเท่านั้น ก็ทำให้เว็บบอร์ด สามารถทำงาน ตามที่เราต้องการ โดยวิธีการที่เราจะทำให้เว็บบอร์ด phpbb สามารถทำในส่วนที่ไม่ได้มีมากับตอนติดตั้งครั่งแรกนั้น คือการส่ร้าง ส่วนขยาย(Extension)

ส่วนขยาย(Extension) จะทำให้ เว็บบอร์ด phpbb มีประสิทธิภาพ การทำงานที่ดีขึ้น โดยสามารถ ปรับเพิ่มเพิ่มแก้ไข้ ในส่วนต่างๆของ เว็บบอร์ด phpbb ได้ตามอิสระ ซึ่งในขั้นตอนพัฒนา ไม่จำเป้นที่จะต้องเข้าไปยุ่งเกี่ยว Code เดิมที่มีอยู่(แต่อาจจะมีบางครั่งที่ต้องเข้าไปแก้ไข้ เพิ่มเติม) นั้นก็ช่วยเราไม่ต้องกังวลกับการผิดพลาดที่อาจจะเกิดขึ้นได้เพราะหาก Code ของ เว็บบอร์ด phpbb เกิดความผิดพลาดก้อาจจะกระทบต่อการทำงานส่วนอื่นๆ ด้วย โดยการสร้าง Extension นั้นก็มีวิธีการพัฒนาที่ไม่ซับซ่อนมาก เพียงแต่จะมีเพียงการทำงานที่จะต้องเป็นไปตามที่เราต้องการเท่านั้น ที่จะยากนิดหน่อย

- และทั้งนี้บางครั่ง ใน phpbb นั้นก็มีการใช้งานฟังชั่นที่เป็นพื้นฐานของ php ก็สามารถนำมาใช้งานได้ด้วยเช่น กัน ดังตัวอย่างที่กล่าวง นั้น คือ serialize() กับ unserialize()

โดยทั้ง 2 จะทำงานร่วมกัน ดังนี้ คือ

1.serialize() จะแปลง Array มาเป็o JSON

Code: Select all

$serialized_data = serialize(Array
    (
    'poster_id' => "49",
    'topic_title' => "ทดสอบเเจ้งเตือน",
    'post_subject' => " Re: ทดสอบเเจ้งเตือน",
    'post_username' => "",
    'forum_id' => "2",
    'forum_name' => "Your first forum",
    'responders' => Array
        (
        '0' => Array
            (
            'poster_id' => "50",
            'username' => "",
        ),
          '1' => Array
            (
            'poster_id' => "51",
            'username' => "",
        )
    ),
        )
);

ผลลัพธ์

Code: Select all

a:7:{s:9:"poster_id";s:2:"49";s:11:"topic_title";s:45:"ทดสอบเเจ้งเตือน";s:12:"post_subject";s:50:" Re: ทดสอบเเจ้งเตือน";s:13:"post_username";s:0:"";s:8:"forum_id";s:1:"2";s:10:"forum_name";s:16:"Your first forum";s:10:"responders";a:2:{i:0;a:2:{s:9:"poster_id";s:2:"50";s:8:"username";s:0:"";}i:1;a:2:{s:9:"poster_id";s:2:"51";s:8:"username";s:0:"";}}}


2.unserialize() จะแปลง JSON มาเป็o Array
โดยวิธีการใช้งานดังนี้

Code: Select all

$serialized = unserialize('a:7:{s:9:"poster_id";i:49;s:11:"topic_title";s:45:"ทดสอบเเจ้งเตือน";s:12:"post_subject";s:49:"Re: ทดสอบเเจ้งเตือน";s:13:"post_username";s:0:"";s:8:"forum_id";i:2;s:10:"forum_name";s:16:"Your first forum";s:10:"responders";a:1:{i:0;a:2:{s:9:"poster_id";i:50;s:8:"username";s:0:"";}}}');


ผลลัพธ์

Code: Select all

Array ( [poster_id] => 49 [topic_title] => ทดสอบเเจ้งเตือน [post_subject] => Re: ทดสอบเเจ้งเตือน [post_username] => [forum_id] => 2 [forum_name] => Your first forum [responders] => Array ( [0] => Array ( [poster_id] => 50 [username] => ) [1] => Array ( [poster_id] => 51 [username] => ) ) )

Return to “PHP Knowledge”

Who is online

Users browsing this forum: No registered users and 15 guests