ما هو مفهوم OOPs؟ كيف يمكنك إنشاء عملية الخام؟

نشرت: 2022-04-28

استخدم كل مطور البرمجة الموجهة للكائنات (OOP) في وقت ما من حياتهم المهنية ، وتعتبر نموذجًا أساسيًا للبرمجة. عند استخدام OOPs ، فإن الهدف الأساسي هو ربط البيانات والوظائف التي تؤدي العمليات عليها بشكل آمن ، مما يمنع أي جزء آخر من التعليمات البرمجية من الوصول إلى تلك المعلومات.

نصائح لإدارة مشروع الويب لتطوير الويب بنجاح

في هذه المدونة ، سأشرح مبادئ مفهوم oop ، وكيفية إنشاء عملية Crud باستخدام Laravel ، وهو أمر معروف جيدًا في تطوير الويب.

ما هو OOPs؟

نظام البرمجة الشيئية (OOPs) هو نهج لتطوير البرمجيات يصمم تطبيقات حول كائنات العالم الحقيقي مثل الموظفين والسيارات والحسابات المصرفية ، إلخ.

اثنان من مفاهيم OOPs العامة في Java هما فئة وكائن. تحدد الفئة خصائص وأساليب كائن في العالم الحقيقي ، في حين أن الكائن هو حدوث للفئة.

هناك ثلاثة مكونات أساسية لتوجيه الكائن. هؤلاء هم:

  • التحليل الكينوني - وظائف النظام
  • التصميم الكينوني - هندسة النظام
  • البرمجة الشيئية - تنفيذ التطبيق

المبادئ الرئيسية لـ OOP

اسمحوا لي أن أقدم لكم المبادئ الثلاثة الرئيسية لل OOP.

التغليف

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

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

ميراث

إعادة الاستخدام هو الغرض الرئيسي من الميراث. هنا ، يهتم بالعلاقة بين الطبقات. يمكن للفئات المختلفة استخدام الطرق المحددة للوراثة من فئة أصل.

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

تعدد الأشكال

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

كيفية إنشاء عملية الخام باستخدام Laravel؟

Laravel عبارة عن إطار عمل لتطبيق ويب مفتوح المصدر مع بنية معبرة وأنيقة. يوفر إطار عمل الويب هيكلًا ونقطة بداية لإنشاء تطبيق ، مما يتيح لك التركيز على الجوانب الرئيسية.

كإطار عمل PHP ، يدعم Laravel البرمجة الموجهة للكائنات. يستخدم Laravel نمط تصميم وحدة التحكم في عرض النموذج (MVC) لإنشاء تطبيقاته.

يدعم Php البرمجة الموجهة للكائنات ، وهي أسرع وأسهل في الأداء من لغات البرمجة التقليدية. كان Php4 هو أول إصدار من PHP يتضمن البرمجة الشيئية (OOP). عندما يتعلق الأمر بالبرمجة ، فإن البرمجة الموجهة للكائنات هي تقنية تسمح للمطورين بترتيب البيانات وهيكل التطبيق في فئات.

سنرى الآن كيفية إنشاء عملية Crud (إنشاء وقراءة وتحديث وحذف).

للبدء بأي لغة برمجة ، يجب أن يكون لديك معرفة أساسية بأي لغة ستبدأ. لذلك ، أبدأ بـ Laravel ، المشهور جدًا في تطوير الويب.

الخطوة 1: الخطوة الأولى هي تثبيت مشروع Laravel. يمكنك تنزيل أي إصدار من Laravel. هنا ، قمت بمشاركة الموقع الرسمي لـ Laravel أدناه:

https://laravel.com/docs/8.x/installation#why-laravel

يمكنك تثبيته باستخدام الملحن ، أو يمكنك فقط تثبيت المجلد والاحتفاظ به في مجلد htdocs.

يمكنك تنزيل الملحن باتباع الخطوات الموضحة في الرابط أدناه:

https://getcomposer.org/download/  

يمكنك التحقق مما إذا كان Composer مثبتًا في نظامك عن طريق فتح CMD (موجه الأوامر) وكتابة composer والضغط على enter. سيظهر لك الملحن كما يلي:

كيفية إنشاء عملية Crud باستخدام Laravel الخطوة 1

أنت الآن جاهز لتثبيت مشروع Laravel. للقيام بذلك ، يرجى اتباع الخطوات أدناه:

يجب أولاً زيارة موقع الويب الرسمي لـ Laravel: https://laravel.com/docs/

هنا يمكنك اختيار أي إصدار تريد العمل به:

تثبيت Laravel

حدد إصدار التطبيق الخاص بك وانتقل لأسفل حتى ترى الأمر كما هو موضح أدناه:

الملحن create-project - prfer-dist laravel / laravel blog "5.8. *"

الملحن يخلق المشروع

الرجاء استخدام هذا الأمر في لوحة cmd ، وبمجرد الضغط على هذا الأمر ، سيبدأ تنزيل مشروعك.

