السلام عليكم ..
اعتقد انه سيكون من المفيد ان نصل لافضل نظام برمجى يعمل كيهكل لادارة المواقع مع وجود ثوابت اقسام وهيكلية المواقع بشكل عام , تعددت برامج ادارة المحتوى والقوالب والطرق وجميعها تؤدى لمظهر واحد , ولكن لابد من وجود فوارق على الاقل فى سهولة التطوير او السرعة مثلا .
والهدف الان تحقيق هذا النظام ولو بشكل نظرى ... توحيد الهيكل البرمجى للتطبيقات والبرامج سيساهم كثيرا فى التطوير .
اجزاء هذا الهيكل :
* نظلم قوالب
* نظلم قوائم
* نظام تعدد لغات
* (( اى انظمة اخرى ؟؟ ))
طبعا مع وجود مواصفات :
فنظام القوالب لابد من من ان يكون سهل التعديل , والقوائم لابد ان تدعم ال php ...
وطبعا مع الوصول لهذا النظام سيكون من السهل المتابعة فى التطوير وسنسهل ايضا الامر ( الى حد ما ) على المبرمجين او على الاقل المبتدءين منهم . خصوصا انه غير مصنف لنوع معين من التطبيقات بل هو اساس فى معظم بل اغلبية التطبيقات .
ارجو ان تكون الفكرة واضحة .., انا لا ادعو لانشاء نظام ادارة محتوى او تطبيق معين بل هيكل لابد من وجوده بجميع التطبيقات , فهذا الامر سيعود بالفائدة على الجميع ولنعتبره تبادل خبرات .
الان لكل من لديه طريقة معينة يستخدمها فى برامجه او يفكر فيها ويريد مشاركتنا بها فليشرحها
وسأكون البداية لاضرب مثال على ما اتحدث عنه ....
-------------------------------------------------------------------------------------
منذ ان بدأت فى البرمجة وانا ارى تحكم المبرمج فى كل شئ حتى مع التطبيقات الكبيرة , فأحيانا يدخل المبرمج اكواد تابعة للعرض ( HTML ) وليس لها دخل بالبرمجة ولكن لا مفر من ذلك فالطريقة التى ستخدمها تحتم عليه ذلك , وبذلك يحصر امكانية تدخل المستخدم .
وبعد تفكير كثير ومحاولات وصلت لهيكل نظرى بسيط يعتمد كليا على الثيم فى العرض وليكون التحكم فى هذ الثيم سهل من خلال المستخدم البسيط وفى نفس الوقت اتيح التطوير للمستخدم المتقدم بإستخدام ال php وعلى ذلك لجأت للدوال ... فإذا اراد ادراج القوالب فيكون من خلا الدالة block واذا اراد ادراج القوائم اليمنى او اليسرى ... يكون من خلال الدالة blocks (right)
والمحتوى من خلا الدالة content() .... وبذلك استطعت توحيد ثيم الموقع بالكامل فى ملف واحد html يتم استدعاؤه فى نهاية العمليات ليعض النتائج بإستخدام هذه الدوال .... مثال بسيط ..
كود HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php head() ?>
<link rel="stylesheet" type="text/css" href="themes/default/style.css">
</head>
<body>
<div class="header"><?=SITE_NAME ?><div class="freearea1"><?=SITE_TITLE ?></div></div>
<table cellpadding="1" cellspacing="1">
<tr valign="top">
<td width="20%" class="mnu"><? blocks('right') ?></td>
<td class="cntnt"><? content() ?></td>
<td width="20%" class="mnu"><? blocks('left') ?></td>
</tr>
</table>
<div class="footer"><?=SITE_NAME ?></div>
</div>
</body>
</html>
ارايتم .... الثيم فى ملف واحد وفى كل عملية برمجية اكوم بتعريف هذه الدوال او المتغيرات ثم اقوم بتضمين هذه الصفحة وتكون النتائج جيدة وسريعة ....
مثال :
كود PHP:
<?php
if($_GET["go"] == "view"){
function content(){
echo "view";
}
}else{
function content(){
echo "nothing";
}
}
//
include 'theme.html';
?>
هذا النظام له مميزاته الواضحة واهمها سهولته على المستخدم وسهولة تطويره وايضا التحكم به ( فلك الحرية فى التصميم ولتضع الدوال فى المكان الذى تريد ان تقوم بعملها به ) ولكن النظرية شئ والاستخدام شئ اخر واجهتنى مشاكل كثيرة خصوصا مع القوائم التى تستدعى ملفات php , وايضا بما ان القالب لا يتم تحليله واستبدال القيم ذات الشكل البسيط بالقيم الاصلية ( الطريقة المعتادة ( نظام محرك القوالب )) بل يتم تضمينه ستظهر مشكلة المتغيرات , لن يكون النظام بالكالمل دوال ......
انتهى ... ارجو ان تكون وضحت نظريتى فى هذا النظام وانتظر الاقتراحات والتجارب والافكار ... وادعو كل خبراءنا الكرام للتحاور والنقاش لنخرج بعد هذ الموضوع بأفضل هيكل او نظام لاستخدامه فى تطبيقاتنا ..... يكون سهل التطوير وايضا سهل على المستخدم ويسمح بأكبر قدر من التعديل .
تحياتى للجميع