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

السؤال

نشر

السلام عليكم،

أنا أعمل حالياً على مشروع Fullstack بهدف التعلم، باستخدام تقنيات CSS، JavaScript، PHP، و MySQL. في هذا المشروع، أستخدم أيضاً الـ API ونموذج MVC.

سؤالي هو: كيف يمكنني هيكلة هذا المشروع بشكل صحيح؟ بمعنى آخر، كيف ينبغي لي تنظيم ملفات المشروع؟

حالياً، الهيكلية التي أتبعها حاليا هي كالتالي:

backend
	-> app
    	-> Controllers
        -> Models
    -> public
    -> vendor
frontend
	-> index.html
    -> main.js
    -> style.css

هل تعتبر هذه الهيكلية مناسبة؟ وإذا كانت كذلك، كيف يمكنني تشغيل المشروع محلياً على حاسوبي؟ حالياً، أستخدم سيرفر XAMPP لتشغيل جزء الـ backend، وأداة Live Server في VSCode لتشغيل جزء الـ frontend, لكن يبدو أن هذه الطريقة خاطئة.

Recommended Posts

  • 0
نشر

بالنسبة لهيكلة المشروع التي ذكرتها تحتاج إلى بعض التحسينات لتكون مناسبة وفعالة، خاصة مع استخدام نمط mvc، يمكنك تحسينها لتصبح بهذا الشكل:

project-root/
│
├── backend/
│   ├── app/
│   │   ├── Controllers/
│   │   ├── Models/
│   │   └── Views/
│   ├── public/
│   │   ├── index.php
│   │   ├── assets/
│   │   │   ├── css/
│   │   │   ├── js/
│   │   │   └── images/
│   │   └── api/
│   └── vendor/
│
├── frontend/
│   ├── index.html
│   ├── main.js
│   └── style.css
│
├── .env
├── composer.json
└── README.md

حيث تفاصيل الهيكل تكون بهذا الشكل:

backend/app: يحتوي على ملفات المشروع الأساسية بناء على نموذج MVC.

Controllers: تحتوي على ملفات PHP التي تدير المنطق والطلبات بين المستخدم وبيانات التطبيق.

Models: تحتوي على ملفات PHP التي تدير التعامل مع قواعد البيانات.

Views: تحتوي على ملفات العرض التي تعرض على المستخدم أي تحتوي على صفحات PHP.

backend/public: يحتوي على الملفات التي يمكن الوصول إليها مباشرة من المتصفح مثل index.php وملفات الأصول الخاصة ب CSS، JavaScript، والصور.

backend/vendor: يحتوي على المكتبات التي يتم تثبيتها باستخدام Composer.

frontend: يحتوي على ملفات الواجهة الأمامية مثل index.html، وملفات CSS وJavaScript الخاصة بك.

.env: يحتوي على إعدادات البيئة مثل إعدادات قاعدة البيانات.

composer.json: يستخدم لإدارة الاعتماديات باستخدام Composer.

و لضمان تشغيل المشروع بشكل صحيح على حاسوبك، يجب توحيد تشغيل كلا الجانبين الـ backend و الـ frontend باستخدام سيرفر واحد، في حالتك، يمكن القيام بذلك باستخدام XAMPP فقط لتشغيل كلا الجزئين.

  • 0
نشر
بتاريخ On 3‏/9‏/2024 at 01:33 قال مصطفى اوريك:

أستخدم سيرفر XAMPP لتشغيل جزء الـ backend، وأداة Live Server في VSCode لتشغيل جزء الـ frontend, لكن يبدو أن هذه الطريقة خاطئة.

ما الحاجة إلى ذلك وبإمكانك تنفيذ ذلك داخل ملفات PHP، فهي بالأساس محرك قولبة templating engine للغة HTML، بالتالي عند تشغيل ملف index.php مثلاً وبه كود HTML سيتم عرضه في المتصفح، إذن بيئة XAMPP  أو لاراجون كافية والأفضل لاراجون.

ستحتاج خادم منفصل في حال الواجهة الأمامية كانت React مثلاً.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...