تطوير تطبيق إدارة المهام Todo – 1

المقدمة

هذا الدليل الشبه شامل للمبتدئين ، يقوم بتقديم إيطار العمل لارافيل Laravel إليكم كبادئة رائعة يمكنك تعلم الأساسيات، ويتضمن مايلي:

  • بناء قواعد البيانات عن طريق المايغريشنز Migrations
  • العم بليغ  Eloquent
  • بناء المسارات Routing
  • المصادقة  Validation
  • و طبعاً كيف نتعامل مع العرض Views و محرك القوالب البسيط الفعال والرائع Blade.

هذه نقطة بداية رائعة في حال كنت جديداً على إيطار العمل لارافيل أو حتى على أطر العمل الخاصة بالـ php عموماً.

وفي حال إستخدامك لهذا الإيطار Laravel أو لغيره من أطر عمل بي إتش بي  من قبل فسيكون هذا المقال عبارة عن أمر بسيط جداً لك يمكنك الإستفادة منه كمرجع من وقت لآخر … ويكون لك Code Snippet 😉

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

To-Do list Application

وطبعاً الدرس الكامل موجد على المستودع Repository الخاص به على موقع الغيت هاب GitHub.

التنصيب

بالطبع في البداية نحتاج إلى نسخة جديدة من إيطار العمل لارافيل كما يمكنك إستخدام البيئة الوهمية هومستيد Homestead في حال رغبتك لمعرفة المزيد حول تنصيبها يمكنك مشاهدة هذا الفيديو.

و في حال عدم رغبتك في إستخدامها كبيئة تطوير فلك حرية إختيار أي بيئة وأي مخدم لقراءة ملفات البي إتش بي وقواعد البيانات ماي إس كيو إل. مثل XAMPP WAMP DOCKER ….. الخ

بعد التأكد من أن بيئة العمل لديك تعمل بشكل صحيح عليك بالبدء بتنزيل نسخة لارافيل عن طريق الكومبوسر Composer

في حال عدم معرفتك بالكومبسور أو أردت إسترجاع معلومة ما، الرجاء متابعة الفيديو الخاص به.

للشروع بالتنصيب (التحميل) الرجاء تشغيل الأمر التالي:

composer create-project laravel/laravel quickstart –prefer-dist

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

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

git clone https://github.com/laravelme/quickstart-basic.git quickstart

cd quickstart

composer install

php artisan migrate

 

تجهيز قاعدة البيانات


ترحيل قاعدة البيانات بطريقة Migrations

أولاً دعونا نستخدم ترحيل ليقوم بتعرف جدولاً فيه جميع المهام. جزئية الترحيل في لارافيل تجعل من أمور مثل تعريف جدول وبنيته وتعديلاته من أسهل ما يكن بإستخدام  شفرات بي إتش بي php طليقة ومُعبرة، بدلاً من إخبار فريقك ــ أو زميلك المختص في هذا المجال أو المسؤول عنه ــ على أن يقوم بالتعديل بشكل يدوي على الأعمدة وقاعدة البيانات الموجودة على أجهزتهم، يمكنهم ( لفريقك أو لزميلك) ببساطة أن يقوم بتشغيل أمر المايغريشن Migration الذي قمت بإرساله لهم عن طريق تحديث المستودع الخاص بكم على أحد مواقع الـتي تدعم Git أو بإرساله لهم بطريقة ما مثلاً  Flash stick ، لا أعتقد أنك تستخدمها بعد الآن؟! دعني اسمع  رأيك في التعليقات لكي يكن عندي فكرة عن رأيك بالـغيت Git او في حال إحتجت لمساعدة ما، أو لربما لفيديو عنه!

 

وبالتالي دعونا نبني جدول قاعدة بيانات Database الذي سيحوي جميع المهام كما ذكرنا سابقاً، وهنا يجدر بنا الترحيب بالحرفي المُحترف آرتيسنا Artisan هو عبارة عن CLI أي تطبيق بسيط يعمل على  تيرمينال (موجه الأوامر)   Command Line interface .
كتب طبعاً بواسطه البي إتش بي ببساطة و لتشغيله نستخدم موجه الأوامر بدلاً من المستعرض.
وللتعريف على الهدف من وراء إستخدامه بجملة واحدة: هو أداة تساعدنا على توليد ملفات في تطبيقنا،  وهذا أمر يُسهل علينا الكثير من الأمور، وخصوصاً لاحقاً عند توليد عدة ملفات في آنٍ واحد 🙂 مثل model + migration  او event + event listener …سنتكلم عنها لاحقاً وسنشعر بفائدته في كل يومٍ أكثر فأكثر.

وفي حالتنا دعونا نولد مايغريشن Migration ، أي ترحيل لقاعدة البيانات لنُنشئ جدول المهام :

php artisan make:migration create_tasks_table —create=tasks

 سيتم إنشاء ملف المايغريشن في database/migrations ومن الممكن أنك لاحظت أنّ الامر make:migration  قد قام بتوليد عامود ترقيم تلقائي بإسم ID و توليد الطوابع الزمنية timestamps  والتي هي عبارة عن عامودين أنشئ في و تم تحديثه في، دعونا نقوم بالتعديل على هذا الملف وإضافة عامود جديد من نوع سلسلة محارف string ليقوم بإحتواء إسم المهمة التي سنقوم بإنشاءها عبر تطبيقنا ليكون الشكل النهائي لملف المايغريشن:

<?php

use Illuminate\Database\Schema\Blueprint;

use Illuminate\Database\Migrations\Migration;

class CreateTasksTable extends Migration

{

    /**

     * Run the migrations.

     *

     * @return void

     */

    public function up()

    {

        Schema::create('tasks', function (Blueprint $table) {

            $table->increments('id');

            $table->string('name');

            $table->timestamps();

        });

    }

    /**

     * Reverse the migrations.

     *

     * @return void

     */

    public function down()

    {

        Schema::drop('tasks');

    }

}

 

لتشغيل المايغريشن سنستخدم أمر آخر من الحرفي أرتيسان Artisan ، في حال إستخدامك للهومستيد Homestead عليك تشغل الأمر التالي من داخل الهومستيد والسبب أن قاعدة البيانات ليست على جهازك المُستضيف وإنما على بيئة التطوير هومستيد والتي هي نظام متكامل يعمل وهمياً.

php artisan migrate

الأمر في الأعلى سيقوم بإنشاء جميع الجداول قاعدة البيانات، عند فحصك لجداول قاعدة البيانات عبر تطبيق من إختيارك مثل phpMyAdmin  أو  Sequel Pro أو غيرهم على حسب رغبتك، يجب ان ترى جدول المهام  tasks والذي يحوي على الأعمدة التي قمنا بكتابتها عبر ملف المايغريشن المولد في الأعلى، و الآن مستعدون لنُعرف العم بليغ Eloquent ORM على جدولنا ونبني النموذج أو الطرز (المودل Model) الخاص بالمهام!

هنا نكون قد إنتهينا من الجزء الأول، تابع بالجزء الثاني.

الرجاء ترك تعليقك في حال رغبتك بالسؤال أو حتى بمجرد إبداء الرأي.

رأي واحد على “تطوير تطبيق إدارة المهام Todo – 1”

  1. اهنئك على موقعك والمتميز في تعليم لارفل ولكن كنت اود في شرح لبرمجة timeline في منصة لارفل وكيفيك التعامل معها في المتحكم واشكرك مرة اخرى على شرحك الرائع جدا

التعليقات مغلقة.