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

Adnane Kadri

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

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

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

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

    51

كل منشورات العضو Adnane Kadri

  1. قمت باعداد بيئة اختبارية مناسبة، أظن ان المشكلة تحديدا هي في تكوين ملف manifest.json من طرف vite نفسه. لجبر توليد هذا الملف في وضع البناء يوجد الخيار build.manifest ضمن كائن اعداد vite في ملف vite.config.js، تعريفه سيحل كامل المشكلة: export default defineConfig({ build: { // generate manifest.json in outDir manifest: true, }, .. ثم بالطبع اعادة بناء الاصول عن طريق npm run dev. قد تواجه مشكلة تخبرك ان vite غير معرف ضمن المشروع، يمكنك تثبيته هو الآخر عن طريق npm install vite --save-dev نفس الامر بالنسبة للوحدة laravel-vite-plugin npm install laravel-vite-plugin --save-dev ثم npm run dev مجددا. ابق خادم npm مشغلا وشغل php artisan serve وسيعمل معك المشروع بشكل طبيعي. أظن ان هاته التعارضات هي بسبب كون النسخة المستعملة من لارافيل نسخة انتقالية فقط، لم يتم فيها اعداد vite بشكل نهائي ولذلك فانه من الطبيعي ان تحدث مثل هاته المشاكل. ان كان لا بد من العمل على هاته النسخة، قم بتعريف امر جديد npm run build موافق لـ vite build في ملف package.json لاخراج ملفات الاصول لاحقا "scripts": { "build":"vite build", "dev": "vite", .. اعد تشغيل npm run build وستجد انه يتم توليد الملف المشار اليه بشكل عادي. (لاحظ مجلد build الذي ظهر داخل public). قم بتعديل هذا السطر من ملف manifest.json يدويا: "resources/css\\app.css": ليصبح: "resources/css/app.css": (لاحظ ان هاته الخطوة ضرورية لتجنب مشكلة عدم التعرف على app.css بعد البناء عن طريق npm run build) ثم قم بتحديث الصفحة. سيظهر تطبيقك بشكل عادي، يمكن العمل عليه على التطوير والانتاج على حد سواء اخبرني ما ان لم يحل هذا المشكلة لديك.
  2. لا امتلك بيئة مناسبة يمكن من عليها اختبار المشروع. ان كان لا يوجد اي مشكلة بتكوين ملفات الاصول فيمكنك تضمينها مباشرة كروابط عادية: <script src="{{ asset('js/app.js') }}"></script> <link rel="stylesheet" href="{{ asset('css/app.css') }}"> في ملفات ال layouts بدل: @vite(['resources/css/app.css', 'resources/js/app.js']) في ملفي app.blade.php و guest.blade.php يقصد بـ vite manifest عن تعليمة القالب vite@ ايضا. انت في الارجح لن تحتاجه ان كانت هناك مشكلة بتكوينه.
  3. ما هي نسخة node التي تستعملها؟ ملف manifest.json المشار اليه هو ملف يصف طريقة عمل vite في وضع manifest وهو وضع يسمح للتطبيق أن يظل متاحا حتى في حالات لا يتم فيها تشغيل بيئة التطوير. يحتمل ان هنالك مشكلة بتكوينه. جرب اعادة تثبيت اعتماديات Node وتحزيم ملفات الاصول عن طريق الامرين: npm install npm run dev
  4. ان كنت تنوي تعلم الجافاسكربت او اي لغة برمجية من الكتب فلا أنصح بذلك، لأن الطريقة تقليدية قليلا ولا تعد على انها فكرة عملية يمكن الاستعانة بها في العمل بجافاسكربت على مشاريع فعلية. اما ان كنت تنوي التعمق في مفاهيم جافاسكربت فأنصح بكتاب JavaScript Enlightenment الذي ترجم الى "تعلم الجافاسكربت" من طرف عبد اللطيف ايمش. يأخذ الكتاب مفاهيم الكائنات على بعد عميق ويأخذ الجافاسكربت من منظور غير المألوف. قرأته قبل سنوات ولا زلت مهتما بالمحتوى الذي جاء فيه. يوجد ايضا فصول مترجمة من كتاب Eloquent javascript منشورة على حسوب I/O. مثلما يمكنك الاستفادة من المحتوى المكتوب المنشور على ويكي حسوب ومجموعة المقالات المنشورة على أكاديمية حسوب. ان كنت مصرا على البحث عن كتب لتعلم اساسيات جافاسكربت من الصفر فيقترح: كتاب JavaScript for Kids كتاب You Don't Know JS كتاب A Smarter Way to Learn JavaScript
  5. مرحبا نجيب، قد لا يكون تعاملك مع لارافيل مألوفا في البداية فأنت لا تزال في المسار الأول "أساسيات إطار العمل Laravel" ولا يزال أمامك 7 مسارات كاملة من التطبيق العملي ستتعمق فيها في استعمالات لارافيل وميزاته. وخصوصا مع من يأتي من خلفية Pure PHP فأنت لا تتعامل مع أكواد وشيفرات بسيطة بل تتعامل مع معماريات وأنماط وواجهات وأصناف وسمات تم تطويرها على سنين وسنين. ولذلك فإنه من الطبيعي ان تحس ببعض التيه وعدم القدرة على الانطلاق وحدك مع هاته البداية. ستعتاد في قادم المسارات أكثر على التعامل مع لارافيل وستألف طريقة بناء المشاريع وخدمة حالات الاستخدام أكثر فأكثر. لا يجب عليك اعادة كتابة التدريب كاملا، وسيكون من الكافي جدا ان تفهم وتستوعب ما قدم في هذا المسار وما تم التعرض له. بنهاية المسار ستجد انك قطعت شوطا كبيرا في التعامل مع اطار عمل بحجم لارافيل. ركز على استثمارك لمحتوى كل فيديو وكل مسار من الدورة.دون ما تراه مهما واستفسر عن ما لا تفهمه، حاول فهم مشاكلك على نحو عميق واعمل على البحث عن حلول لها واختبارها. ولا تقلق بشأن احساسك بعدم القدرة على بناء المشاريع وحدك. فالأمر يحتاج وقتا، والتغلب على هذا الاحساس هو الآخر يحتاج أكثر بكثير.
  6. في حالة تشعب اكثر من مصفوفة عن خاصية ما، يمكنك استعمال السياق parent.*.child للمرور على كامل عناصر كل مصفوفة، بشكل يمكننا من التحقق من كل خاصية كـ: "posts.*.title": 'required', "posts.*.content": 'required', "posts.*.additional_tags": 'required' في النسخ الأقدم من لارافيل قد لا يكون هذا الخيار متاحا، يمكنك على كل حال الاستعانة بتكرارة foreach لتكوين مصفوفة قواعد ومقاربة نفس النتيجة، نستعمل FormRequest مثلا كـ: public function rules() { $rules = [ 'api_key' => 'required|integer', 'tags' => 'required', ]; foreach($this->request->get('posts') as $key => $val){ $rules['posts.'.$key.'.title'] = 'required'; $rules['posts.'.$key.'.content'] = 'required'; $rules['posts.'.$key.'.additional_tags'] = 'required'; } return $rules; } التحقق (validation) في Laravel
  7. الفكرة هي أن هذا الموضوع نفسه قد تم وصفه في دليل التحديث الخاص بلارافيل 8 من نسخ سابقة كتحديث عال التأثير High Likelihood Of Impact لأن منشئات البذرة database seeders و معامل النماذج model factories ابتداءا من هاته النسخة عرفت ضمن نطاقات اسماء namespaces . اذ تقوم لارافيل بالتعرف عليها وتحميلها تلقائيا من ملف composer.json عن طريق معيار psr-4 وهو احد معايير التحميل التي شاع استخدامها في لارافيل. لفعل ذلك، أضف تعيينات نطاقات الاسماء الجديدة ضمن كائن psr-4 في autoload: "autoload": { "psr-4": { "App\\": "app/", "Database\\Factories\\": "database/factories/", "Database\\Seeders\\": "database/seeders/" } }, وبالطبع لا تنسى ازالة كائن classmap من autoload: "classmap": [ "database/seeds", "database/factories" ] استفد اكثر من هاته الاجابة
  8. مكتوب ان الحزمة تدعم من قبل حتى النسخة 7 من PHP ، لارافيل 9 يستعمل نسحة احدث من PHP قد تواجه مشكلة بتضمينها كحزمة خارجية ايضا.
  9. يحدث هذا لأنك تحاول تثبيت حزمة تعتمد على swiftmailer في تطبيق لارافيل هو في الارجح النسخة 9. معروف عن انه ابتداءا من هاته النسخة قد تم التخلي على swiftmailer واستبدالها رسميا ب symfony mailer وهذا لأن اطار symfony نفسه الذي يعتمد لارافيل على العديد من مكوناته قج أعلن التوقف عن دعم SwiftMailer وأطلق مكتبته الجديدة Symfony Mailer. وبالتالي فإن أجد انه هاته الحزمة smsgatewayme/client-php لم تلقى اي تحديثات منذ اربع سنوات. هذا يعني انه مخصصة لنسخ قديمة من لارافيل، جرب استعمالها مع نسخة 7 منه. وإلا فإنه يقترح البحث عن حزمة مكافئة وأحدث وأكثر مواكبة للتغيرات التي حدثت على اطار عمل لارافيل منذ ذلك الحين.
  10. يحدث هذا لأن مشروعك يصف مسارات ملفات يستعملها للتخزين المؤقت خاطئة. أظنك تستعمل تطبيق لارافيل، فهاته هي صفحة ignition التي يستعملها لارافيل في تشخيص الأخطاء. يحدث هذا الخطأ بسبب غياب الملفات المستهدفة. قم يدويا بإنشاء المجلدات التالية: views cache sessions داخل مجلد storage/framework كخطوة اضافية تابعة للخطوة السابقة، ان كنت تمتلك وصول SSH او توصلا لفتح ال terminal قم بتشغيل هاته الاوامر تباعا: php artisan cache:clear php artisan config:clear php artisan view:clear يفترض ان يعمل الآن
  11. من الطبيعي ان لا يتم رفع ملفات الاعتماديات الخارجية ضمن مستودعات للمشاركة، فهاته الأخيرة تحوي ملف وسطيا يمكن من عليه تحميل هاته الاعتماديات وتشغيلها. يشمل هذا اعتماديات composer و node. ستلاحظ أن مجلدي vendor و node_modules غائبان عن المشروع الذي تحاول استنساخه. مجلد vendor يحوي الملف المشار اليه في رسالة الخطأ لديك. لتوليد هذين الأخيرين قم بتشغيل الأمرين: composer install npm install وبالطبع فإن composer و npm يجب ان يكونا مثبتين بالفعل.
  12. prantheart غير معرف اساسا داخل حدث الضغط على bttn أي ان هذا السطر لا حاجة منه اساسا: setTimeout(() => { //prantheart.remove() بدل ذلك، لا لا تقومين فقط بتحديد حاوي عناصر القلوب وتفريغه بعد ان يتم عرضها لزمن معين؟ يمكنك استبدال سطر الحذف prantheart.remove بـ: let contenerheart = document.getElementById("contenerheart"); contenerheart.innerHTML = ''; سيتم تفريغ المحتوى بعد عرضه.
  13. ما تقصده يسمى خادم وكيل proxy server. ولا يوجد اي آداة خارقة في الموضوع. كل الأمر ان المستخدم: يقوم بارسال طلب الى خادم البروكسي يستقبل هذا الاخير الطلب ويقوم بطلب الصفحة المحجوبة عن المستخدم من على الخادم نفسه. بعد ان يتلقاها الخادم سيقوم باعادة ارسالها الى المستخدم. يتلقى المستخدم الصفحة المحجوبة عنه أي ان الامر مثلما يسمى فعليا: هة مجرد وكيل. فالمستخدم المحجوب عنه موقع ما يوكل الى الخادم مهمة طلبه عنه. وبهذا نسميه خادم وكيل. يمكنك بشكل مبدئي انشاء سكربت يقوم بهاته المقاربة. ولكن يقترح الاستفادة من أحد المشاريع مفتوحة المصدر التي تقدم خدمة مشابهة. استعن بموضوع php-proxy على الgithub (تطبيقات، سكربتات، كلاسات). تأكد فقط من ان الاستضافة التي ستقوم برفع هذا التطبيق عليها لا تحظر هذا النوع من الممارسات، اذ لا تقبل بعض الاستضافات استضافة خوادم وكيلة بشكل مصرح. تكون عادة الخوادم المخصصة او الافتراضية VPS خيارا جيدا لاستضافة مثل هاته التطبيقات.
  14. بالنسبة للواجهة الخلفية، ستمتلك معلومات جد محدودة عن الواجهة الامامية. وتعاملها لا يكون مع الوسائط media، نوعها ومميزاتها بالمعاملات المنطقية المألوفة بشكل يسمح بالعمل على استعلامات الوسائط media queries. ولكنها تتعامل مع منطق آخر تماما: العميل او User Agent. فان كنت تحاول بشكل من الاشكال القيام بـ: @if($screensize < 768px) .. اي شيفرة هنا @endif يمكنك الاعتماد على تعقب العميل والتحقق من ما ان كان يتصفح من الهاتف ومقاربة نفس النتيجة بشكل ما كـ: @if($agent->isMobile()) .. @endif يمكنك الاستفادة مما تقدمه هاته الحزمة jenssegers/agent . سهلة التثبيت وتوفر التحققات التالية: $agent->isMobile(); // التحقق من ما ان كان جهاز العميل جهاز هاتف $agent->isTablet(); // التحقق من ما ان كان جهاز العميل جهازا لوحيا $agent->isDesktop(); // التحقق من ما ان كان جهاز العميل حاسوبا مكتبيا او محمولا لاحظ ان هاته الحزمة او مثيلاتها في الواجهة الخلفية لا تتعامل مع نقاط التوقف breakpoints وانما مع تحليل نوع الجهاز. يمكنك بشكل من الاشكال معاملتها بذات المنطق، لن تختلف نقاط التوقف من جهاز لآخر إلا بشيء قليل.
  15. هل يمكنك ارفاق محتوى ملف conf.php ايضا؟ يحتمل ان يكون هنالك خطأ في طريقة استعمال الوظيفة mysqli_real_escape_sting
  16. هيكلة صفحة رسالة الخطأ هي عن تطبيق لارافيل النسخة 9. غريبة هي المشكلة لديك. تفحص ملف env. ، هل يوجد متغير بيئة باسم APP_KEY؟ هل توجد قيمة مسندة له؟
  17. هل يوجد مشكلة بارفاق رابط التطبيق لاستعراض المشكلة؟
  18. هل يوجد أي ملف غير gitignore. في مجلد logs داخل مجلد storage من مجلد ملفات المشروع ؟ ان كان نعم، هل يمكنك نسخ محتواه وارفاقه؟ هو محتوى رسالة الخطأ المتسببة في اظهار هذا الخطأ في الغالب.
  19. هل لا تزال تظهر رسالة بسيطة رغم تفعيل وضع التصحيح؟ يفترض ان تظهر رسالة أكثر تفصيلا. رجاءا تأكد من الخطوات الموصوفة سابقا:
  20. اي استضافة تستعمل؟ هل يمكنك الوصول الى سجل الأخطاء debug console ؟
  21. هل لا يزال يظهر الآن؟ يرجى ارفاق صورة كاملة لنص المشكلة.
  22. يجب تفعيل وضع تصحيح الأخطاء لتشخيص الخطأ اولا ومن ثم العمل على حله. أظنك تستعمل لارافيل فرسالة الاعتذار هاته عادة هي رسالة خطأ تطبيقات لارافيل في وضع الانتاج. يوجد ملف يحمل متغيرات البيئة يسمى env. ، افتحه ستجد به السطر التالي: APP_DEBUG=false قم بتبديله الى: APP_DEBUG=true احفظ الملف، ثم اعد تحديث الصفحة الرئيسية للموقع. سيظهر تفصيل للخطأ يمكنك بعدها العمل على المشكلة أكثر. في حالة استمرار ظهور رسالة الخطأ مثلما هي رغم تغيير وضع التصحيح قم بالانتظار قليلا واعد المحاولة. أما ان كنت تمتلك وصول ssh قم بتنفيذ الأمر: php artisan cache:clear على دليل المشروع الخاص بك. ان كنت تستعمل تطبيقا غير لارافيل، سيوجد طريقة لفعل ذات الأمر. يجب عليك تفعيل وضع التصحيح أولا.
  23. هل جربت استعمال اضافة Easy Digital Downloads لبيع المنتجات الرقمية المدفوعة والمجانية؟ رغم الميزات التي تعرضها الا ان الاضافة مدفوعة ولا تتوفر بشكل مجاني. يوجد أيضا اضافة ebook store أظن انها تمتلك خيارا لبيع الكتب المجانية. وكاضافة تختص بعرض وتنزيل الكتب المجانية بشكل كامل توجد اضافة Ebook Downloader .يمكن المستخدمين من تحميل الكتب الإلكترونية في النظام دون الحاجة الى تسجيل الدخول إلى النظام. ذكرت انك تمتلك بالفعل نظاما يعرض كتبا للبيع واخرى مجانية. ما هي الاضافة التي استعنت بها على ذلك؟ يمكنك التبديل الى اخرى اكثر خدمة لهذا الغرض
  24. من اجل استثناءها من التحقق لا تحددها ببساطة واحذف الأسطر الخاصة بها. ما تحاول القيام به غير واضح جيدا. هل تبحث عن كيفية التحقق من حقل select في جافاسكربت أم عن كيفية استثناءه من التحقق؟
×
×
  • أضف...