PHP الحديثة جميلة ومثمرة

منذ 8 أشهر تقريبًا ، انتقلت من مشاريع python / java إلى مشروع php (عرضت عليّ ظروف من الحماقة أن أرفضها) ، وفجأة لم أشعر بالألم واليأس اللذين كان يبشرهما المطورون السابقون على PCP. وهنا ما أفكر في هذا.



ما هو ما


بادئ ذي بدء ، دعني أخبرك بتجربتي في التطوير وتجربة الأدوات بلغات أخرى ، حتى تفهم ما أقارن به.

بيثون. عندما يتعلق الأمر بمشروعات في بيثون (في غانغو في أغلب الأحيان) ، نحصل على منصة تتيح لك إنشاء وظائف مريحة وببساطة وبناء خوادم بقية واجهة برمجة التطبيقات وأداء مشاركة النظام وأكثر من ذلك. منطق الإطار واضح ومباشر للغاية. حتى مطور أخضر تمامًا يمكنه ، في غضون ساعتين ، تدوين لعبة blozik صغيرة باستخدام لوحة إدارة. بالإضافة إلى وثائق Django هي واحدة من أعلى مستويات الجودة التي رأيتها. لكل هذا ، يضاف السكر بيثون بناء الجملة ، مما يساعد على تنفيذ أنماط معينة بشكل أنيق للغاية. إذا انتقلنا من جانغو إلى تورنادو / aiohtpp / ملتوية / قارورة ، وما إلى ذلك ، فإن الألم يبدأ ، لأن الكود الموجود فيها يكون أكثر سوءًا من جانغو.

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

أما بالنسبة PHP


قبل أن أبدأ العمل ، قرأت كتابًا: Matt Zandra - كائنات PHP وقوالبها وتقنيات البرمجة ، وتأكدت من أن PHP ، بشكل عام ، دون أي ألم معين ، يسمح لك بتنفيذ أنماط تنمية معينة. أي في PHP ، يمكنك كتابة الرمز الصحيح ، والذي لن يختلف كثيرًا عن ما نحصل عليه في Python / Java.

الإطار زيند 1


قابلني مشروع الخدمة الداخلية Zend Framework 1 في PHP 5.3. يجب أن أقول على الفور أن العديد من القرارات على هذا النظام الأساسي تبدو مثيرة للجدل للغاية ، ولغة PHP 5.3 تفرض قيودًا على تحديد نوع إرجاع الوظائف (الأساليب) ، ومع ذلك ، ستفهم بسرعة أين تكمن ، وكيف يتم تشكيلها ، وكيف يتم تشكيلها.

على سبيل المثال ، إذا كنا نفكر في نماذج Zend ، فإنهم يقومون عملياً بنفس العمل الذي تقوم به الأشكال التقليدية في جانغو. بناء جملة إنشاء الاستعلامات في DB Zend DB Table لا يتسبب في أي سلبي ، ومن الواضح أنه يعمل بشكل جيد.

أي في غضون 2-3 أيام ، تمكنت من الفهم الكامل وبدأت في كتابة التعليمات البرمجية التي فعلت ما هو مطلوب منه بطريقة كافية تمامًا.

سيمفوني 3.4


بعد 3 أشهر ، تم نقلي إلى مشروع آخر على Symfony 3.4 و PHP 7.1 - وهذه مجرد قنبلة. كان لدي شعور بصراحة أنهم منحوني أقلام جانغو ، حيث أضافوا موثوقية النظام من جافا.

  • محرك قالب غصين - استنساخ كامل من Jinja من جانغو.
  • عقيدة ORM - التناظرية من السبات
  • التعليقات التوضيحية لـ Symfony - تناظرية للديكور من بيثون
  • الأسلاك الآلية Symfony - أكثر وضوحًا من DI في Spring
  • تكوينات واضحة من السرية
  • بناء مريحة للعملاء بقية API.
  • هجاء مناسب لمهمة التاج (في هذه الحالة ، يطلق عليها أوامر وحدة التحكم في السمفونية)
  • مريحة المصحح ومساعد وحدة التحكم.

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

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

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

هل هناك فرق


أريد أيضًا أن أشير إلى هذه النقطة ، بعد أن عملت على 3-4 أطر ويب حديثة ، ستفهم أن كل شيء يعمل بطريقة مماثلة في كل مكان. تختلف الأسماء والتطبيقات ، والمفاهيم العامة هي من 1 إلى 1. لذلك ، إذا كنت تعمل على Django ، فيمكنك التحويل إلى php Symfony / .Net CORE MVC - يمكنك القيام بذلك بسهولة في غضون شهرين.

ملاحظة: إذا كنت ما زلت أعمى وأغبياء ، يرجى التعليق.

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


All Articles