به رشته ( __tostring )
تابع به رشته (__toString) متنِ مستقیم عنصر را می دهد. «متن مستقیم» یعنی محتوای خود تگ، نه متنِ داخل فرزندان. مثل خواندن تیتر دفتر، نه یادداشت های داخل صفحات.
تعریف و کاربرد
تابع __toString() روی شیء SimpleXMLElement فقط متنِ خود عنصر را برمی گرداند. متنِ داخل تگ های فرزند برنمی گردد.
نگارش
SimpleXMLElement::__toString()
مثال 1: خروجی متنِ مستقیم عنصر
<?php
$xml = new SimpleXMLElement("<note>Hello <to>Tove</to><from>Jani</from>World!</note>");
echo $xml;
?>
مثال 2: چرا متنِ فرزندان محاسبه نمی شود؟
عنصر <note> بالا، فرزند دارد. اما __toString() فقط «Hello World!» می دهد. چون متنِ داخل <to> و <from> حساب نمی شود.
<?php
$xml = new SimpleXMLElement("<note>Hi <child>X</child>All</note>");
echo $xml;
?>
گام های سریع تمرین
- یک شیء
SimpleXMLElementبساز. - چند تگِ فرزند به عنصر بده.
- با
echo $xml;نتیجه متن مستقیم را ببین.
نکته ها
نکته: اگر متنِ همه تگ ها را می خواهی، از متدهای پیمایش کمک بگیر.
نکته: برای مقایسه سریع متن عنصر، __toString() بسیار ساده است.
لینک های مرتبط
سازنده SimpleXML را ببین: سازنده (__construct). همچنین این صفحه را با کلیدواژه به رشته ( __tostring ) ذخیره کن.
جمع بندی سریع
__toString()فقط متنِ مستقیم عنصر را می دهد.- متنِ فرزندان در خروجی نیست.
- برای چاپ سریع متن، خیلی کاربردی است.