اذهب إلى المحتوى

Waleed Alfakiat

الأعضاء
  • المساهمات

    88
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    2

كل منشورات العضو Waleed Alfakiat

  1. يمكنك إيقافها بشكل مؤقت من خلال تعطيل قيمة المتغير timestamps ->timestamps = false; في النموذج المستخدم بعملية التعديل قبل القيام بحفظ التغييرات ليصبح هكذا: $user = User::find(1); $user->timestamps = false; $user->age = 10; $user->save(); بهذه الطريقة, تم إيقاف timestamps مؤقتًا في هذا الكائن فقط
  2. يمكنك مشاركة المشروع مع الأجهزة الأخرى بداخل الشبكة من خلال تشغيل الخادم وتعيين المُضيف 0.0.0.0 حتى يصبح الجهاز (خادم) ويتيح الوصول من خلال الأجهزة الأخرى فنقوم بتنفيذ الأمر الخاص بتشغل الخادم في Laravel: php artisan serve --host 0.0.0.0 بهذه الطريقة يمكننا الوصول إلى البرنامج من خلال الرابط (عنوان IP الخاص بالجهاز المشغل للبرنامج): http://192.168.1.101:8000 حيث أن المنفذ 8000 هو الافتراضي عند تشغيل الخادم في Laravel, ولتغييره للوصول إلى البرنامج بشكل مباشر نقوم بتغيير المنفذ إلى 80 وهو الإفتراضي في بروتوكول HTTP عن طريق تمرير قيمة المنفذ في أمر التشغيل: php artisan serve --host 0.0.0.0 --port 80 ليصبح الرابط للوصول إلى البرنامج عن طريق عنوان IP الخاص المضيف داخل الشبكة مباشرة http://192.168.1.101
  3. مشروع Laravel الخاص بك لا يتحوي على مفتاح تشفير key لذلك يظهر هذا الخطأ, ولإنشاء مفتاح تشفير ننفذ الأمر التالي: php artisan key:generate حيث يقوم بإنشاء مفتاح خاص بالبرنامج تلقائيًا
  4. من خلال ملف php.ini ( حيث يمكنك الوصول إليه من خلال خيار البحث في شريط المهام ) نقوم بالبحث في الملف عن خيار max_execution_time المسؤول عن المدة الزمنية المحددة لتنفيذ البرنامج, فنقوم بتغيير القيمة إلى الزمن المطلوب بالثواني (150 ثانية), هكذا: ;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;; max_execution_time = 150 ^^^ ثم نقوم بحفظ التغييرات وإعادة تشغيل الخادم appache من خلال الأمر: service apache2 restart
  5. تدعم Laravel إنشاء استثناءات لـ CSRF Token عن طريق الملف App\Http\Middleware\VerifyCsrfToken فنقوم بإضافة المسارات التي نرغب باستثنائها بشكل مصفوفة بداخل المتغير protected $except = [] //array. فمثلًا لو أردنا إضافة استثناء للمسار 127.0.0.1/demo يكون الاستثناء بهذا الشكل protected $except = [ '/demo', ]
  6. يمكنك إعداد هذا الخيار في ملف migration الخاص بتهجير البيانات الفرعية عن طريق القيد ->onDelete('cascade') فنقوم بإضافة القيد على حقل foreign_key المرتبط بالنموذج الأساسي ... $table->foreign('user_id') ->references('id')->on('users') ->onDelete('cascade'); ... وهذا يعني حذف السجل الفرعي عند حذف السجل الرئيسي المرتبط به تلقائيًا
  7. يمكنك استخدام الأسماء المستعارة في Laravel كما كنت تستخدمها في MySQL باستخدام الكلمة المفتاحية AS فيصبح الاستدعاء كالتالي: $users = DB::table('really_long_table_name AS t') ->select('t.id AS uid') ->get();
  8. يتم تشفير كلمات السر في Laravel عن طريق الدالة bcrypt(); ويتم تمرير كلمة المرور الغير مشفرة إليها وتعمل على تشفيرها وإعادتها بالشكل الجديد $password = bcrypt('hsoub');
  9. يتم تجهيز القالب الرئيسي ونسميه layout.blade.php ويكون محتواه: <html> <html> @yield('content') </html> بحيث أنّ @yield('content') // هي الجزئية التي سيحل مكانها القالب الفرعي والقالب الفرعي نسميه: index.blade.php ويحتوي على @extends('layout') // -> 1 @section('content') // -> 2 <html here> // -> 3 @endsection حيث أنّ: 1: استدعاء القالب الرئيسي 2: اسم الجزئية التي سيتم عرض القالب الفرعي بداخل القالب الرئيسي 3: محتوى القالب الفرعي وفي المتحكم يتم استدعاء القالب الفرعي ليظهر بصورته النهائية: return view('index');
  10. يمكنك التحكم في بيانات الاتصال في قاعدة البيانات من خلال الدالة: Config::set('key', 'value'); حيث يتم تعيين البيانات الجديدة من خلال تمريرها إلى الدالة كالتالي: Config::set("database.connections.mysql", [ "host" => "new_host", "database" => "new_database", "username" => "new_username", "password" => "new_password" ]); بعد ذلك يتم اجراء العمليات (إضافة, تعديل, حذف, قراءة) في قاعدة باستخدام الاتصال الجديد الذي تم تعيينه
  11. تأكد من أنّ المشغل الخاص بقاعدة البيانات مفعّل وذلك في ملف php.ini ;extension=php_pdo_mysql.dll ^ قم بمسح إشارة ";" الموجودة في بداية السطر لتفعيل المشغل وإذا لم تعمل بالشكل الصحيح أو لم تجدها, فعليك تثبيت المكتبة عن طريق: 1- معرفة إصدار php الخاص لديك من خلال: php -v 2- بعد ذلك قم بتحميل المكتبة الموافقة للإصدار (إحدى هذه المكتبات): php 7.0 sudo apt-get install php7.0-mysql php 7.1 sudo apt-get install php7.1-mysql php 7.2 sudo apt-get install php7.2-mysql php 7.3 sudo apt-get install php7.3-mysql 3- ومن ثمّ إعادة تشغيل Xampp أو تنفيذ الأمر: service apache2 restart
  12. من خلال المتحكم, قم بتمرير قيم JSON التي تم تحويلها على شكل مصفوفة إلى view return view('name')->with('leads', json_decode($leads, true)); وفي ملف blade نقوم بطباعة المصفوفة عن طريق foreach لقراءة كل قيمة لوحدها: @foreach($leads['member'] as $member) Member ID: {{ $member['id'] }} Firstname: {{ $member['firstName'] }} Lastname: {{ $member['lastName'] }} Phone: {{ $member['phoneNumber'] }} Owner ID: {{ $member['owner']['id'] }} Firstname: {{ $member['owner']['firstName'] }} Lastname: {{ $member['owner']['lastName'] }} @endforeach
  13. في Laravel يتم التحقق من checkbox باستخدام القاعدة: accepted بدلًا من: required فيصبح البرنامج: return Validator::make($data, [ ... 'checkbox' =>'accepted', ]);
  14. قم باستخدام هذه للطباعة: {{ }} فهي مخصصة لطباعة قيم المتغيرات بداخل ملفات blade مباشرة فيصبح كالأتي: {{ Request::segment(0) }}
  15. للحصول على الأخطاء التي قد تحصل عند إضافة سجل جديد نقوم بوضعها بداخل try & catch حيث تقوم بالحصول على الأخطاء حين حدوثها try{ $user = new User; $user->fields = $value; $user->save(); // true or false }catch(\Exception $e){ echo $e->getMessage(); // للحصول على معلومات الخطأ } ومن خلالها يمكننا معرفة المعلومات المتعلقة بالخطأ من خلال echo $e->getMessage();
  16. ممكن ترفق لنا الكود الخاص بإنشاء الكائن من النموذج $pdf ؟ مثل: pdf = new TCPDF();
  17. من خلال Laravel يمكنك الحصول على جميع المدخلات من خلال الدالة: Input::all(); ويمكنك إعادة التوجيه إلى الصفحة السابقة وتمرير القيم عن طريق: return Redirect::back()->withInput($values); فما علينا فعله هو إعادة التوجيه مع تمرير القيم التي حصلنا عليها كالآتي: return Redirect::back()->withInput(Input::all());
  18. في الإصدار الجديد من Laravel - 8 لا يتم تطبيق namespace للوصول إلى المتحكم بشكل مباشر, بل يجب استدعاؤه عن طريق كتابة المسار كاملًا, كالآتي: Route::get('register', 'App\Http\Controllers\RegisterController@register'); أو أن تقوم بإضافة namespace يدويًا وذلك بإضافة مسار الكلاس في ملف الموجهات كالآتي: use App\Http\Controllers\RegisterController; Route::get('/register', [RegisterController::class, 'register']);
  19. سبب الرسالة هو أنّ MySQL يحاول الاتصال بالخادم عن طريق Socket وهذا غير مدعوم في الخادم الذي تم رفع النظام عليه, فقم بتغيير بيئة العمل في Laravel عن طريق الأمر التالي: php artisan migrate --env=production وهنالك حل آخر: وهو تغيير قيمة DB_HOST الخاصة بقاعدة البيانات في ملف .env من 'localhost' إلى '127.0.0.1' ... DB_HOST=127.0.0.1 ... بسبب أنّ الخادم الاستضافة غير معرف على عنوان localhost ولذلك وجب تغييره إلى 127.0.0.1
  20. تتم برمجة المواقع التفاعلية باستخدام مكتبات JavaScript للتفاعل مع المستخدم, بالإضافة للغات البرمجة Php, Python وإذا أردت أحد المبرمجين لإنجاز المشروع, فيمكنك طلب مبرمج مستقل عن طريق https://mostaql.com/
  21. توفر لك Laravel إمكانية الحصول على جميع routes التي قمت بإنشائها عن طريق Route::getRoutes() بحيث تقوم بإرجاع routes على شكل RouteCollection, ومن خلال كل عنصر يمكنك قراءة المسار عن طريق $route->getPath() فيصبح الشكل كالآتي: $routes = Route::getRoutes(); foreach ($routes as $value) { echo $value->getPath(); }
  22. قم بتعيين الخيارات الخاصة بالصورة كالآتي: $pdf->Image($image_path, 50 , 10 , 100 , 20 , '', null, 'center'); ^^ ^^ ^^^ ^^ X Y W H بحيث أنّ X: أحداثيات الصورة (يمين - يسار) Y: أحداثيات الصورة (أعلى - أسفل) W: مقاس الصورة بالعرض H: مقاس الصورة بالطول
  23. ممكن تزودنا باسم المكتبة التي تقوم باستخدامها ؟
  24. يمكنك إنشاء حقل جديد في جدول موجود من قبل عن طريق استخدام خيار –table الذي نمرر من خلاله اسم الجدول الموجود عند استخدام make:migration لإضافة الحقول الجديدة إليه php artisan make:migration users_add_paid --table=users وسيتم إنشاء ملف migration جديد باسم users_add_paid نقوم بداخله بإضافة الحقول التي تريدها في دالة up(), كالتالي: public function up(){ Schema::table('users', function($table) { $table->integer('paid'); }); } وفي دالة down() نقوم بإضافة الكود الخاص بحذف هذا الحقل عند عمل rollback public function down() { Schema::table('users', function($table) { $table->dropColumn('paid'); }); } وبعد تجهيز الحقول, نقوم بتشغيل migration لتطبيق التعديلات php artisan migrate
  25. يمكنك في Laravel إدراج عدة جداول بجملة واحدة, وذلك عن طريق تجميعهم في مصفوفة وتمريرها في النموذج الخاص بالجدول, كالتالي: $data = [ ['user_id'=>'1', 'subject_id'=> 140], ['user_id'=>'2', 'subject_id'=> 270], ... ]; Model::insert($data); وفي البرنامج الخاص بك, فإنّ البيانات فعليًا مخزنة في المتغير $query فنقوم مباشرة بإدراجها في قاعدة البيانات : Model::insert($query);
×
×
  • أضف...