الحجج PHP الدرجة في وظائف
سؤال
وأواجه مشكلة في استخدام حجة من صفي في واحدة من وظائف هذه الفئة ل.
ولدي فئة تسمى شركة:
class company {
var $name;
function __construct($name) {
echo $name;
}
function name() {
echo $name;
}
}
$comp = new company('TheNameOfSomething');
$comp->name();
عند I مثيل لها (الثاني إلى السطر الأخير)، وطريقة سحرية بناء يعمل بشكل جيد، وصدى من "TheNameOfSomething". ومع ذلك، عندما استدعاء الدالة اسم ()، وأحصل على أي شيء.
وماذا أفعل الخطأ؟ أي مساعدة يحظى بتقدير كبير. إذا كنت بحاجة إلى أي معلومات أخرى، ونطلب فقط!
وبفضل
-Giles
http://gilesvangruisen.com/
المحلول
وتحتاج إلى تعيين الخاصية الطبقة باستخدام $ هذه الكلمة الرئيسية.
class company {
var $name;
function __construct($name) {
echo $name;
$this->name = $name;
}
function name() {
echo $this->name;
}
}
$comp = new company('TheNameOfSomething');
$comp->name();
نصائح أخرى
عند استخدام اسم $ في كلا الأسلوبين نطاق متغير اسم $ يقتصر على وظيفة التي تم إنشاؤها في. طرق أخرى أو الطبقة التي تحتوي على ليست قادرة على قراءة المتغير أو حتى أعلم أنه موجود، لذلك كنت لديك لتعيين متغير فئة باستخدام البادئة $this->
.
$this->name = $name;
وهذا يسمح للقيمة أن تكون مستمرة، ومتاحة للجميع وظائف الطبقة. وعلاوة على ذلك، المتغير هو الجمهور، لذلك أي برنامج نصي أو فئة قد قراءة وتعديل قيمة المتغير.
$comp = new company();
$comp->name = 'Something';
$comp->name(); //echos 'Something'