تأكد من أنك تقوم بالتنزيل في مجلد htdocs:

تحميل في htdocs forlder سيستغرق الأمر دقيقتين ، وبمجرد أن يتم تنزيل المشروع ، سترى بنية المجلد كما هو موضح في الصورة أدناه:

مشروع تم تنزيله

الخطوة 2: تحديث تكوين قاعدة البيانات

في الخطوة الثانية ، ستقوم بتكوين قاعدة بيانات. على سبيل المثال ، اسم قاعدة البيانات ، واسم المستخدم ، وكلمة المرور ، وما إلى ذلك ، لتطبيق Crud الخاص بك في Laravel 5.8. لذا عليك الآن فتح ملف .env وملء جميع التفاصيل كما هو موضح أدناه:

تحديث تكوين قاعدة البيانات 1تحديث تكوين قاعدة البيانات 2

الخطوة 3: الخطوة التالية هي إنشاء الجدول.

ستقوم بإنشاء تطبيق Crud للمنتج. لذلك ، عليك إنشاء ترحيل لجدول "المنتجات" باستخدام أمر الحرفي Laravel 5.8 PHP.

أولاً ، قم بتشغيل هذا الأمر في دليل المشروع الخاص بك:

عمل الحرفي php: الترحيل create_products_table --create = products

اصنع الجدول هنا يمكنك مشاهدة عملية الترحيل التي تم إنشاؤها مؤخرًا:

خلق الهجرة افتح ملف الهجرة الخاص بك والصق ما هو مذكور أدناه:

ملف الهجرة

<؟ php

استخدام Illuminate \ Support \ Facades \ Schema ؛

استخدم Illuminate \ Database \ Schema \ Blueprint ؛

استخدم Illuminate \ Database \ Migrations \ Migration ؛

يوسّع CreateProductsTable فئة الترحيل

{

الوظيفة العامة ()

{

المخطط :: إنشاء ('المنتجات' ، الوظيفة (جدول مخطط $) {

$ table-> الزيادات ('id') ؛

الجدول $-> سلسلة ("الاسم") ؛

$ table-> text ("التفاصيل") ؛

$ table-> الطوابع الزمنية () ؛

}) ؛

}

الوظيفة العامة أسفل ()

{

المخطط :: dropIfExists ('المنتجات') ؛

}

}



الآن عليك تشغيل الأمر: php artisan migrate. وبمجرد تشغيل هذا الأمر ، سيتم إنشاء الجدول الخاص بك في قاعدة البيانات.

الخطوة 4: إنشاء مسار الموارد

هنا ، نحتاج إلى إضافة مسار موارد لتطبيق crud للمنتج. للقيام بذلك ، افتح ملف "route / web.php" الخاص بك وأضف المسار التالي.

الطرق / web.php

إنشاء طريق الموارد

المسار :: الموارد ('المنتجات' ، 'ProductController') ؛

كيفية تنفيذ الدفع المتكرر مع الشريط: دليل كامل

الخطوة 5: إنشاء وحدة تحكم ونموذج

في هذه الخطوة ، يجب علينا الآن إنشاء وحدة تحكم جديدة باسم ProductController. لذا قم بتشغيل الأمر أدناه وإنشاء وحدة تحكم جديدة. استخدم وحدة التحكم الجديدة لإنشاء وحدة تحكم في الموارد.

صنع الحرفيين php: وحدة تحكم ProductController --resource --model = Product

<؟ php

مساحة التطبيق App \ Http \ Controllers ؛

استخدام التطبيق \ المنتج ؛

استخدام Illuminate \ Http \ Request ؛

فئة ProductController توسع وحدة التحكم

{

مؤشر الوظيفة العامة ()

{

المنتجات $ = المنتج :: الأحدث () -> ترقيم الصفحات (5) ؛

عرض الإرجاع ("products.index" ، مضغوط ("المنتجات"))

-> مع ('i' ، (طلب () -> إدخال ('صفحة' ، 1) - 1) * 5) ؛

}

إنشاء الوظيفة العامة ()

{

عرض العودة ('products.create') ؛

}

متجر الوظيفة العامة (طلب $ طلب)

{

طلب $-> التحقق من صحة ([

"الاسم" => "مطلوب" ،

"التفاصيل" => "مطلوب" ،

]) ؛

المنتج :: إنشاء ($ request-> all ())؛

إعادة التوجيه () -> المسار ('products.index')

-> مع ("نجاح" ، "تم إنشاء المنتج بنجاح.") ؛

}

عرض الوظيفة العامة (المنتج $ المنتج)

{

عرض الإرجاع ('products.show'، Compact ('product'))؛

}

تعديل الوظيفة العامة (المنتج $ المنتج)

{

عرض الإرجاع ('products.edit'، compact ('product'))؛

}

تحديث الوظيفة العامة (Request $ request، Product $ product)

{

طلب $-> التحقق من صحة ([

"الاسم" => "مطلوب" ،

"التفاصيل" => "مطلوب" ،

]) ؛

$ product-> update ($ request-> all ())؛

إعادة التوجيه () -> المسار ('products.index')

-> مع ("نجاح" ، "تم تحديث المنتج بنجاح") ؛

}

تدمير الوظيفة العامة (المنتج $ المنتج)

{

$ product-> حذف () ؛

إعادة التوجيه () -> المسار ('products.index')

-> مع ("نجاح" ، "تم حذف المنتج بنجاح") ؛

}

}

