عبارات php غريبة


إذا قرأت وثائق PHP ، فسوف تتعلم الكثير من المشغلين . إذا كنت لا تعرف بيانات PHP بعد ، فقم بدراستها أولاً ، ثم ارجع لقراءة هذه المقالة.


إذا حكمنا من خلال التعليقات الأولى ، فأنا أعتذر عن الترجمة السيئة ، ولدي خبرة قليلة في هذا ، لكنني أردت ترجمة المقالة. سوف أرحب بأي انتقاد بخصوص جودة الترجمة ، خاصة بالنسبة لأي تحسينات. شكرا لكم على اهتمامكم!

تتكون عوامل التشغيل عادةً من أحرف غريبة ، مثل !، - ، => ، <=> ، ^ أو ~. في الواقع ، البعض منهم ببساطة قابل للقراءة ، على سبيل المثال AND ، بينما البعض منهم محاولة ضائعة لجعلها قابلة للقراءة وإخفاء شخصيتهم المزدوجة تقريبًا ، على سبيل المثال ، xor .


ربما تعتقد أنك تعرف وثائق PHP على نطاق واسع ، ولكن هناك دائمًا شيء لتتعلمه. لذلك تعمقت في الكود الأساسي لـ PHP ونظرت إلى بعض مشغلي PHP الخاصين ، الأقل شهرة ولكن مفيدة جدًا في العمل اليومي.


لذلك ، إليك 10 بيانات PHP يجب أن تعرفها في 2018!


عامل التشغيل b '


ما عليك سوى إضافة b قبل أي خط ولن يحدث شيء. هذه الخدعة الذكية تعمل فقط مع b و B هنا يجب أن نتذكر مصير PHP 6 ، حيث أن b يشبه 6 .


 $string = b'content'; 

عامل التشغيل [] =


عامل قصير لإضافة عنصر جديد إلى مصفوفة. تعمل كما تتوقع - تضيف العنصر الموجود على اليمين إلى المصفوفة الموجودة على اليسار.


 $array []= 'element'; 

في الواقع ، هو أكثر أناقة من $array[] = 'element'; . تظهر بعض الاختبارات أنه أسرع بكثير ، في حين أن البعض الآخر ، على العكس ، هو أبطأ بكثير. كالعادة ، انظر بنفسك إذا كان هذا المشغل مناسبًا لك قبل الرهان على الأداء بهذه الخدعة.


لسوء الحظ ، في الدليل الرسمي لا توجد كلمة حول هذه الفرصة الرائعة.


عامل التشغيل <-


تم إدخال عامل "الكائن الأيسر" في PHP لتحسين القدرة على كتابة التعليمات البرمجية بحيث يمكن للمطورين كتابة كود PHP من اليمين إلى اليسار. على الرغم من توقف المشروع لاحقًا لأسباب غير معروفة ، فقد تم الحفاظ على هذا المشغل الأول الذي يتلقى الدعم في PHP.


 $c = $a<-B; 

للتوافق مع الإصدارات السابقة ، لا تحصل الشفرة أعلاه على قيمة الخاصية B في الكائن $a ، ولكنها تقارن ببساطة $a بعكس B


عامل التشغيل ––>


--> المعروف أيضًا باسم "عامل الكائن الفائق" ، الذي تم إنشاؤه على أساس ابن عمه البعيد ، -> .


 $object-->property 

--> يعمل مثل -> ، باستثناء أنه ليس كذلك. الحيلة الرئيسية: عدم استخدام كائن كعنصر $object متغير ، ولكن عددًا صحيحًا (في هذه الحالة سيعمل كمقارنة > - تقريبًا لكل.)


مشغل السهم الأيسر للمصفوفات [$ a <= $ b]


نعلم جميعًا عامل التشغيل => للصفائف ، ولكنهم يدعمون أيضًا نسخة متطابقة من هذا العامل على النحو التالي:


 $array = [ 'a' => 'b', 'c' <= 'd', ]; var_dump($array); /* array(2) { ["a"]=> string(1) "b" [0]=> bool(true) */ 

