- Classes, Properties, and Methods
ในข้อกำหนด คลาส
หมายรวมถึงคำสำคัญ class
, interface
และ traits
การประกาศใช้ extends
และ implements
ต้องอยู่ในบรรทัดเดียวกับชื่อคลาส
การเปิดปีกกาของคลาสต้องวางในบรรทัดต่อจากการประกาศชื่อคลาสและปิดปีกกาในบรรทัดต่อจากโค้ดภายในคลาสนั้น
<?php
namespace Vendor\Package;
use FooClass;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
class ClassName extends ParentClass implements \ArrayAccess, \Countable
{
// constants, properties, methods
}
ในการประกาศใช้ implements
ทีละหลายรายการ สามาถแบ่งออกเป็นหลายบรรทัด
โดนในแต่ละรายการให้มีการจัดย่อหน้า (indent)
เพียงหนึ่งครั้ง โดยให้รายการแรกอยู่ในบรรทัดถัดไป
จากการประกาศ implements
และจะต้องมีเพียงหนึ่ง interface
ต่อบรรทัด
<?php
namespace Vendor\Package;
use FooClass;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
class ClassName extends ParentClass implements
\ArrayAccess,
\Countable,
\Serializable
{
// constants, properties, methods
}
ทุกตัวแปรภายในคลาสต้องมีการประกาศค่าการมองเห็นตัวแปร (public, protected, private)
คำสำคัญ var
ต้องไม่ถูกใช้ในการสร้างตัวแปร
ต้องไม่มีการประกาศตัวแปรมากกว่าหนึ่งตัวแปรในหนึ่งคำสั่ง ชื่อตัวแปรจะต้องไม่มีคำนำหน้าตามด้วยขีดล่างเพื่อบอกค่าการมองเห็น
การประกาศตัวแปรมีลักษณะดังตัวอย่าง
<?php
namespace Vendor\Package;
class ClassName
{
public $foo = null;
}