ما هو مفهوم 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. سيظهر لك الملحن كما يلي:

أنت الآن جاهز لتثبيت مشروع Laravel. للقيام بذلك ، يرجى اتباع الخطوات أدناه:
يجب أولاً زيارة موقع الويب الرسمي لـ Laravel: https://laravel.com/docs/
هنا يمكنك اختيار أي إصدار تريد العمل به:

حدد إصدار التطبيق الخاص بك وانتقل لأسفل حتى ترى الأمر كما هو موضح أدناه:
الملحن create-project - prfer-dist laravel / laravel blog "5.8. *"

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

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


الخطوة 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


الموارد / المشاهدات / المنتجات / 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

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

تغليف
في هذه المدونة ، عرّفتك على مفهوم OOPs ، وهو نموذج برمجة أساسي. كما تم شرح المبادئ الرئيسية ل OOPs. كما أوضحت المدونة الإجراء خطوة بخطوة لإنشاء عملية Crud في Laravel.
يصعب كتابة البرامج الكبيرة ، ولكن إذا التزم فريق التطوير والتصميم بالمبادئ الموجهة للكائنات ، فسيكون بمقدورهم إنشاء تصميمات أفضل مع عدد أقل من العيوب. لأن كل كائن موجود بمفرده ، فإنه يساعد على زيادة نمطية البرنامج.
آمل أن تكون هذه المدونة مفيدة لك. يمكنك زيارة www.webdew.com لقراءة المزيد من المدونات. وإذا كنت تبحث عن خدمات تصميم مواقع الويب أو تطوير الويب ، فلا تتردد في الاتصال بنا!
المحرر: عمروثا