هذا مناسب جدًا للمبرمجين الصغار جدًا ، وكذلك كبار السن الذين لا يزالون يستخدمون الكتابة على المرآة. يتمتع هذا المشغل أيضًا بالقدرة على تحويل كلا المعاملين إلى قيمة منطقية لتخزين أكثر ضغطًا.


أسماء الثوابت مع * ،٪


الثوابت جيدة وفعالة حتى تريد المزيد من الحرية في تركيبها. على الرغم من أن الدليل ينص على أن اسم الثابت يجب أن يحتوي على أحرف وشرطات سفلية وأرقام فقط ، فإنه يُسمح أيضًا باستخدام أحرف خاصة مثل * أو٪ في الاسم. على سبيل المثال ، على النحو التالي:


 //        ,       — . . define('A', 2); define('B', 1); define('A*B', 2); $x = foo( A*B ); 

الشيء الوحيد الذي تحتاجه للتأكد من وجود الثوابت A و B ، ونتيجة لضربها ، يتم الحصول على قيمة الثابت المقترح. هذا سبب جيد آخر لتجنب استخدام الأعداد الأولية كقيم في الثوابت.


مشغلي السفن


لذا ، الجميع يعرف عن مشغل "سفينة الفضاء" منذ إصدار PHP 7. ولكن من غير المعروف أنه في نفس الوقت تم إدخال أسطول كامل من سفن الفضاء للقيام بعمليات واسعة النطاق.


سفينة فضاء صغيرة


يمكنك توفير مرافقة لعامل المركبة الفضائية باستخدام عامل المركبة الفضائية الصغير. لا يقوم عامل التشغيل هذا بإجراء مقارنة: فهو ببساطة يضيف $b إلى $a في مثل هذا النمط المكرر.


 $a -=- $b; 

X- مقاتلات


إذا كنت ترغب في إضافة قوة نيران إلى الأسطول السابق ، يمكنك استدعاء مقاتلات من النوع X إلى مصدر PHP: +-0-+ . يطرح الرمز التالي 3 من $a (تقول المقالة الأصلية أن العامل سيضيف 3 ( adds 3 to $a ) ، ولكن هذا ليس كذلك ، انظر إخراج المثال أدناه - تقريبًا.


 $a = 8; $a = $a +-0-+ 3; // 5 

بارجة


يوفر مشغل البارجة الدعم للمشغلين السابقين. هذا هو أحد العوامل التي تعمل فقط مع المصفوفات ، تمامًا مثل => . يجب استخدامه فقط من قبل معلمي PHP الأكثر تقدمًا على هذا الجانب من المجرة. لا تستخف بقوتها.


 $x = [ 2 <=['-']=> $b]; 

أليست هذه أفضل طريقة للكتابة هكذا؟


 $x = [ 1 => $b]; 

نجمة الموت


سيتساءل الكثير منكم عما إذا كان عامل نجمة الموت مدمجًا في PHP ، والجواب: إنه غير معروف حاليًا. هناك خطط لهذا ، ولكن لم يسبق لأحد أن رأى نسخة حقيقية. أود حقًا أن أرى عامل التشغيل في ثلاثة أسطر ، لأن PHP ستكون أول من يحصل على هذا (وعندما يحدث ذلك ، آمل ألا يتم شطب تكلفة هذا المشغل من حسابي).


  $x = $y ~~ ( °) ~~ true; 

جنون مشغل PHP


عبارات PHP مرتبة وفعالة. نأمل أن يكون هؤلاء المشغلون الأقل شهرة قد علموك شيئًا في PHP.


تحقق من أمثلة التعليمات البرمجية التالية: تعمل جميعها في PHP 7.2.5 ، باستثناء "نجمة الموت". قد يكون لديهم بعض المتطلبات الأساسية ، لذا تأكد من قراءة الوثائق قبل استخدامها.

Source: https://habr.com/ru/post/ar412603/


All Articles