คู่มือฉบับย่อสำหรับ PHP ในปี 2019

บทนำ

PHP คืออะไร

PHP (Hypertext Preprocessor) เป็นภาษาสคริปต์อเนกประสงค์ที่ให้ผู้ใช้สามารถสร้างแอพพลิเคชั่นได้มากมายโดยเฉพาะการพัฒนาเว็บฝั่งเซิร์ฟเวอร์ คุณสามารถใช้ PHP สำหรับสิ่งต่อไปนี้:

  • สร้างเว็บไซต์แบบไดนามิกเว็บแอปพลิเคชันรวมถึงบริการ API ของคุณเอง
  • โต้ตอบกับ API ของบุคคลที่สาม
  • ข้อมูลกระบวนการ (XML, HTML DOM และอื่น ๆ )
  • จัดการกับฐานข้อมูล (PHP รองรับ MySQL / MariaDB, SQLite, MongoDB และอื่น ๆ !)

ต้องบอกว่าข้อได้เปรียบที่ยิ่งใหญ่สำหรับ PHP คือมันเป็นภาษาที่พิมพ์อย่างหลวม ๆ คุณไม่ต้องกังวลกับการประกาศประเภทที่เฉพาะเจาะจง (int) $variable = 0;ตัวอย่างเช่นแทนที่จะพิมพ์คุณสามารถใช้$variable = 0;และ PHP จะตรวจจับประเภทตัวแปรโดยอัตโนมัติ

ข้อดีอื่น ๆ