سيبدو نموذجك كما هو موضح في الصورة أدناه.

نموذج

الخطوة 6: إنشاء ملفات Blade

المجلد: resources / views / products / layout.blade.php

الموارد / المشاهدات / المنتجات / index.blade.php

إنشاء ملفات بليد 1

إنشاء ملفات شفرة 2

الموارد / المشاهدات / المنتجات / create.blade.php

extends ("products.layout")

section ("محتوى")

<div class = "row">

<div class = "col-lg-12 margin-tb">

<div class = "pull-left">

<h2> إضافة منتج جديد </ h2>

</div>

<div class = "pull-right">

<a class="btn btn-primary" href=""> رجوع </a>

</div>

</div>

</div>

if (أخطاء $-> أي ())

<div class = "alert-alert-danger">

<strong> عفوًا! </ strong> حدثت بعض المشكلات في إدخالك. <br> <br>

<ul>

foreach ($ errors-> all () كـ $ error)

<li> </li>

تضمين التغريدة

</ul>

</div>

@إنهاء إذا

<form action = "" method = "POST">

تضمين التغريدة

<div class = "row">

<div class = "col-xs-12 col-sm-12 col-md-12">

<div class = "form-group">

<strong> الاسم: </ strong>

<input type = "text" name = "name" class = "form-control" placeholder = "Name">

</div>

</div>

<div class = "col-xs-12 col-sm-12 col-md-12">

<div class = "form-group">

<strong> التفاصيل: </ strong>

<textarea class = "form-control" name = "details" placeholder = "Detail"> </textarea>

</div>

</div>

<div class = "col-xs-12 col-sm-12 col-md-12 text-center">

<button type = "submit" class = "btn btn-primary"> إرسال </ زر>

</div>

</div>

</form>

endection

الموارد / المشاهدات / المنتجات / edit.blade.php

extends ("products.layout")

section ("محتوى")

<div class = "row">

<div class = "col-lg-12 margin-tb">

<div class = "pull-left">

<h2> تحرير المنتج </ h2>

</div>

<div class = "pull-right">

<a class="btn btn-primary" href=""> رجوع </a>

</div>

</div>

</div>

if (أخطاء $-> أي ())

<div class = "alert-alert-danger">

<strong> عفوًا! </ strong> حدثت بعض المشكلات في إدخالك. <br> <br>

<ul>

foreach ($ errors-> all () كـ $ error)

<li> </li>

تضمين التغريدة

</ul>

</div>

@إنهاء إذا

<form action = "" method = "POST">

تضمين التغريدة

method ("PUT")

<div class = "row">

<div class = "col-xs-12 col-sm-12 col-md-12">

<div class = "form-group">

<strong> الاسم: </ strong>

<input type = "text" name = "name" value = "" class = "form-control" placeholder = "Name">

</div>

</div>

<div class = "col-xs-12 col-sm-12 col-md-12">

<div class = "form-group">

<strong> التفاصيل: </ strong>

<textarea class = "form-control" name = "details" placeholder = "Detail"> </textarea>

</div>

</div>

<div class = "col-xs-12 col-sm-12 col-md-12 text-center">

<button type = "submit" class = "btn btn-primary"> إرسال </ زر>

</div>

</div>

</form>

endection

الموارد / المشاهدات / المنتجات / show.blade.php

إنشاء ملفات شفرة 3

الآن بعد أن انتهيت من جميع التعليمات البرمجية ، كل ما عليك فعله هو تشغيل أمر واحد فقط في cmd الخاص بك.

قم بتشغيل الأمر على كمد

تغليف

في هذه المدونة ، عرّفتك على مفهوم OOPs ، وهو نموذج برمجة أساسي. كما تم شرح المبادئ الرئيسية ل OOPs. كما أوضحت المدونة الإجراء خطوة بخطوة لإنشاء عملية Crud في Laravel.

يصعب كتابة البرامج الكبيرة ، ولكن إذا التزم فريق التطوير والتصميم بالمبادئ الموجهة للكائنات ، فسيكون بمقدورهم إنشاء تصميمات أفضل مع عدد أقل من العيوب. لأن كل كائن موجود بمفرده ، فإنه يساعد على زيادة نمطية البرنامج.

آمل أن تكون هذه المدونة مفيدة لك. يمكنك زيارة www.webdew.com لقراءة المزيد من المدونات. وإذا كنت تبحث عن خدمات تصميم مواقع الويب أو تطوير الويب ، فلا تتردد في الاتصال بنا!

المحرر: عمروثا