ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์ProgrammingPHP performance เขียนยังไง ดีกว่ากันคะ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: PHP performance เขียนยังไง ดีกว่ากันคะ  (อ่าน 1622 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
djoser
คนรักเสียว
*

พลังน้ำใจ: 12
ออฟไลน์ ออฟไลน์

กระทู้: 152



ดูรายละเอียด
« เมื่อ: 26 เมษายน 2011, 10:49:02 »

หากเราเขียน PHP โดยแต่ละแนวดังนี้

1. เขียน มี HTML ทั่วๆ ไป พอต้องการค่าจาก PHP ก็ echo มา ฉะนั้น Code จะสลับกันไปสลับกันมาระหว่าง html และ php แต่ในความรู้สึกคือ ชอบแนวนี้ตรงที่ถ้า php return ค่าว่างมา หน้าเว็บเราก็ยังคง แสดงข้อมูลหรือต่างๆ ได้ตาม html ที่ครอบไว้

2. เขียนแนว PHP programming เต็มๆ คือ html ทั้งหมด ใส่ไว้ใน ค่า $html แล้วค่อย echo ทีเดียว เมื่อ query ค่าต่างๆ มารวมเป็นน่าเว็บได้แล้ว


แนวทางไหน มันจะทำให้การรัน script ดูมีประสิทธิภาพมากกว่ากันคะ อ่านการ optimize tuning แล้วก็ว่า การ echo ทีเดียวดีกว่า แต่การที่เราเขียน html ทั้งหน้า แล้วใช้ php เฉพาะจุดที่ต้องการ มันก็ดี

รบกวนแนะนำแนวทางด้วยค่ะ
ขอบคุณค่ะ Smiley
บันทึกการเข้า
gilbert
สมุนแก๊งเสียว
*

พลังน้ำใจ: 587
ออฟไลน์ ออฟไลน์

กระทู้: 713



ดูรายละเอียด
« ตอบ #1 เมื่อ: 26 เมษายน 2011, 11:00:51 »

คือถ้าเป็นภาษา jsp จะมีแนวทางการเขียนแบบ MVC  คือ
1. Model คือ ส่วนประมวณผล พวกคลาสต่างๆ
2. View คือ ส่วนแสดงผล จะเป็นโค้ HTML หรือ JSTL
3. Controllor คือ ส่วนที่รับ action จากหน้า HTML ก็จะเป็น Java Servlet

แต่ถ้าเป็นภาษา PHP ผมจะใช้ Java Libary พวก jquery เข้ามาช่วยกับ JSON
1. หน้า HTML ใช้ jquey ส่ง request
2. หน้า PHP รับค่า request จาก HTML และ return ผล
3. หน้า PHP Class เป็นส่วนที่ถูกเรียกใช้ในหน้า PHP


บันทึกการเข้า
djoser
คนรักเสียว
*

พลังน้ำใจ: 12
ออฟไลน์ ออฟไลน์

กระทู้: 152



ดูรายละเอียด
« ตอบ #2 เมื่อ: 26 เมษายน 2011, 11:33:51 »

style ของคุณ gilbert เป็นอีก idea ทีเดียว ขอถามเพิ่มเติมนิดค่ะ

ถ้าเรา load data โดย jquery  นี้ มันจะมีผลเรื่อง SEO ไหมคะ
คือไม่รู้เข้าใจถูกไหมว่า ถ้าเรา load data ด้วย jquery คือ มันจะส่งข้อมูล html มาที่หลัง แล้วมันจะไม่ show ใน code html ทำให้ เวลา bot เข้ามาเก็บข้อมูล มันจะไม่เห็น html ตรงนั้น (หรือเปล่าคะ)

ขอบคุณค่ะ
บันทึกการเข้า
gilbert
สมุนแก๊งเสียว
*

พลังน้ำใจ: 587
ออฟไลน์ ออฟไลน์

กระทู้: 713



ดูรายละเอียด
« ตอบ #3 เมื่อ: 26 เมษายน 2011, 11:57:46 »

style ของคุณ gilbert เป็นอีก idea ทีเดียว ขอถามเพิ่มเติมนิดค่ะ

ถ้าเรา load data โดย jquery  นี้ มันจะมีผลเรื่อง SEO ไหมคะ
คือไม่รู้เข้าใจถูกไหมว่า ถ้าเรา load data ด้วย jquery คือ มันจะส่งข้อมูล html มาที่หลัง แล้วมันจะไม่ show ใน code html ทำให้ เวลา bot เข้ามาเก็บข้อมูล มันจะไม่เห็น html ตรงนั้น (หรือเปล่าคะ)

ขอบคุณค่ะ

ถ้าคำนึงเรื่อง SEO มีผลแน่นอนครับ
บันทึกการเข้า
Bone
สมุนแก๊งเสียว
*

พลังน้ำใจ: 20
ออฟไลน์ ออฟไลน์

กระทู้: 809



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 26 เมษายน 2011, 12:02:31 »

หากเราเขียน PHP โดยแต่ละแนวดังนี้

1. เขียน มี HTML ทั่วๆ ไป พอต้องการค่าจาก PHP ก็ echo มา ฉะนั้น Code จะสลับกันไปสลับกันมาระหว่าง html และ php แต่ในความรู้สึกคือ ชอบแนวนี้ตรงที่ถ้า php return ค่าว่างมา หน้าเว็บเราก็ยังคง แสดงข้อมูลหรือต่างๆ ได้ตาม html ที่ครอบไว้

2. เขียนแนว PHP programming เต็มๆ คือ html ทั้งหมด ใส่ไว้ใน ค่า $html แล้วค่อย echo ทีเดียว เมื่อ query ค่าต่างๆ มารวมเป็นน่าเว็บได้แล้ว


แนวทางไหน มันจะทำให้การรัน script ดูมีประสิทธิภาพมากกว่ากันคะ อ่านการ optimize tuning แล้วก็ว่า การ echo ทีเดียวดีกว่า แต่การที่เราเขียน html ทั้งหน้า แล้วใช้ php เฉพาะจุดที่ต้องการ มันก็ดี

รบกวนแนะนำแนวทางด้วยค่ะ
ขอบคุณค่ะ Smiley


ในการ พัฒนา และการ optimize ทำแบบ 1 จะพัฒนาต่อยาก

ส่วนแบบ 2 จะพัฒนาง่าย ครับ แต่เวลาอ่าน จะอ่านยาก ซึ่งอนาคต จะพัฒนาแล้วปรับเปลี่ยน แบบ 2 มีมากกว่ามาก ครับ

และการ echo ไม่มีผลเรื่องเวลามาก แต่
ถ้าวิเคาระห์ แบบ 1 echo เมื่อเราต้องการ ทำ
ส่วนแบบ 2 echo สุดท้ายครั้งเดียว แค่เรื่องนี้ก้อ ต่างกันแล้วครับผม
บันทึกการเข้า

เฟอร์นิเจอร์ http://www.kssfurniture.com
เฟอร์นิเจอร์สำนักงาน http://www.officetou.com
เดือนภัยระวังโดนหลอก http://vichitrochwo.blogspot.com/
dreamer
คนรักเสียว
*

พลังน้ำใจ: 16
ออฟไลน์ ออฟไลน์

กระทู้: 134



ดูรายละเอียด
« ตอบ #5 เมื่อ: 26 เมษายน 2011, 12:34:26 »

จะชอบเขียนแบบเอา HTML มาใส่ในตัวแปรมากกว่า เพราะมองง่ายกว่า
ถ้าเอาไปแทรกใน html จะเจอพวก tag <?php ?> ทำให้มองดูยาก

แต่วิธีที่ดีที่สุดคือทำเป็น MVC ครับ แก้ไขง่าย หา bug ง่ายกว่า

อันนี้จากประสบการณ์นะครับ
บันทึกการเข้า
gilbert
สมุนแก๊งเสียว
*

พลังน้ำใจ: 587
ออฟไลน์ ออฟไลน์

กระทู้: 713



ดูรายละเอียด
« ตอบ #6 เมื่อ: 26 เมษายน 2011, 12:43:05 »

มันมีอีกวิธีหนึ่งที่ผมใช้โดยเอาแบบมาจาก wordpress นะครับ เช่น

<?php if($value) { ?>
<div id="value" name="value"><?php echo '$value'; ?></div>
<?php } //endif ?>

คือทำให้ statement ของ php เป็น block ๆ แทน ผมว่าก็อ่านเข้าใจง่ายดีนะครับ

แต่งานที่ผมทำส่วนใหญ่จะเป็นพวก webapp เลยไม่ได้คำนึงเรื่อง seo เท่าไร เน้นคือ แก้ไขง่ายไว้ก่อนครับ
« แก้ไขครั้งสุดท้าย: 26 เมษายน 2011, 12:44:21 โดย gilbert » บันทึกการเข้า
bankster
ก๊วนเสียว
*

พลังน้ำใจ: 27
ออฟไลน์ ออฟไลน์

กระทู้: 289



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 26 เมษายน 2011, 13:07:52 »

ควรเขียนแยกให้ชัดเจนครับ ให้ PHP จัดการกับข้อมูลต่างๆ และ HTML/CSS/JS จัดการในส่วนของการติดต่อผู้ใช้ จะจัดการ แก้ไข พัฒนาต่อ ง่ายกว่านะครับ

ตัวอย่างเช่น เวลาเราเปลี่ยนข้อมูลที่แสดงก็ไปแก้ไข PHP หรือ อยากเปลี่ยนหน้าตาเว็บ ก็ไปแก้ไข HTML/CSS/JS

หรือแนะนำให้ศึกษาเรื่อง MVC ครับ ทำให้โค้ดของเราจัดการง่ายขึ้นเยอะครับ
บันทึกการเข้า

รับออกแบบและพัฒนาเว็บไซต์
djoser
คนรักเสียว
*

พลังน้ำใจ: 12
ออฟไลน์ ออฟไลน์

กระทู้: 152



ดูรายละเอียด
« ตอบ #8 เมื่อ: 26 เมษายน 2011, 13:10:34 »

ได้ความรู้เยอะเลย ขอบคุณทุกท่านมากนะคะ
บันทึกการเข้า
execter
ก๊วนเสียว
*

พลังน้ำใจ: 24
ออฟไลน์ ออฟไลน์

กระทู้: 212



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 26 เมษายน 2011, 14:17:26 »

จขกท มีสองข้อให้เลือกผมเลือกข้อแรก แต่ ผมไม่แนใจว่า Single Quote หรือ Double Quote อันไหน มีผลทำให้ Script ช้าหรือไม่
« แก้ไขครั้งสุดท้าย: 26 เมษายน 2011, 14:21:54 โดย execter » บันทึกการเข้า

Mubaza Thailand
gilbert
สมุนแก๊งเสียว
*

พลังน้ำใจ: 587
ออฟไลน์ ออฟไลน์

กระทู้: 713



ดูรายละเอียด
« ตอบ #10 เมื่อ: 26 เมษายน 2011, 14:25:15 »

จขกท มีสองข้อให้เลือกผมเลือกข้อแรก แต่ ผมไม่แนใจว่า Single Quote หรือ Double Quote อันไหน มีผลทำให้ Script ช้าหรือไม่

single quote ครับ เพราะว่า complier จะมองข้อความภายใน เป็น string ทั้งหมด

แต่ถ้าใช้ double quote มันต้องวิเคราะห์ก่อนว่ามีตัวแปลอยู่ข้างในหรือไม่
บันทึกการเข้า
m2studio
ก๊วนเสียว
*

พลังน้ำใจ: 32
ออฟไลน์ ออฟไลน์

กระทู้: 353



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 26 เมษายน 2011, 14:33:03 »

แนะนำให้ทำเป็น MVC ครับ
ที่ผมใช้อยู่คือ
ด้าน Front End เรื่องที่เป็น Graphic ผมจะทำเป็น template file คือเป็น html file และมี place holder หรือช่องที่เอาไว้สำหรับใส่ตัวแปรหรือค่าที่ต้องการ
ด้าน Back end ส่วนที่ดูแลเรื่อง Business Logic จะเป็น PHP ทำหน้าคำนวณค่าทั้งหมด รวทั้งติดต่อ database แล้วส่งตัวแปรเป็น format เดียวกันกับที่ template นั้นๆ ต้องการ

ข้อดีคือเป็นระบบมากๆ แก้ไขง่าย หากวันใดต้องการเปลี่ยนหน้า html ให้แตกต่างจากเดิม ก็แค่แก้ html file นั้นๆ จบ ไม่ต้องแก้ code php แม้แต่บรรทัดเดียว

frame work ที่ผมใช้ในการทำ template คือ smarty
และส่วนที่ทำ javascript หรือ ajax นั้นใช้ Jquery เอา
บันทึกการเข้า

ร้านค้าออนไลน์แห่งใหม่เปิดให้บริการแล้ว

ร้านค้าออนไลน์
Ecommerce
กระเป๋าสะพาย
กระเป๋าแฟชั่น
m2studio
ก๊วนเสียว
*

พลังน้ำใจ: 32
ออฟไลน์ ออฟไลน์

กระทู้: 353



ดูรายละเอียด เว็บไซต์
« ตอบ #12 เมื่อ: 26 เมษายน 2011, 14:34:23 »

ใครอยาก Optimize ตามนี้เลย
http://www.hm2k.com/posts/50-php-optimisation-tips-revisited
http://foliovision.com/2007/11...eed-security-code-optimization
บันทึกการเข้า

ร้านค้าออนไลน์แห่งใหม่เปิดให้บริการแล้ว

ร้านค้าออนไลน์
Ecommerce
กระเป๋าสะพาย
กระเป๋าแฟชั่น
Joejoe
Newbie
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 37



ดูรายละเอียด
« ตอบ #13 เมื่อ: 28 เมษายน 2011, 17:44:32 »

ผมคิดว่า
1. หากคุณนำ html tag ไปยัดไว้ใน ตัวแปรแล้ว จะเกิดการจองพื้นที่ใน memory ทันที
2. ถ้าหากคุณ ใช้ html  ผสมกับ php เป็นส่วน ๆ ไป จะดีกว่าครับ แต่ควรจัดสรรเป็นสัดส่วน

ถ้าหากว่าคุณไม่ได้ใช้งาน framework MVC แนะให้เขียนแบบนี้ครับ


<?php
พี้นที่ ส่วนแรก ไว้ประมวลผล php คำนวณค่าต่างๆ ที่ควรคำนวนให้เรียบร้อยในส่วนนี้
$b = date('Y') + 543;
?>

<html>
<body>
<h1>Welcome </h1>
<?php
  เวลาใช้งาน php ในส่วนของ body ต่างๆ แนะนำให้เรียกใช้เพื่อการแสดงผลเท่านั้น เช่น ปี พ.ศ. เราได้คำนวณไว้เรียบร้อยแล้ว จากส่วนแรก ของ page ( บนสุด ) จากนี้เราก็แค่

echo $year; ออกมาอย่างเดียวครับ เวลา เราคำนวณผิดพลาดจะได้รู้เลยว่า ต้องไปแก้ในส่วนคำนวณจากด้านบนครับ จะได้ไม่ต้องมาคว้านหา ใน body ซึ่งเต็มไปด้วย html  + php ที่ต้องแสดงผลเยอะไปครับ หายาก
?>
</body>
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์