นอกจากจะเป็นโอเพ่นซอร์สแล้ว PHP ยังเป็น:

  • ติดตั้งง่าย
  • หลายแพลตฟอร์ม (ทำงานบนระบบปฏิบัติการใด ๆ ที่ติดตั้งไว้)
  • เร็ว (การรวบรวมรหัสจะทำตามเวลาจริงเมื่อเทียบกับภาษาที่รวบรวมไว้ล่วงหน้าเช่น C #)
  • โอเพ่นซอร์ส

คู่มือนี้ครอบคลุมอะไรบ้าง?

คู่มือนี้จะครอบคลุม:

  • อนุสัญญา PHP
  • สร้าง "สวัสดีโลก!" หน้าและเครื่องคิดเลขอย่างง่าย
  • วิธีโต้ตอบและค้นหา API ของบุคคลที่สามเพื่อรับสภาพอากาศปัจจุบัน

เอกสารประกอบเพิ่มเติม

ถ้าคุณเคยได้รับหายไปและความจำเป็นที่จะหาวิธีการ / ฟังก์ชั่นเยี่ยมชมหน้าเอกสารประกอบของ PHP

สร้างโปรแกรมแรกของคุณ

การประชุม

ก่อนที่เราจะสร้างแอปพลิเคชันแรกของเราสิ่งสำคัญที่ควรทราบมีดังนี้:

  1. โค้ด PHP เสมอเริ่มต้นด้วยและมักจะสิ้นสุดด้วย<?php?>
  2. PHP error_logส่งข้อผิดพลาดไปยังไฟล์ที่เรียกว่า ตัวอย่างเช่นถ้าคุณพยายามที่จะเรียกฟังก์ชั่นที่ไม่มีอยู่คุณจะเห็นตามมาด้วยPHP Fatal error: Uncaught Error: Call to undefined function function_that_does_not_exist()
  3. PHP, เหมือนกับภาษาส่วนใหญ่, เป็นกรณี ๆ ไป ในคำอื่น ๆ$var! $Var=
  4. ในขณะที่ตัวแปร PHP ไม่ต้องการประเภทเฉพาะคุณอาจต้องส่ง (หรือเปลี่ยนประเภท) ซึ่งสามารถทำได้โดยการเลือกชนิดก่อนตัวแปร ตัวอย่าง: (int) $variable = ....

"สวัสดีชาวโลก!"

นี่คือส่วนพื้นฐานที่สุดของการสอน "สวัสดีโลก!" ส่วนมีจุดมุ่งหมายเพื่อสอนวิธีสร้างไฟล์ที่เหมาะสมเพื่อให้สามารถแยกวิเคราะห์ไฟล์ได้อย่างถูกต้อง ก่อนที่เราจะเริ่มต้นโปรดตรวจสอบให้แน่ใจว่าคุณมีเว็บเซิร์ฟเวอร์ที่ใช้งานได้พร้อมกับใช้งาน PHP อยู่ กวดวิชานี้จะถือว่าคุณกำลังใช้ Apache php-cliกำหนดค่าด้วย Vultr นำเสนอ PHP สแต็คจำนวนมาก (LAMP, LEMP) เป็นแอปพลิเคชันแบบคลิกเดียว เมื่อคุณพร้อมให้ทำตามขั้นตอนต่อไปนี้

สร้างไฟล์ชื่อ "test.php" ในไดเรกทอรีรากของเว็บเซิร์ฟเวอร์ของคุณ:

nano test.php

เติมด้วยรหัสต่อไปนี้:

<?php 
    $testString = "Hello, world!";
    print("Hello, world!<br/>"); // <br/> = HTML line break
    echo $testString;
?>

บันทึกและออก.

เมื่อคุณเยี่ยมชมtest.phpในเบราว์เซอร์ของคุณคุณจะเห็น:

Hello, world!  
Hello, world!

หมายเหตุ : ในเชิงสถาปัตยกรรมprint& echoต่างกัน ฟังก์ชั่น - ฉลาดพวกเขาจะเหมือนกัน

เครื่องคิดเลขง่าย ๆ

โปรแกรมนี้จะใช้สองอินพุตและเพิ่มเข้าด้วยกัน ส่วนนี้มีวัตถุประสงค์เพื่อสอนคุณเกี่ยวกับวิธีที่ PHP จัดการกับชนิดข้อมูล

สร้างไฟล์ใหม่ชื่อcalc.php:

nano calc.php

เติมด้วยรหัสต่อไปนี้:

<!DOCTYPE html>
<html>
    <head>
        <title>Calculator</title>
    </head>
    <body>
        <form method="POST" action="calc.php">
            <input type="number" name="firstNumber" placeholder="First #"/>
            <p>+</p>
            <input type="number" name="secondNumber" placeholder="Second #"/>
            <p>=</p>
            <input type="submit" value="Submit"/>
            <p>
                <?php
                    // The line below checks if there is a value present in both boxes.
                    if (isset($_POST['firstNumber']) && isset($_POST['secondNumber'])) { 
                        // The line below returns the sum of the two values
                        echo $_POST['firstNumber'] + $_POST['secondNumber'];
                    }
                ?>
            </p>
        </form>
    </body>
</html>

บันทึกและออก.

เมื่อคุณเยี่ยมชมcalc.phpคุณจะเห็นแบบฟอร์มที่มีลักษณะดังนี้:

คู่มือฉบับย่อสำหรับ PHP ในปี 2019

ป้อนหมายเลขที่คุณต้องการ คำตอบควรเป็นผลรวมของตัวเลขตัวแรกและตัวที่สอง

หมายเหตุ : นี่เป็นบล็อกรหัสพื้นฐานที่ไม่มีข้อผิดพลาดใด ๆ หากไม่กรอกทั้งตัวเลขทั้งสองจะป้อนข้อมูลเปล่า0แต่จะมีการส่งคำเตือน "ค่าที่ไม่ใช่ตัวเลข"

เครื่องมือตรวจสภาพอากาศอย่างง่าย

ตอนนี้เรามีพื้นฐานที่สุด (คณิตศาสตร์และตัวแปรง่าย ๆ ) เสร็จแล้วเราสามารถสร้างแอปพลิเคชันที่ดึงสภาพอากาศสำหรับเมืองใด ๆ

หมายเหตุ: เราจะใช้API สภาพอากาศของ Dark Skyเพื่อรับข้อมูลของเรา โปรดรับรหัส API ฟรีก่อนดำเนินการในขั้นตอนแรก

รับรหัส API ของคุณเมื่อคุณยืนยันอีเมลโดยคลิกที่ "คอนโซล" คุณจะเห็นสิ่งต่อไปนี้:

คู่มือฉบับย่อสำหรับ PHP ในปี 2019

ดำเนินการต่อในขั้นตอนถัดไปเมื่อคุณคัดลอกคีย์

สร้างไฟล์ใหม่ชื่อtemperature.php:

nano temperature.php

เติมด้วยรหัสต่อไปนี้:

<?php
    // Retreive weather data for a certain set of coordinates (43.766040, -79.366232 = Toronto, Canada); change "YOUR_API_KEY" to your own API key
    $json = file_get_contents("https://api.darksky.net/forecast/YOUR_API_KEY/43.766040,-79.366232?exclude=daily,hourly,minutely,flags,alerts");

    // Tell PHP to parse the data and convert the JSON into an indexed array
    $data = json_decode($json, true);

    // Get our temperature from the array
    $temperatureInF = $data["currently"]["temperature"];

    // Convert it into Celsius using the formula: (Fahrenheit - 32) * 5 / 9
    $rawTemperatureInC = ($temperatureInF - 32) * (5 / 9);
    $temperatureInC = round($rawTemperatureInC, 2);

    // Return temperature in both Celsius and Fahrenheit
    echo "<h1>";
    echo "It is currently: " . $temperatureInF . "F or " . $temperatureInC . "C.";
    echo "</h1>"
?>

เมื่อคุณบันทึกไฟล์และไปที่หน้าคุณจะเห็นบางสิ่งตามบรรทัดต่อไปนี้:

It is currently: 57.78F or 14.32C.

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

ข้อสรุป

ขอแสดงความยินดี - คุณได้ทำโปรแกรมพื้นฐานเสร็จแล้ว! ด้วยความรู้พื้นฐานเหล่านี้ลดลงและการอุทิศตนคุณควรจะสามารถสร้างอะไรได้บ้าง หากคุณเคยติดหรือความต้องการที่จะหาฟังก์ชั่นที่เฉพาะเจาะจงโปรดดูที่เอกสารของ PHP มันจะพิสูจน์ได้ว่ามีค่าเมื่อคุณค้นหาฟังก์ชั่นและเทคนิคใหม่ ๆ

แม้ว่าคู่มือเริ่มต้นใช้งานฉบับย่อจะไม่ครอบคลุมสิ่งใดในเชิงลึก แต่ควรให้แนวคิดทั่วไปเกี่ยวกับวิธีการทำงานของภาษา การฝึกฝนทำให้สมบูรณ์แบบ - คุณจะสบายใจขึ้นเมื่อคุณเขียนโค้ดใน PHP มากขึ้นเรื่อย ๆ



Leave a Comment

วิธีการติดตั้ง Snipe-IT บน Ubuntu 16.10

วิธีการติดตั้ง Snipe-IT บน Ubuntu 16.10

ใช้ระบบที่แตกต่างกันอย่างไร Snipe-IT เป็นเว็บแอปพลิเคชั่นฟรีและโอเพนซอร์สสำหรับการจัดการสินทรัพย์ด้านไอที มันถูกเขียนบนกรอบงาน Laravel 5.2 และการใช้งาน

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

Introduction LAMP เป็นคำย่อที่ย่อมาจาก Linux, Apache, MySQL และ PHP ซอฟต์แวร์นี้เป็นโซลูชันโอเพ่นซอร์สที่ได้รับความนิยมสูงสุดสำหรับการติดตั้ง o

วิธีติดตั้ง X-Cart 5 บน FreeBSD 12

วิธีติดตั้ง X-Cart 5 บน FreeBSD 12

ใช้ระบบที่แตกต่างกันอย่างไร X-Cart เป็นแพลตฟอร์มอีคอมเมิร์ซแบบโอเพ่นซอร์สที่มีความยืดหยุ่นสูงพร้อมคุณสมบัติและการผสานรวมมากมาย ซอร์สโค้ด X-Cart เป็นโฮสต์

วิธีการติดตั้งและกำหนดค่า PHP 7.2 บน Ubuntu 18.04

วิธีการติดตั้งและกำหนดค่า PHP 7.2 บน Ubuntu 18.04

PHP และแพ็คเกจที่เกี่ยวข้องเป็นส่วนประกอบที่ใช้บ่อยที่สุดเมื่อปรับใช้เว็บเซิร์ฟเวอร์ ในบทความนี้เราจะเรียนรู้วิธีการติดตั้ง PHP 7.2 บน Ubuntu 18.0

วิธีการติดตั้ง Apache, MySQL และ PHP บน Ubuntu 17.04

วิธีการติดตั้ง Apache, MySQL และ PHP บน Ubuntu 17.04

ในบทความนี้ฉันจะอธิบายวิธีสร้าง LAMP stack บน Ubuntu 17.04 หมายเหตุ: คุณจะต้องเข้าถึง sudo หรือ root สำหรับคำสั่งในบทความนี้ ผม

วิธีการติดตั้ง Cachet บน FreeBSD 11

วิธีการติดตั้ง Cachet บน FreeBSD 11

ใช้ระบบที่แตกต่างกันอย่างไร Cachet เป็นระบบหน้าสถานะโอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดสำหรับ Cachet นั้นโฮสต์บน GitHub ในคู่มือนี้คุณจะ

วิธีการติดตั้ง PyroCMS บน Debian 9

วิธีการติดตั้ง PyroCMS บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร PyroCMS เป็น CMS โอเพ่นซอร์สที่เขียนด้วย PHP รหัสที่มา PyroCMS โฮสต์บน GitHub ในคู่มือนี้ให้เดินผ่าน entir

วิธีการติดตั้ง OroCRM บน CentOS 7

วิธีการติดตั้ง OroCRM บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร OroCRM เป็นแอปพลิเคชัน Customer Relationship Manager (CRM) ที่ให้บริการฟรีและโอเพนซอร์สที่สร้างขึ้นบน OroPlatform OroPlatform เต็มแล้ว

วิธีการติดตั้ง Dotclear บน Debian 9 (Stretch)

วิธีการติดตั้ง Dotclear บน Debian 9 (Stretch)

ใช้ระบบที่แตกต่างกันอย่างไร Dotclear เป็นเครื่องมือเขียนบล็อกที่ง่ายมาก มันเป็นโอเพ่นซอร์สและใช้งานง่าย บทช่วยสอนนี้จะผ่านการติดตั้งใน

ติดตั้ง ImageMagick บน CentOS 6

ติดตั้ง ImageMagick บน CentOS 6

ImageMagick®เป็นชุดซอฟต์แวร์สำหรับสร้างแก้ไขเขียนหรือแปลงรูปภาพบิตแมป มันสามารถอ่านและเขียนภาพในหลากหลายรูปแบบ (มากกว่า 100) รวมอยู่ด้วย

วิธีติดตั้ง X-Cart 5 บน CentOS 8

วิธีติดตั้ง X-Cart 5 บน CentOS 8

ใช้ระบบที่แตกต่างกันอย่างไร X-Cart เป็นแพลตฟอร์มอีคอมเมิร์ซแบบโอเพ่นซอร์สที่มีความยืดหยุ่นสูงพร้อมคุณสมบัติและการผสานรวมมากมาย ซอร์สโค้ด X-Cart เป็นโฮสต์

ปรับใช้แอปพลิเคชัน PHP โดยใช้ Docker-compose

ปรับใช้แอปพลิเคชัน PHP โดยใช้ Docker-compose

แอปพลิเคชัน PHP มักประกอบด้วยเว็บเซิร์ฟเวอร์ระบบฐานข้อมูลเชิงสัมพันธ์และล่ามภาษาเอง ในบทช่วยสอนนี้เราจะเป็นผู้ใช้ประโยชน์

วิธีการติดตั้ง PyroCMS บน CentOS 7

วิธีการติดตั้ง PyroCMS บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร PyroCMS เป็น CMS โอเพ่นซอร์สที่เขียนด้วย PHP รหัสที่มา PyroCMS โฮสต์บน GitHub ในคู่มือนี้ให้เดินผ่าน entir

วิธีการติดตั้ง Apache, MySQL และ PHP บน Ubuntu

วิธีการติดตั้ง Apache, MySQL และ PHP บน Ubuntu

LAMP ประกอบด้วย Apache, MySQL, PHP และ Ubuntu คู่มือนี้เขียนขึ้นสำหรับ Ubuntu 14.04 ขั้นตอนที่หนึ่ง: ติดตั้ง Apache Apache เป็นซอฟต์แวร์โอเพ่นซอร์สฟรีสำหรับเรา

วิธีการติดตั้ง Zikula บน Ubuntu 16.04

วิธีการติดตั้ง Zikula บน Ubuntu 16.04

ใช้ระบบที่แตกต่างกันอย่างไร Introduction Zikula เป็นเว็บแอปพลิเคชั่นโอเพนซอร์ซที่เขียนด้วย PHP คุณสามารถออกแบบเว็บไซต์แบบโต้ตอบและแก้ไขได้

วิธีการติดตั้ง Vanilla Forum บน FreeBSD 12

วิธีการติดตั้ง Vanilla Forum บน FreeBSD 12

ใช้ระบบที่แตกต่างกันอย่างไร Vanilla เป็นฟอรัมการสนทนาทั่วไปที่เขียนด้วย PHP ซอร์สโค้ดของวานิลลานั้นโฮสต์บน Github คู่มือนี้จะเดินยอ

ดาวน์โหลดติดตั้งและใช้งานเครื่องมือแต่งเพลงบน Ubuntu 14.04

ดาวน์โหลดติดตั้งและใช้งานเครื่องมือแต่งเพลงบน Ubuntu 14.04

นักแต่งเพลงเป็นเครื่องมือการจัดการ PHP ที่เป็นที่นิยมอย่างมากสำหรับการพึ่งพาใช้ในการติดตั้งและอัปเดตให้ง่ายขึ้นสำหรับโครงการ นอกจากนี้ยังตรวจสอบสิ่งที่ othe

วิธีติดตั้ง X-Cart 5 บน Debian 10

วิธีติดตั้ง X-Cart 5 บน Debian 10

ใช้ระบบที่แตกต่างกันอย่างไร X-Cart เป็นแพลตฟอร์มอีคอมเมิร์ซแบบโอเพ่นซอร์สที่มีความยืดหยุ่นสูงพร้อมคุณสมบัติและการผสานรวมมากมาย ซอร์สโค้ด X-Cart เป็นโฮสต์

วิธีการติดตั้ง PHP 7.3 บนเว็บเซิร์ฟเวอร์ Arch Linux

วิธีการติดตั้ง PHP 7.3 บนเว็บเซิร์ฟเวอร์ Arch Linux

สิ่งที่จำเป็นต้องมีเซิร์ฟเวอร์ Vultr ทำงานล่าสุด Arch Linux (ดูบทความนี้) เว็บเซิร์ฟเวอร์ที่ใช้งานไม่ว่าจะเป็นการเข้าถึง Apache หรือ Nginx Sudo ต้องการคำสั่ง

วิธีการติดตั้ง XCache บน Ubuntu 15.04

วิธีการติดตั้ง XCache บน Ubuntu 15.04

XCache เป็นโอเพนซอร์ส cacher สำหรับ PHP ในบทช่วยสอนนี้อธิบายวิธีการติดตั้งและกำหนดค่า XCache ฉันคิดว่าคุณมีบริการบนเว็บอยู่แล้ว

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true