اللهم لك الحمد ، ومنك الفرج ، واليك المشتكي ، وأنت المستعان ، ولا حول ولا قوة الا بك ..
 
  الصحيفة التقنية  | الصفحة الرئيسية  | مركز تحميل مطور  | استخدم ختم مطور  | قوِ موضوعك هام |  أعلن في مُطِّورْ   | شرح السي بانل جديد |  افحص البيج رانك  | دعم فني مجاني RSS Facebook twitter Youtube




العودة   مطور Mtwer > أقسام تطوير المواقع > قسم لغات البرمجة وبرامج تصميم المواقع > لغات برمجة مواقع PHP, ASP, Java Script, Perl


لغات برمجة مواقع PHP, ASP, Java Script, Perl دورات، دروس، نقاشات، وتبادل خبرات في كلاً من php asp java scripts perl وغيرها.

عزيزي المطور ابتعد عن النقل، ولتكن مواضيعك جديدة وقيمة تعبر عن إبداعك وتميزك
إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 08-03-2011, 01:45 AM
الصورة الرمزية vista-design
:: + عضو شرف + ::
الرتبةالرتبةالرتبةالرتبة
 

vista-design يستحق التميز

بيانات موقعي :
اصدار المنتدى : لا أملك منتدى
كلاسات الphp: الدرس الخامس: استغلال كلاس كتابة وعرض المقالات





بسم الله الرحمن الرحيم



نستكمل معكم زوار موقعنا الكرام دروس دورة كلاسات الphp , وها نحن نصل لنهاية المرحلة الاولى
من الدورة وهو كيفية استغلال الكلاسات الجاهزه,والتى بعدها سأبدأ بدروس كيفية كتابة الكلاسات من
الصفر من تخطيط وتنظيم وترتيب للافكار بشكل يجعلك oriented لابتكار أفكار جديده فى برمجياتك.



اولا: حمل ملفات الدرس من هــــنـــــا

ملاحظه: هذه الكلاس خاصة بعمل مقالات على هيئة ملفات فى مجلدات , وليست كمقالات مخزنه
فى قاعدة البيانات , وهذا كنوع من التسهيل وتقليل تعقيد الكود للسهوله

ثانيا: دعونا نعرف فهرس الدرس:

1-شرح كلاس كتابة وعرض المقالات
2-كيفية استغلال الكلاس بمثال عملى



اولا: شرح كلاس كتابة وعرض المقالات :



نشوف هذا المخطط لنفهم تركيبة الكلاس:





كما نلاحظ فى المخطط, ان هذه الكلاس عبارة عن 5 فانكشنز مقسمة ل:

اولا:- 3 فانكشنز خاصة بعرض المقال وهم:

1-getNewsList:لعمل لست بملفات المقالات داخل مجلد
2-getNewsCount: لعد الملفات الموجوده داخل المجلد
3-displayNews:لاظهار المقالات


وفى المخطط وظيفة كل فانكشنز

وهذا هو كودهم:


كود:
function getNewsList(){
	
   $this->newsList = array();
   
	// Open the actual directory
	if ($handle = @opendir($this->newsDir)) {
		// Read all file from the actual directory
		while ($file = readdir($handle))  {
		    if (!is_dir($file)) { 
		       $this->newsList[] = $file;
      	}
		}
	}	
	
	rsort($this->newsList);
	return $this->newsList;
}   

function getNewsCount(){
   if ($this->newsCount == -1) $this->getNewsList();
   $this->newsCount = sizeof($this->newsList);
   return $this->newsCount;
}

function displayNews(){
      $list = $this->getNewsList();
      
      echo "<table class='newsList'>";
      foreach ($list as $value) {
      	$newsData = file($this->newsDir.DIRECTORY_SEPARATOR.$value);
      	$newsTitle  = $newsData[0];
         $submitDate = $newsData[1];	
         unset ($newsData['0']);
         unset ($newsData['1']);
      	
         $newsContent = "";
         foreach ($newsData as $value) {
    	       $newsContent .= $value;
         }
      	
      	echo "<tr>  <th align='left'>$newsTitle</th>
      	            <th class='right'>$submitDate</th>   </tr>";
                    
      	echo "<tr><td colspan='2'>".$newsContent."<br/></td></tr>";
      }
      echo "</table>";
      if (sizeof($list) == 0){
         echo "<center><p>No news at the moment!</p><p>&nbsp;</p></center>";
      }
}


