นี่อาจเป็นคำถามที่ไม่สำคัญมาก แต่ฉันไม่สามารถหาคำตอบได้ผ่านเครื่องมือค้นหาเว็บหรือบน php.net โปรดนำฉันไปยังที่ที่ฉันสามารถอ่านเกี่ยวกับเรื่องนี้ได้หากคุณไม่มีเวลาอธิบาย
- คำหลัก 'var' หมายถึงอะไรใน PHP
- มีความแตกต่างระหว่าง PHP4 และ PHP5 หรือไม่?
นี่อาจเป็นคำถามที่ไม่สำคัญมาก แต่ฉันไม่สามารถหาคำตอบได้ผ่านเครื่องมือค้นหาเว็บหรือบน php.net โปรดนำฉันไปยังที่ที่ฉันสามารถอ่านเกี่ยวกับเรื่องนี้ได้หากคุณไม่มีเวลาอธิบาย
คำตอบ:
มันมีไว้สำหรับประกาศตัวแปรสมาชิกระดับใน PHP4 และไม่จำเป็นอีกต่อไป มันจะทำงานใน PHP5 แต่จะเพิ่มE_STRICT
คำเตือนใน PHP จากเวอร์ชัน 5.0.0 เป็นเวอร์ชัน 5.1.2 ณ เวลาที่เลิกใช้งาน ตั้งแต่ PHP 5.3, var ไม่ได้ถูกเลิกใช้และเป็นคำพ้องสำหรับ 'สาธารณะ'
ตัวอย่างการใช้งาน:
class foo {
var $x = 'y'; // or you can use public like...
public $x = 'y'; //this is also a class member variables.
function bar() {
}
}
var
คำหลักยังคงได้รับการสนับสนุนด้วยเหตุผลด้านความเข้ากันได้ (เป็นคำเหมือนสำหรับpublic
คำหลัก) ใน PHP 5 ก่อน 5.1.3 การใช้งานจะสร้างE_STRICT
คำเตือน" php.net/manual/en/language.oop5.visibility.phpแก้ไข: ฉันเพิ่งเห็นที่ได้ถูกอ้างในคำตอบอื่น แต่คุณควรแก้ไขให้ถูกต้อง
public
คำสำคัญกับตัวแปรสมาชิก มันเป็นเรื่องจริงเหรอ? ใส่$x;
ไม่ได้เหรอ
var
ต้องไม่ใช้และต้องเปิดเผยการมองเห็นของคุณสมบัติทั้งหมด
var
คำหลักที่จะใช้ในการตัวแปรประกาศในชั้นเรียนใน PHP 4 :
class Foo {
var $bar;
}
ด้วย PHP 5 คุณสมบัติและวิธีการในการมองเห็น ( public
, protected
และprivate
) ได้รับการแนะนำและทำให้var
เลิก
var
เป็น de-เลิก :)
private var $foo = 'bar';
ไหม
private var
- ที่จะทำลายสิ่งที่รวดเร็วจริง ๆ เช่นvar
เดียวกับคำพ้องpublic
ใน PHP 5
var
ไม่ใช่คำพ้องความจริงpublic
เนื่องจากไม่สามารถใช้สำหรับการประกาศสมาชิกคงที่หรือค่าคงที่
ฉันพูดจากhttp://www.php.net/manual/en/language.oop5.visibility.php
หมายเหตุ: วิธี PHP 4 ในการประกาศตัวแปรด้วยคำหลัก var ยังคงได้รับการสนับสนุนด้วยเหตุผลด้านความเข้ากันได้ (เป็นคำเหมือนสำหรับคำหลักสาธารณะ) ใน PHP 5 ก่อน 5.1.3 การใช้งานจะสร้าง
E_STRICT
คำเตือน
คำตอบ:จากphp 5.3 และ>
ที่var
คำหลักเทียบเท่ากับpublic
ตัวแปรเมื่อประกาศภายในชั้นเรียน
class myClass {
var $x;
}
เหมือนกับ (สำหรับphp 5.3 และ>
):
class myClass {
public $x;
}
ประวัติ:ก่อนหน้านี้มันเป็นบรรทัดฐานสำหรับการประกาศตัวแปรในคลาสแม้ว่าภายหลังจะกลายเป็นค่าเสื่อมราคา แต่ต่อมา (PHP 5.3) มันก็ไม่ได้คิดค่าเสื่อม
ดังนั้นโดยทั่วไปมันเป็นแบบเก่าและห้ามใช้กับ PHP เวอร์ชันใหม่ ดีกว่าที่จะใช้คำหลักสาธารณะแทนถ้าคุณไม่รักกับคำหลัก var ดังนั้นแทนที่จะใช้
class Test {
var $name;
}
ใช้
class Test {
public $name;
}
var
ว่าเลิกใช้แล้วหรือยัง ทั้งสองควรมีความหมายเหมือนกัน
ใน PHP7.3 ยังคงทำงาน ...
https://www.php.net/manual/en/language.oop5.visibility.php
หากประกาศโดยใช้ var คุณสมบัติจะถูกกำหนดเป็นสาธารณะ
var ถูกใช้เช่น public .if a varable ถูกประกาศเช่นนี้ในคลาส var $ a; ถ้าหมายความว่าขอบเขตนั้นเป็นแบบสาธารณะสำหรับชั้นเรียน ในคำง่าย ๆ var สาธารณะ
var $a;
public
ที่นี่และขณะนี้ในการ2018
ใช้var
สำหรับการประกาศตัวแปรมีความหมายเหมือนpublic
ใน
class Sample{
var $usingVar;
public $usingPublic;
function .....
}