إطلاق النسخه الثامنه من إطار العمل Horus الخاص بلغة PHP نسخه procedural

أولا لمن لا يعرف عن الإطار:

حورس هو اطار عمل ( مصغر جدا ) فهو عباره عن ملف واحد فقط يقوم بالمطلوب .

كلمة مصغر لا تعنى انه ف المشاريع البسيطه بل بالعكس ...

فنحن نعيش زمن تظهر فيه اطارات العمل المصغره بشكل سريع مثل sinatra فــ runy .. و flask فـــ python

لانها لا تجبر المطور على بنيه برمجيه معينه بل تعطيه كامل الحريه ف البناء واختيار ما يشاء بل يمكنه بناء اطار العمل الخاص به بهذه الاطارات المصغره

ليضع فيها بصمته


ثانيا:

إطار العمل حورس مر بمراحل عديده إبتداء من الاصدار 1.0 والى الان اذا اتجهت الى github archive سترى تطور حورس الفريمورك تدريجيا

إطار العمل كان الى النسخه 7.0 مطور ليصبح Object Oriented ... لاكن بعد التفكير وبعض الملاحاظات وجدت انه اصبح مطور لدرجة يمكن تقليصه اكثر فأكثر وزيادة الامكانيات اكثر لاكن بشكل تانى Procedural يعنى كل شئ عباره عن function وليس كلاسات ...

الخطوه دى تغير شامل ف المسار وهى كنوع من التغير بجانب المزيد من السرعه ...

ليس معنى انه فقط functions اى انه غير منظم ... بالعكس ... سوف ترى تنظيم شديد ف ال source code


ثالثا: حورس الفريمورك لنا نظره وغرض فيه ليس كباقى الاطارات وهذا الغرض احد اسباب اننا مصرين ان يستمر كما هو Micro Framework


رابعا:

الموقع الرسمى للإطار:

ومنه يمكنك الدخول على باقى المصادر كــ Github و Softpedia


التعليق السابق

بالنسبه للملاحظه ( الملف )

فعلا انا نسيت تحديث هذا الملف واهتممت بالامثله ( لاكن تم التحديث ) ( شكرا مره اخرى ع الملاحظه المهمه )

اما بخصوص ( قمت بخطوة كبيرة للوراء )

لا اعتقد هذا :) .. السبب هو ان طريقة البرمجه لك حره تختار ما شئت اما النواه procedural ولا ارى اى داعى لان اجعلها class سوا لزيادة بعض الاسطر فقط التى ليس لها داعى :)

عندما تجعل محتوى الملف ضمن كلاس فستختصر الكثير من الأسطر، ستستخدم

if(class_exists('Horus'))

مرة واحدة في بداية الملف بدلاً من كل سطر يحوي

if(function_exists(''))

عند وضع المحتوى في كلاس، سيكون أسهل استخدامه في مشاريع أكثر تعتمد على OOP دون تداخل بين الـ functions المختلفة.

إستعمال classes ليس فقط زيادة بعض الأسطر , فالكود يكون أكثر تنضيم بإستعمال classes وسيجنبك صداع الرأس في المستقبل , تخيل أني إستعملت مكتبة ما وكانت تحتوي هذه المكتبة دالة بنفس الإسم مذا سأفعل ؟ طبعا سأعدل إسم الدالة في الكود الخاص بك أو المكتبة التي أضفت على كود خاصتك .... بعدها مباشرة تبدأ المشاكل ... أقترح أن تترك الكود كما هو لكن ضعه في class وإستعمل static methods فيصبح إستدعاء دوال إطار العمل خاصتك كالتلي :

Horus::start();
Horus::finish();

قارن بين الوقت الذى يستغرقه سكربت بسيط يحتوى على التالى:

  • static methods

  • normal functions

  • normal object

اذا اقنعتنى النتيجه ساحوله static :) (( وبالتأكيد لن تقنع النتيجه ))

لان اذا اردت ان اعود الى object سيكون object عادى وليس static (( هناك نسخ اخرى بالفعل object ))

ربما يكون هناك فرق وربما لا , لكن أنا متأكد أن الفرق إذا وجد سيكون بضعة أجزاء أجزاء من الثانية وربما بعض الكيلوبايتات إضافية في إستهلاك الذاكرة .

اذا فــالموضوع ليس سرعه ولا شكل

ولاكنه "رأيك" :)

عموما ... الاطار معمول بحيث يكون مرن

انا عن نفسى بستخدمه ابنى بيه OO Apps

من غير مشاكل ... نواة لينكس procedural

php >> procedural ... لاكن تقدر تبنى oop عادى جدا

اللعبه ف ايد المطور :)

نواة لينكس مكتوبة ب C هههه

على العموم هذا رأي فقط , الأهم هو أنك تستمر في تطوير هذه الأدوات .

دمت سالما.