PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย
Moderator: mindphp , ผู้ดูแลกระดาน
modtanoy_pen
PHP Hero Member
โพสต์: 116 ลงทะเบียนเมื่อ: 19/10/2012 4:27 pm
โพสต์ที่ยังไม่ได้อ่าน
โดย modtanoy_pen » 23/11/2012 5:44 pm
http://pear.php.net/manual/en/standards.php
Coding Standards php คือมาตราฐานในการเขียน code php เริ่มตั้งแต่ tag code การกำหนดการเยื้องและความยาวของบรรทัดที่เขียน code ,การเขียน comments ,โครงสร้างการใช้งาน If,For,Switch,การเขียนฟังก์ชั่น,การเรียกใช้ฟังก์ชั่น,การสร้าง Class ,การสร้างข้อมูล arrays,Header Comment Blocks
PHP Code Tags
เขียนcode php ให้อยู่ใน <?php ?>
ตัวอย่าง
แก้ไขล่าสุดโดย
modtanoy_pen เมื่อ 26/11/2012 4:24 pm, แก้ไขไปแล้ว 4 ครั้ง.
modtanoy_pen
PHP Hero Member
โพสต์: 116 ลงทะเบียนเมื่อ: 19/10/2012 4:27 pm
โพสต์ที่ยังไม่ได้อ่าน
โดย modtanoy_pen » 23/11/2012 6:03 pm
Indenting and Line Length (การกำหนดการเยื้องและความยาวของบรรทัด)
ตัวอย่าง
โค้ด: เลือกทั้งหมด
(defun pear/php-mode-init()
"Set some buffer-local variables."
(setq case-fold-search t)
(c-set-offset 'arglist-intro '+)
(c-set-offset 'arglist-close '0)
)
(add-hook 'php-mode-hook 'pear/php-mode-init)
แก้ไขล่าสุดโดย
modtanoy_pen เมื่อ 26/11/2012 2:43 pm, แก้ไขไปแล้ว 3 ครั้ง.
modtanoy_pen
PHP Hero Member
โพสต์: 116 ลงทะเบียนเมื่อ: 19/10/2012 4:27 pm
โพสต์ที่ยังไม่ได้อ่าน
โดย modtanoy_pen » 23/11/2012 6:07 pm
Comments
การเขียน Comments ใน php ใช้ /*codeหรือข้อความ*/ เป็นการComments ที่ละหลายบรรทัด และ// เพื่อComments ที่ละบรทัด
ตัวอย่าง
โค้ด: เลือกทั้งหมด
<?php
/* code
code
code
*/
//code
code//แสดงตัวอย่าง
?>
แก้ไขล่าสุดโดย
modtanoy_pen เมื่อ 26/11/2012 2:43 pm, แก้ไขไปแล้ว 2 ครั้ง.
modtanoy_pen
PHP Hero Member
โพสต์: 116 ลงทะเบียนเมื่อ: 19/10/2012 4:27 pm
โพสต์ที่ยังไม่ได้อ่าน
โดย modtanoy_pen » 23/11/2012 6:22 pm
Control Structures (โครงสร้างการควบคุม)
ตัวอย่างโครงสร้างการใช้ if
โค้ด: เลือกทั้งหมด
<?php
if ((condition1) || (condition2)) {
action1;
} elseif ((condition3) && (condition4)) {
action2;
} else {
defaultaction;
}
?>
ตัวอย่างการใช้ switch
โค้ด: เลือกทั้งหมด
<?php
switch (condition) {
case 1:
action1;
break;
case 2:
action2;
break;
default:
defaultaction;
break;
}
?>
Split long if statements onto several lines (การเขียนเงื่อนไขหลายเงื่อนไขโดยเขียนหลายบรรทัด)
ตัวอย่าง1
โค้ด: เลือกทั้งหมด
<?php
if (($condition1 //เงื่อนไขที่ 1
|| $condition2) //หรือเงื่อนไขที่ 2
&& $condition3 //และเงื่อนไขที่ 3
&& $condition4 //และเงื่อนไขที่ 4
) {
//code here
}
?>
ตัวอย่างที่ 2
โค้ด: เลือกทั้งหมด
<?php
if ( $condition1 //เงื่อนไขที่1
|| $condition2 //หรือเงื่อนไขที่2
|| $condition3 //หรือเงื่อนไขที่3
) {
//code here
}
?>
ตัวอย่างที่3
โค้ด: เลือกทั้งหมด
<?php
$is_foo = ($condition1 || $condition2);//กำหนดตัวแปลเพื่อรับค่าของเงื่อนไข
$is_bar = ($condition3 && $condtion4);
if ($is_foo && $is_bar) {
// ....
}
?>
แก้ไขล่าสุดโดย
modtanoy_pen เมื่อ 26/11/2012 2:44 pm, แก้ไขไปแล้ว 2 ครั้ง.
modtanoy_pen
PHP Hero Member
โพสต์: 116 ลงทะเบียนเมื่อ: 19/10/2012 4:27 pm
โพสต์ที่ยังไม่ได้อ่าน
โดย modtanoy_pen » 23/11/2012 6:24 pm
Including Code
การเรียกไฟล์งานขึ้นมาใช้งาน ด้วยคำสั่ง include_one และ require_once ซึ่งจะเป็นการเรียกใช้ไฟล์งานเพียงครั้งเดียวไม่ต้องเรียกซ้ำ
แก้ไขล่าสุดโดย
modtanoy_pen เมื่อ 26/11/2012 2:52 pm, แก้ไขไปแล้ว 2 ครั้ง.
modtanoy_pen
PHP Hero Member
โพสต์: 116 ลงทะเบียนเมื่อ: 19/10/2012 4:27 pm
โพสต์ที่ยังไม่ได้อ่าน
โดย modtanoy_pen » 23/11/2012 6:25 pm
Arrays
ตัวอย่างการสร้างข้อมูลแบบ array โดยแต่ละค่าจะคั่นด้วย(,)
โค้ด: เลือกทั้งหมด
<?php
$some_array = array(
'foo' => 'bar',//แต่ละค่าจะคั่นด้วยเครื่องหมาย(,)
'spam' => 'ham',
);
?>
// แบบที่สอง
โค้ด: เลือกทั้งหมด
$saom_array =array();
$saom_array['foo'] = 'bar';
$saom_array['spam'] = 'bar';
$saom_array['tree'] = 'bar';
แก้ไขล่าสุดโดย
modtanoy_pen เมื่อ 26/11/2012 3:08 pm, แก้ไขไปแล้ว 4 ครั้ง.
modtanoy_pen
PHP Hero Member
โพสต์: 116 ลงทะเบียนเมื่อ: 19/10/2012 4:27 pm
โพสต์ที่ยังไม่ได้อ่าน
โดย modtanoy_pen » 23/11/2012 6:32 pm
Function Definitions
การสร้างฟังก์ชั่น
ตัวอย่าง1 การประกาศฟังก์ชันตามสไตล์ "K & R":
โค้ด: เลือกทั้งหมด
<?php
function fooFunction($arg1, $arg2 = '')
{
if (condition) {
statement;
}
return $val;
}
?>
ตัวอย่างที่ 2 การประกาศค่าเริ่มต้นไว้ที่ส่วนท้ายและส่งค่ากลับมา
โค้ด: เลือกทั้งหมด
<?php
function connect(&$dsn, $persistent = false)
{
if (is_array($dsn)) {
$dsninfo = &$dsn;
} else {
$dsninfo = DB::parseDSN($dsn);
}
if (!$dsninfo || !$dsninfo['phptype']) {
return $this->raiseError();
}
return true;
}
?>
แก้ไขล่าสุดโดย
modtanoy_pen เมื่อ 26/11/2012 3:08 pm, แก้ไขไปแล้ว 4 ครั้ง.
modtanoy_pen
PHP Hero Member
โพสต์: 116 ลงทะเบียนเมื่อ: 19/10/2012 4:27 pm
โพสต์ที่ยังไม่ได้อ่าน
โดย modtanoy_pen » 23/11/2012 6:33 pm
Function Calls (การเรียกใช้ฟังก์ชั่น)
ตัวอย่าง1
ชื่อฟังก์ชั่นวงเล็บเปิดพารามิเตอร์ตัวแรกคั่นด้วย (,)แต่ละพารามิเตอร์และวงเล็บปิดและปิดด้วย(;)
ตัวอย่างที่ 2
ชื่อฟังก์ชั่นวงเล็บเปิดพารามิเตอร์วงเล็บปิดและปิดด้วย(;)
โค้ด: เลือกทั้งหมด
<?php
$short = foo($bar);
$long_variable = foo($baz);
?>
ตัวอย่างที่ 3
โค้ด: เลือกทั้งหมด
<?php
$this->callSomeFunction('param1', 'second', true);
$this->callSomeFunction('parameter2', 'third', false);
$this->callSomeFunction('3', 'verrrrrrylong', true);
?>
แก้ไขล่าสุดโดย
modtanoy_pen เมื่อ 26/11/2012 2:54 pm, แก้ไขไปแล้ว 2 ครั้ง.
modtanoy_pen
PHP Hero Member
โพสต์: 116 ลงทะเบียนเมื่อ: 19/10/2012 4:27 pm
โพสต์ที่ยังไม่ได้อ่าน
โดย modtanoy_pen » 23/11/2012 6:48 pm
Class Definitions (การสร้าง class)
ตัวอย่าง รูปแบบการสร้าง class
class ตามด้วยชื่อ class ที่เราจะสร้างปีกกาเปิด({)ตามด้วย code แล้วปีกกาปิด(})
โค้ด: เลือกทั้งหมด
<?php
class Foo_Bar
{
//... code goes here
}
?>
แก้ไขล่าสุดโดย
modtanoy_pen เมื่อ 26/11/2012 2:54 pm, แก้ไขไปแล้ว 4 ครั้ง.
modtanoy_pen
PHP Hero Member
โพสต์: 116 ลงทะเบียนเมื่อ: 19/10/2012 4:27 pm
โพสต์ที่ยังไม่ได้อ่าน
โดย modtanoy_pen » 23/11/2012 6:53 pm
Header Comment Blocks
คือ Comment ของเอกสารก่อนเข้าส่วนของ โค้ด จริงๆ ซึ่งสามารถ generate ออกมาทำเป็นเอกสารของโปรแกรมได้
โค้ด: เลือกทั้งหมด
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
/**
* Short description for file
*
* Long description for file (if any)...
*
* PHP version 5
*
* LICENSE: This source file is subject to version 3.01 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_01.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to [email protected] so we can mail you a copy immediately.
*
* @category CategoryName
* @package PackageName
* @author Original Author <[email protected] >
* @author Another Author <[email protected] >
* @copyright 1997-2005 The PHP Group
* @license http://www.php.net/license/3_01.txt PHP License 3.01
* @version SVN: $Id$
* @link http://pear.php.net/package/PackageName
* @see NetOther, Net_Sample::Net_Sample()
* @since File available since Release 1.2.0
* @deprecated File deprecated in Release 2.0.0
*/
/*
* Place includes, constant defines and $_GLOBAL settings here.
* Make sure they have appropriate docblocks to avoid phpDocumentor
* construing they are documented by the page-level docblock.
*/
/**
* Short description for class
*
* Long description for class (if any)...
*
* @category CategoryName
* @package PackageName
* @author Original Author <[email protected] >
* @author Another Author <[email protected] >
* @copyright 1997-2005 The PHP Group
* @license http://www.php.net/license/3_01.txt PHP License 3.01
* @version Release: @package_version@
* @link http://pear.php.net/package/PackageName
* @see NetOther, Net_Sample::Net_Sample()
* @since Class available since Release 1.2.0
* @deprecated Class deprecated in Release 2.0.0
*/
class Foo_Bar
{
}
?>
3 ตอบกลับ
1953 แสดง
โพสต์ล่าสุด โดย บุคคลทั่วไป
19/04/2023 2:48 pm
0 ตอบกลับ
1995 แสดง
โพสต์ล่าสุด โดย จันนุสรณ์ ดีแก่
22/11/2018 4:25 pm
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 7