الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

دليلك نحو بناء نظام Mvc بسيط

بدأه محمد ديوب في 18 أكتوبر 2008 · 9 رد · 3,878 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله

لقد كتبت عدة حلقات في مدونتي حول إنشاء نظام MVC و جمعتها في كتيب مع تطبيق الدروس و وضعتها هنا للفائدة

الكتيب في الملحقات

إذا وجدتم أي أخطاء يرجى تنبيهي و شكراً

MVC.rar

تم تعديل هذه المشاركة بواسطة محمد ديوب في 18 أكتوبر 2008 في 14:02

1
#2

رائع محمد , واصل في تطوير السلسله وتحديثها ..

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#3

مشكور أخ محمد معاشر على الدعم , لكن على الرغم من عددالمشاهدات لا يوجد ردود إلا ردك

المشكلة في الموضوع أو من الشرح ؟ لم أفهم

#4

الأخ محمد ديوب مشكوراً...

لكني بصراحة لم أعرف ماهو نظام MVC

لربما يشاطرني في هذا بعضهم...

جزيت خيراً...

أول منتدى عربي متكامل من برمجة سورية

منتدى جامعة دمشق

www.jamaa.cc

logo.png

ابداع بلا حدود

ShababSy.com

#5
اقتباس
مشكور أخ محمد معاشر على الدعم , لكن على الرغم من عددالمشاهدات لا يوجد ردود إلا ردك

المشكلة في الموضوع أو من الشرح ؟ لم أفهم

الفكرة هنا في الطرح ... الكثير يدخل إلى الموضوع مثلي وهو لا يعرف ماهو نظام MVC فبعظهم يرى ملف مرفق فيخرج قبل تحميله ومنهم يقوم بتحميله وقراءته فيما بعد

ولا يتذكر من أين قام بتحميله ولذلك لا يتم كتابة تعليقات أو ردود

أنا لا أعرف ماهو نظام mvc وأوافق أخي Yasser_Net في ذلك

أفضل لو تقوم بكتابة شرح بسيط عن هذا النظام في بداية المشاركة

وجزاك الله الجنة

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#6
اقتباس
الفكرة هنا في الطرح ... الكثير يدخل إلى الموضوع مثلي وهو لا يعرف ماهو نظام MVC فبعظهم يرى ملف مرفق فيخرج قبل تحميله ومنهم يقوم بتحميله وقراءته فيما بعد

ولا يتذكر من أين قام بتحميله ولذلك لا يتم كتابة تعليقات أو ردود

أنا لا أعرف ماهو نظام mvc وأوافق أخي Yasser_Net في ذلك

أفضل لو تقوم بكتابة شرح بسيط عن هذا النظام في بداية المشاركة

وجزاك الله الجنة

:)

[moveleft]

MiN! SpId3r SqUaD

[/moveleft]

#7

عذراً شباب إذا كان الموضوع غير واضح و لكن يوجد مقدمة بسيطة في الكتيب عن نظام MVC و سأقوم بإقتباسها هنا

اقتباس
ما هو MVC ?

هو نظام مستخدم في جميع أطر العمل Frameworks و هو إختصار للتالي :

( Model – View – Controller )

ماذا أحتاج لكي أبني هذا النظام ؟

يجب أن تتوفر لديك نسخة php5 و أنصحك باستخدام سيرفر wamp ( تستطيع أن تحمله من الموقع الرسمي )

كما يجب ان يكون لديك خبرة جيدة في php و كذلك في برمجة الكائنات و الوراثة

#8

آسف جدا :( ولكني لم أفهم شيء من الدرس

يمكن لآني مش مركز , بس ياريت لو يتم طرح الدرس هنا بعد إذنك وتتم المناقشة على النقاط الغير مفهومه

في البداية ماالفائدة من هذه الفريم الوورك ؟

أنا حاسس إنها مفيده جدا بس مش قادر أركز لشو :)

قريت الدرس مرتين فهمت إني ممكن أستخدم إسم الكلاس ويكون الكلاس عبارة عن ملف داخل مجلد كلاسيز , هاد الي إنت قاصدة , مثل الكلاس في الجافا يعني ؟

وإلا في شيء آخر ؟

وهل هناك تتمه لهذه السلسله ؟

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

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#9

أخي العزيز bastr3

في البداية MVC ليس فريم ورك بحد ذاته و إنما نظام لترتيب ملفات الموقع و ربطها ببعضها

اقتباس
قريت الدرس مرتين فهمت إني ممكن أستخدم إسم الكلاس ويكون الكلاس عبارة عن ملف داخل مجلد كلاسيز , هاد الي إنت قاصدة , مثل الكلاس في الجافا يعني ؟

بشرح بسيط للموضوع :

لدينا الدالة autoload

function __autoload($class_name) {
	$filename = strtolower($class_name) . '.php';
	$file = URL . 'classes' . SH . $filename;

	if (file_exists($file) == false) { 
		return false;
	}

	include ($file);
}

و هي من الدوال الجديدة التي اضيفت إلى php5

وظيفة الدالة هي التالي :

بدلاً من أن نقوم بتضمين ملفات الكلاس التي نحتاجها فقط نكتب اسم الكلاس و تقوم الدالة تلقائياً بتضمين ملف الكلاس من مسار محدد عرفناه سابقاً , لاحظ :

اقتباس
$url = realpath(dirname(__FILE__) . SH . '..' . SH) . SH;
اقتباس
$file = URL . 'classes' . SH . $filename;

كل ما علينا فعله هو أن نضع ملف الكلاس في المسار الذي حددناه و علينا أيضاً أن نسمي ملف الكلاس باسم الكلاس و بالتالي يصبح لكل كلاس ملف خاص به

أرجو أن تكون قد وصلت الفكرة :rolleyes:

و إذا كنت تواجه مشكلة في فهم ال oop في php سأعطيك رابط لدورة رائعة في oop للإستاذ عبد الله عيد يشرح فيها oop مع php بشكل رائع جداً و سلس

هذا هو الرابط :

http://www.swalif.net/softs/swalif45/softs180086/

اقتباس
بس ياريت لو يتم طرح الدرس هنا بعد إذنك وتتم المناقشة على النقاط الغير مفهومه

لا أجد ضرورة لذلك حالياً أنا موجود في المنتدى في هذا الأسبوع و أي سؤال أنا جاهز للتوضيح

شكراً لك أخ bastr3 على مشاركتك و أسئلتك

#10

حقلقة مستواك فى البى اتش بى جيد جدآ و الحمد لله انا فاهم MVC Design pattern و لكن من لم يقرأ عنها مسبقآ سيواجه صعوبة فى فهم الدرس

اعتقد ان ماتحاول بناؤه يشبه إلى حد كبير Codeigniter framework

لقد تعاملت معها و لازلت اتعامل معها و هى من افضل الفريموركس و اسرعها .

لكن لدى عدة ملاحظات بسيطة :

1- ارجو ان يتم كتابة الدرس فى المنتدى توفيرآ لوقت القراء و للحصول على ردود اكبر للتحسين

2- فى دالة من الداول التى تحصل على الملف controller تقوم بعمل trim له و لكن اعتقد بوجود ثغرة امنية ستتيح فتح ملف خارج

مجلد controllers عن طريق زيادة ../ فى بداية المسار .

3- إذا كان ليدك الوقت الكافى ارجو ان تقوم بعملها على هيئة دروس فيديو لتكون عملية اكثر و سهلة الفهم.

اشكرك بشدة على الشرح الرائع و البسيط للموضوع.

مواضيع مشابهة