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

فكرة لتسهيل القوالب

مغلق
بدأه أبو محمد اللحياني في 6 يوليو 2006 · 4 رد · 700 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كنت أعيش حالة من الملل والإرهاق في فترة كانت الأكواد تتداخل php,html,javaScript,css

ولما علمت أن القوالب تمكنني من الفصل بين الاكواد التي يفسرها المتصفح والأكواد التي يفسرها السيرفر

هرعت لاستخدامها و تحولت البرمجة إلى نزهة

ثم شعرت بالراحة لما علمت أنه بهذا أني أكلف المصمم بعمل الصفحات كما يشاء كما يحب ، ثم أنا أضع المتغيرات في أماكنها وأعيد ترتيب الصفحات .

استخدمت نظام قوالب TemplatePower وهو في الحقيقة قوي وسهل ولكنه يجيب لك المرض في بعض الأحيان، طبعاً هذا المرض على حسب إدارة المتغيرات في الصفحة .

المثل يقول لا تجمع البيض في سلة واحده ، والآخر يقول لا تفرق البيض على جميع السلال . وسلكت طريقاً وسطاً

ضع العناصر الأساسية للموقع(الرأس والتذييل والعمود الأيمن والعمود الأيسر ... إلى أخرها) في صفحة واحدة main.html

ثم محتويات تلك العناصر ضعها في ملفات (قصاصات) مثل :

login.html

,register.html

,menu.html

search.html

إلى أخرها .

ثم ثم ضع أسماء تلك الملفات في الصفحة الرئيسية كمتغيرات :

{login} , register}, menu}

ثم استخدم هذه الدالة البسيطة لتحول الملفات إلى متغيرات جاهزة للعرض ثم الصفحة الرئيسية التي تحتوي تلك المتغيرات كذلك

function putvars ($template, $vars)
{
	global $TmplInfo;
	$file = $TmplInfo['folder'].'/'.$template.'.html'; 
	$template = file_get_contents($file);
	if (is_array( $vars )) {
		for( reset( $vars);  $key = key( $vars);  next($vars) ) {
			$template = str_replace('{'.$key.'}',$vars[$key] ,$template);
		}
	}
	return $template;

}

وهذه الدالة تستخدم مع أي نظام قوالب لتسهيله أو بمفردها .

بالتوفيق

تم تعديل هذه المشاركة بواسطة أبو محمد اللحياني في 6 يوليو 2006 في 09:22

ولو وافيت ربك دون ذنب *** وناقشك الحساب إذاً هلكتا

ولم يظلمك في عملٍ ولكن *** عسير أن تقوم بما حملتا

#2

فعلا الفكرة دى انا كنت جربتها مع Cake او شبيهتها و و فرتلى وقت الحمد لله

فى cake بتعمل layout واحدة للـ application كله و الاجزاء مثلا الى زى مانت قلت عليها ( login , register , viwe article .. ) بيعتبرها views بيبقى لكل view ملف لوحده مديله امتداد thtml

بيظهر الـ view جوة الـ layout على حسب الـ action الى مطلوب انه يتنفذ

شكرا يا ابو محمد

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#3

أستاذنا شريف شكراً لمرورك

Cake-PHP هي إطار عمل يعني تسهل بناء المواقع

رأيت الملف http://cakephp.org/files/cakesheet.pdf فأعجبتني

طلب بسيط هل تستطيع أن تعطينا فكرة عنها وهل تنصح بتعلمها ؟

ولو وافيت ربك دون ذنب *** وناقشك الحساب إذاً هلكتا

ولم يظلمك في عملٍ ولكن *** عسير أن تقوم بما حملتا

#4

من غير استاذ ولا حاجة ;)

cake مليش خبرة كبيرة معاه لسة بس عملت بيه application صغير خلال 24 ساعة عمل تقريبا كان جزء منها فى مشكلة حسابية بعيدة عن الـ FW نفسها.

الخطوات كانت سهلة و توفير كبير فى الوقت بشكل ملحوظ خصوصا فى التعامل مع قواعد البيانات

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

ثانيا فى حتة التعامل مع قواعد البيانات الى همة بيدعموها : انت مش بتحتاج اكتر من انت تعدل فى ملف الـ cnfigurations بتاع قاعدة البيانات بحيث ان انت بتسجل البيانات الأساسية .. الـ host و ال user و الـ pass و اسم قاعدة البيانات و كدة انت عرفته هو شغال مع قاعدة بيانات ايه و تيجى ساعتها لجوة جسم التطبيق بتاعك.

عشان الـ MVC يبقى انت لازم يكون عندك class حتشغله كـ controller و واحد تانى Model و هو دة الى من خلاله حتتعامل مع قاعدة البيانات , و يلى دة كله view بيعتمد على الـ Model الى انت شغال عليه

كل Model المفروض انه بيمثل table موجودة فى قاعدة البيانات , على حسب اسم الـ table الى انت عايز تخلى الـ Model يتحكم فيها بيكون اسم الـ Model يعنى إذا قلنا ان اسم الـ table هو articles يبقى اسم الـ Model هو Article

لاحظ ان cake ليها اسلوبها الخاص فى اختيار التسميات لكل حاجة , يعنى همة حيقولولك امتى تخلى الأسم هنا CamelCase او هنا underscored و امتى الأسم جمع او مفرد.

كمان الـ Model بيعبر عن table بالـ relations بتاعتها مش مجرد table معزولة , يعنى ممكن فى الـ model بتاعى اقول ان الـ table دى ليها علاقة on to many او one to one او many to many lu مع table تانية او اكتر من واحدة .

بالتالى انت مش محتاج تكتب SQL Query كل مرة لكل table أو relation بين tables , بل كل الى عليك تدى امر جلب البيانات او حفظ اليانات للـ Model Object و هو عليه الباقى .

غير كدة انت لمة توصل للـ view بيديك امكانيات كويسة فى انك تعمل الـ form بتاعتك او تعرض البيانات بشكل سلس و سهل و حفظها تانى بسهولة.

فى امكانيات تانية كتير انت ممكن تجربها بنفسك و حتعجبك اوى زى الـ mode rewrite الى همة عاملينه باسلوبين ايا كان انت شغال apache او شغال حاجة تانية بديلة .

دة كان موجز سريع و عن نفسى شايفها كويسة لحد دلوقتى الحمد لله بس مستنى اجربها فى حاجة اكبر إن شاء الله

Web Citizen

ShrefInLife.gif

__________

General blog : Shref In Life

#5

بارك الله فيك يا مشرفنا العزيز

أنا عندي مشروع لي سنة إلا شهرين وأن أكتب فيه ( طبعاً أتركه فتره وأرجع له ) وهو مجلة لموقع إسلامي وجزاهم الله خير صابرين علي .

تعلمت من هذا المشروع الكثير الكثير وخصوصاً قبل سنة كنت صفر في اللغة ، ولكن للأسف ما في وقت أتعلم شيء جديد ، وملييت من التعلم ،

سأنظر فيها وإذا رأيت فيها أكواد حلوة تستخدم بمفردها عنcake سويت لها نسخ ولصق .

ولو وافيت ربك دون ذنب *** وناقشك الحساب إذاً هلكتا

ولم يظلمك في عملٍ ولكن *** عسير أن تقوم بما حملتا

هذا الموضوع مغلق.

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