سحر طرق
هناك طرق عدة السحر في PHP التي توفر لك الوقت عن طريق الحد من رمز ما لديها لتكون مكتوبة للوصول إلى طرق ، وحاصل وواضعي الخ.
__get ($ فال) يسمح لك أن يكون لها طريقة الحصول على فئة دون خلق في الواقع طريقة الحصول على ذلك.
عندما تحصل أو ما يسمى مجموعة على فئة، PHP يتطلع إلى معرفة ما إذا كان هناك تعريف واضح الملكية الذي يكون مرئيا من قبل استدعاء __ سحر أو الحصول على أسلوب __ مجموعة.
Example فئة مثال
{
counter ; خاصة $ عداد؛
name ; خاصة $ الاسم؛
age ; خاصة $ العمر؛
__get ( $ var ) __ وظيفة الحصول على ($ فار)
{
empty ( $ var ) ) إذا (! فارغ ($ فار))
{
$ this - > $ var ; عودة دولار هذا -> $ فار؛
}
}
}
وهذا يعني أن الرمز التالي ستحصل على المتغيرات الخاصة دون أي حاصل على الحاجة إلى أن تكون مكتوبة في الصف.
example = new Example ( ) ; $ مثال = مثال جديد ()؛
example - > name ; $ سبيل المثال -> الاسم؛
example - > counter ; $ سبيل المثال -> عداد؛
Unfortunatley انه يسمح لنا أيضا للوصول إلى عداد والتي يجب أن تبقى داخلية في الدرجة. وهناك طريقة أفضل لذلك من فعل هذا.
Example فئة مثال
{
counter ; خاصة $ عداد؛
vars ; خاصة $ فار؛
__get ( $ var ) __ وظيفة الحصول على ($ فار)
{
empty ( $ var ) & & ! empty ( $ vars [ $ var ] ) ) إذا (! فارغ ($ فار) &&! فارغ ($ فار [$ فار]))
{
$ this - > $ vars [ $ var ] ; عودة دولار هذا -> $ فار [$ فار]؛
}
}
}
وهذا يضمن أن يتم بعد ذلك للقراءة فقط القيم من مجموعة خاصة ويتعرضون أي متغيرات أخرى خاصة.
__ مجموعة () هو يشبه إلى حد كبير الحصول على __ إلا أنه هو واضع بدلا من النائل. هذا سوف تعيين قيمة بالطريقة التالية.
Example فئة مثال
{
name ; خاصة $ الاسم؛
__set ( $ var , $ value ) وظيفة مجموعة __ ($ فار، $ قيمة)
{
empty ( $ var ) ) إذا (! فارغ ($ فار))
{
this - > $ var = $ value ; دولار هذا -> $ فار = $ القيمة؛
}
}
}
ويمكن استخدام هذه الطريقة التالية:
example = new Example ( ) ; $ مثال = مثال جديد ()؛
example - > name = ' Dominic ' ; $ سبيل المثال -> اسم = 'دومينيك'؛
مرة أخرى يمكن أن تستخدم مجموعة خاصة لحماية الحماية من المتغيرات الأخرى في فئة.
لا وقدمت تعليق.
كتبه الدباغ دومينيك
آخر تحديث: 2011/10/25 16:00:38