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

بلال زيادة

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

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

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

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

    30

كل منشورات العضو بلال زيادة

  1. يمكنك إضافة الحزمة إلى devDependencies بشكلٍ يدوي, قم بفتح ملف package.json و الذهاب إلى devDependencies ويمكنك إضافة أي حزمة , على سبيل المثال "devDependencies": { "@fortawesome/fontawesome-free": "^5.15.1", "@laylazi/bootstrap-rtl": "^4.5.3-1", "@laylazi/bootstrap-rtl-scss": "^4.5.3-1", "bootstrap": "^4.5.3", "jquery": "^3.5.1", "popper.js": "^1.16.1", }, ومن ثم تشغيل الأمر التالي npm install أو الأمر التالي npm update
  2. إذا كان لديك نظام التشغيل linux فيمكنك تحديث nodejs من خلال هذه الخطوات يجب تحديث مستودع الحزم من خلال الأمر التالي sudo apt update قم بتثبيت NVM من خلال الأمر curl : curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash أو يمكنك استخدام wget و تشغيل الأمر التالي wget -q0- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash ثم اغلق terminal و أعد فتحه حتى يتعرف النظام على التغييرات أو قم بتشغيل الأمر التالي source ~/.bashrc ثم تأكد من أن VNM تم تثبيتها بنجاح من خلال الأمر التالي nvm --version ثم قم بمحو الكاش من خلال الأمر التالي npm cache clean -f ثم قم بتنزيل node.js من خلال الأمر التالي npm install -g n لتحديث nodejs يمكنك الأنتقال إلى الموقع الرسمي لِ nodejs حيث يمكنك العثور على جميع الحزم المتاحة , يمكنك تنزيل الكود المصدري أو المثبت المدمج مسبقاً لإصدارات LTS أو أحدث إصدار. يمكنك إما تنزيل الحزمة من متصقح أو العثور على رقم الإصدار الذي تريده و إضافته إلى أمر wget على سبيل المثال get https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-x64-tar.xz قم بتثبيت xz-untils المستخدمة لاستخراج الحزم sudo apt-get install xz-untils ثم استخرج الحزمة و قم بتثبيتها عن طريق الأمر التالي , على سبيل المثال tar -C /use/local --strip-components 1 -xJf node-v14.17.0-linux-x64.tar.xz
  3. يمكنك إنشاء الزرين باستخدام جافاسكريبت باستخدام دالة document.createElement('a'); بهذا الشكل // إنشاء الزرين var btnOne = document.createElement('a'); var btnTwo = document.createElement('a'); ثم نقوم بإضافة عنوان لكل زر باستخدام دالة var linkOne = document.createTextNode("الزر الأول"); var linkOne = document.createTextNode("الزر الأول"); ثم نقوم بإضافة العنوان لكل زر بهذا الشكل btnOne.appendChild(linkOne); btnTwo.appendChild(linkTwo); ثم نقوم بوضع خاصية href لكل عنصر بهذا الشكل btnOne.href = "page1.html"; btnTwo.href = "page2.html"; ثم نقوم بإضافة الزرين إلى الصفحة document.body.appendChild(btnOne); document.body.appendChild(btnTwo);
  4. تحتاج يدوياً إلى تثبيت وحدات المستوى الأعلى , التي تحتوي على التبعيات npm install findup-sync@0.1.2 أو قم بإزالة مجلد node_modules باستخدام الأمر التالي rm -rf node_modeules/ ثم تشغيل الأمر التالي لتنظيف الكاش npm cache clean ثم أعد استخدام الأمر التالي npm install
  5. يمكنك استخدام mongoose.createConnection(); وبالتالي يمكنك وضع كل اتصال بمتغير بهذا الشكل const connectionOne = mongoose.createConnection("الاتصال بالسيرفر الأول"); const connectionTwo = mongoose.createConnection("الاتصال بالسيرفر الثاني");
  6. يمكنك تعليم ميزة الحجز للغرفة باستخدام حقل يحتمل true أو false أو قيمة 0 غير محجوز 1 محجوز , فيمكنك وضع حقل وليكن باسم `isOrdered` int(20) DEFAULT 0, وعند انشاء استعلام حجز الغرفة تقوم بوضع قيمة هذا الحقل لهذه الغرفة بقيمة 1 $sql = "insert into rooms(`room`, `isOrdered`) VALUES ('$room', 1); هذه هي الطريقة المتبعة بحيث تسهل عليك عمليات البحث و تمييز الغرف المحجوزة و الغير محجوزة.
  7. يمكنك فعل ذلك عبر تشفير النص باستخدام أكثر من دالة مثل md5 و sha1 ويمكنك ذلك بهذا الشكل <?php $string = "hsoub"; echo md5(md5(sha1($string))); ?> a105d279506e2b29e7ed66e00818ab6c فتكون نتيجة هذه الدوال نص مشفر بأكثر من دالة مما يصعب فك تشفيره.
  8. يتم إنشاء الإعدادات المحلية المفقودة باستخدام لغة locale-gen, يمكن ضبط الإعدادات المحلية (إلى en_US.UTF-8) على النحو التالي: export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 locale-gen en_US.UTF-8 dpkg-reconfigure locales
  9. يمكنك استخدام دالة md5 لتشفير كلمات المرور مثل $password = "123"; echo md5($password); ايضا يمكنك استخدام الدالة md5 في تشفير النصوص بهذا الشكل $string = "Hello" ; echo md5($string); ايضا يمكنك استخدام base64_encode في تشفير النصوص بهذا الشكل $string = "Hello" ; echo base64_encode($string);
  10. يمكنك استخدام Route Class بهذا الشكل retrun Illuminate\Routing\Router::toResponse($request, $response); أو يمكنك استخدام Facade بهذا الشكل return Route::toReqponse($request, $response); هذا مثال محدد لِ Octane Octane::route('GET', '/url', function($request) { return Route::toResponse($request, view('')); }); باستخدام هذا الأسلوب بإعادة أي شيء مثل array, model, string, redirect. إذا كنت تريد عرض معين فيمكنك استخدام use Illuminate\Http\Response; Octane::route('GET', '/url', function() { return new Response(view('')); });
  11. lumen هي نسخة مجردة من laravel و lumen لا يحتوي على جميع مميزات laravel و ايضا هناك خصائص غير موجودة على الإطلاق, ومن المهم عند تحويل مشروع الأخذ بعين الأعتبار : يجب ترحيل تعريفات المسار لأن Lumen يستخدم موجهًا مختلفًا لا يستخدم lumen ملف env. لذلك قد تلجأ إلى فك تعليق السطر التالي Dotenv::load() في ملف bootstrap\app.php لا يتم ايضا تمكين الواجهات مثل DB, Mail, Queue ولتفعيلها يجب إزالة التعليق عن السطر التالي $app->withFacades(); في ملف bootstrap\app.php ايضا يجب عليك تفعيل Eloquent من خلال إزالة التعليق عن السطر التالي $app->withEloquent(); في ملف bootstrap\app.php
  12. في بيئة العمل المحلية الخاصة بك , يجب التحقق من ملف composer.json و التحقق من أي عنصر في require يجب أن يكون ضمن require-dev و قم بنقله . ثم أحذف ملف composer.lock و من ثم إعادة التحديث composer update -vvv ومن ثم قم بأختبار مشروعك محلياً , وإذا كل شيء يعمل يمكنك نقل composer.lock الخاص بك إلى نظام التحكم في الإصدار الخاص بك وإعادة نشر التطبيق على Forge
  13. ربما يجب عليك تحديث نسخة laravel lumen التي تعمل عليها و التأكد مرة أخرى من المشكلة , أو يمكنك إنشاء Mail Provider جديد ليتم استعماله بدلاً من Provider الأقتراضي في المسار التالي app\Providers وليكن باسم MailServiceProvider.php <?php namespace App\Providers; use Illuminate\Mail\Mailer; use Illuminate\Mail\MailServiceProvider as BaseProvider; class MailServiceProvider extends BaseProvider { protected function registerIlluminateMailer() { $this->app->singleton('mailer', function ($app) { $config = $app->make('config')->get('mail'); $mailer = new Mailer( $app['view'], $app['swift.mailer'], $app['events'] ); $mailer->setQueue($app['queue']); foreach (['from', 'reply_to', 'to'] as $type) { $this->setGlobalAddress($mailer, $config, $type); } return $mailer; }); $this->app->configure('mail'); $this->app->alias('mailer', \Illuminate\Contracts\Mail\Mailer::class); } } ثم عليك بتسجيل هذه Provider في ملف app.php الموجود بداخل مجلد bootstrap عن طريق إضافة السطر التالي $app->register('\App\Providers\MailServiceProvider::class');
  14. تحتاج إلى إضافة OpenSSL إلى جهازك عن طريق تحميل نسخة الويندوز من هنا , ثم قم بإضافة مسار مجلد bin الذي يوجد داخل مسار البرنامج الذي قمت بتثبيته قد يكون باسم openssl-ثم رقم الإصدار , قم بإضافته إلى متغيرات البيئة, إذا كنت تقصد تفعيل openssl في php , يمكنك فتح ملف php.ini و البحث عن extension=php_openssl.dll ثم إزالة الفاصلة المنقوطة من بدايتها.
  15. يمكنك تنفيذ الأمر التالي php artisan config:clear و ايضا الأمر التالي php artisan cache:clear ثم تأكد بأنك أنشأت passport keys عن طريق الأمر التالي php artisan passport:install ثم تأكد من أنشاء client_id, client_secret باستخدام الأمر التالي php artisan passport:client ثم تأكد من إضافة HasApiTokens إلى ملف User.php بهذا الشكل use HasApiTokens; و لا تنسى إضافة use Laravel\Passport\HasApiTokens; إعلى الكلاس
  16. يبدو أنك نسيت نسخ مجلد storage لذلك يجب التأكد من وجوده أو لا , مع ذلك يجب إضافته بشكل يدوي أو عن طريق الأوامر التالية, يجب الدخول إلى المشروع عن طريق cmd و من ثم تطبيق الأوامر التالية. mkdir storage ثم قم بالدخول إلى داخل مجلد المشروع باستخدام الأمر التالي cd storage ثم قم بتنفيذ الأوامر التالية لإنشاء مجلد framework mkdir framework ثم قم بالدخول إلى مجلد framework ثم قم بتنفيذ الأوامر التالية mkdir sessions mkdir views mkdir cache ايضا تأكد من أن مجلد storage يملك تصريح 777 إذا كنت تستخدمه على استضافة أو سيرفر
  17. يحتفظ Session Flash ببيانات الجلسة لطلبين لأنه كان كان من المفترض استخدامه في عملية إعادة التوجيه. لذلك يوجد عملية الانسحاب من الجلسة بدلاً من الحصول عليها. باستخدام Session::pull , يحصل Session::pull على بيانات الجلسة و يزيلها من الجلسة. @if(Session::has('message)) <div class="alert alert-message">{{ Session::pull('message) }}</div> @endif
  18. يجب إضافة حقل fullname إلى مصفوفة fillable في ملف User.php , ايضا إذا كنتي تريدين تجاهله يجب إعطاءه قيمة فارغة كي لا يسبب لكي مشاكل مثل $table->string('fullname')->nullable(); أو يمكن تعديل الحقل من phpmyadmin و إعطائه null .
  19. ممكن وضع الكود الذي يحتوي على المشكلة ؟ لنساعدك في حل المشكلة
  20. طبعا يمكنك فعل ذلك باستخدام الإجابة السابقة
  21. يمكنك استخدام boostrap لأنشاء السلايدر بدون إعادة كتابة الكود من الصفر حيث توفر bootstrap مكون كامل للتعامل مع السلايدر بكافة خصائصه , مثل <div id="carouselExampleControls" class="carousel slide" data-bs-ride="carousel"> <div class="carousel-inner"> <div class="carousel-item active"> <img src="..." class="d-block w-100" alt="..."> </div> <div class="carousel-item"> <img src="..." class="d-block w-100" alt="..."> </div> <div class="carousel-item"> <img src="..." class="d-block w-100" alt="..."> </div> </div> <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleControls" data-bs-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="visually-hidden">Previous</span> </button> <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleControls" data-bs-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="visually-hidden">Next</span> </button> </div> حيث يمكنك التحكم في زر التالي و زر السابق من خلال <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleControls" data-bs-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="visually-hidden">Next</span> </button> حيث تقوم بوضع كافة التنسيقات التي تريدها لهذين الزرين, يمكنك متابعة توثيق بوتستراب للتعامل مع السلايدر من هنا .
  22. تمام , يمكن إنشاء هذا الريكويست الذي يفحص إذا كان الرقم موجود أو لا من خلال الاستعلام التالي $findNumber = Number::where('phone', 'like', '%' . $number . '%')->first(); $findNumber = Number::where('phone', 'like', '%' . $number . '%')->get();
  23. ممكن عن طريق request api الذي تفحص من خلاله رقم الجوال موجود ولا لا, هل أنت تستخدم php في الباك أند ؟
  24. نفس فكرة request api الذي يقوم بفحص الرقم موجود ولا لا من خلال استعلام mysql $findNumber = sprintf("SELECT * FROM table WHERE number LIKE '%s%%'", mysqki_real_escape_string($prefix)); $result = mysqli_query($conn, $findNumber); بحيث تفحص إذا كان في أول أو أخر الحقل موجود الرقم الذي تبحث عنه.
  25. يجب إرفاق الكود الخاص بك ليتم توضيحه لك من خلال الكود, أو تطبيق الفكرة التالية عندما تقوم بإرجاع رقم الجوال و تخزينه في قاعدة البيانات عن طريق api تقوم بعمل request api ثاني للتأكد بأن الرقم الجوال هل تم تخزينه ولا لا , ثم هذا request api إذا كان موجود الرقم في قاعدة البيانات يعود لك مثلا status : true إذا كان غير موجود يعود status: false و من ثم إذا كانت النتيجة false تقوم بإدخال الرقم إلى قاعدة البيانات باستخدام request api المخصص لذلك.
×
×
  • أضف...