ثانيا: 2 فانكشنز للتحكم بالمقال:



1-displayAddForm:لاظهار فورم كتابة المقال
2-insertNews: لادارج المقال كملف فى المجلد
وهذا هو كودهم:


كود:
function displayAddForm(){
?>  
   <script language="javascript" type="text/javascript" src="js/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
	mode : "textareas",
	theme : "advanced",
	theme_advanced_buttons3 : "",
	theme_advanced_toolbar_align : "center",
	theme_advanced_toolbar_location : "top",

});
</script>  
  <form class="iform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    News title:<br/>
    <input type="text" name="title" size="40"/><br/><br/>
    Content:<br/>
    <textarea name="newstext" rows="15" cols="67"></textarea><br/>
    <center><input type="submit" name="submit" value="Save" /></center>
  </form> 
   
<?php   
}

function insertNews(){
   $newsTitel   = isset($_POST['title']) ? $_POST['title'] : 'Untitled';
   $submitDate  = date('Y-m-d g:i:s A');
   $newsContent = isset($_POST['newstext']) ? $_POST['newstext'] : 'No content';
   
   $filename = date('YmdHis');
   if (!file_exists($this->newsDir)){
      mkdir($this->newsDir);
   }
   $f = fopen($this->newsDir.DIRECTORY_SEPARATOR.$filename.".txt","w+");         
   fwrite($f,$newsTitel."\n");
   fwrite($f,$submitDate."\n");
   fwrite($f,$newsContent."\n");
   fclose($f);

   header('Location:index.php');   
   
}

وهذه صورة لوحة التحكم البسيطة لاظهار فورم كتابة المقال






بحيث يكون كامل الكلاس كما هو مرفق بالملفات الخاصة بالدرس






ثانيا:كيفية استغلال الكلاس بمثال عملى

استغلال هذه الكلاس من أسهل الاشياء, فمع لمسة جمالية , فقط سنستدعى فانكشنز اظهار المقالات
displayNews


كود:
<?php 
   require_once("maxNews.class.php"); 
   $newsHandler = new maxNews();          
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Max's News</title>
<link href="style/style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="container">
	<div id="header"><div id="header_left"></div>
	<div id="header_main">Max's News</div><div id="header_right"></div></div>
    <div id="content">
         <?php $newsHandler->displayNews(); ?>
    </div>
    <div id="footer"><a href="http://www.phpf1.com" target="_blank">Powered by PHP F1</a></div>
</div>


وهذه صورة للمقالات المخزنه فى مجلد news:










التوقيع :
عالم مطورى الويب لتعليم برمجة وتصميم المواقع
www.advphp.com

----------------
اول برمجياتى,اسكربت AraDown العملاق لاشهار المواقع وزيادة دخلك من ادسنس

http://aradown.info
رد مع اقتباس
إضافة رد

العلامات المرجعية

مواضيع جديدة في قسم لغات برمجة مواقع PHP, ASP, Java Script, Perl

أدوات الموضوع
انواع عرض الموضوع

ضوابط المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا يمكنك اضافة مرفقات
لا يمكنك تعديل مشاركاتك

BB code متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

الانتقال السريع




Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.5.2
new notificatio by 9adq_ala7sas
الحقوق محفوظة لكل المطورين والمواقع العربية

Security team


المعهد غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسؤولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي معهد مطور ولا نتحمل أي مسؤولية قانونية حيال ذلك ( ويتحمل كاتبها مسؤولية النشر )

جميع الأوقات بتوقيت GMT +3. الساعة الآن 12:10 PM.