التعامل مع ملفات التصميم في codeigniter

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

سأبين في هذا الدرس كيف يتم التعامل مع القوالب او ملفات التصميم من خلال ال CONTROLLER
لكي نقوم باظهار نص داخل قالب ما عن طريق المتحكم
سننشئ ملف ونسميه بـ phonebook.php وسنجعله عبارة عن دليل الهاتف ويكون داخل مجلد /application/controllers
ونكتب داخله الشفرة التالية

PHP:
  1. <?php
  2. class Phonebook extends controller{
  3.     function Phonebook(){
  4.         parent::controller();
  5.     }
  6.  
  7.     function index(){
  8.         // هنا يتم طباعة الصفحة الرئيسية لـ phonebook
  9.     }
  10.     function view(){
  11.         $data['phonebook']=array(
  12.         'احمد'=>'342342353453'
  13.         ,'محمد'=>'34531231'
  14.         ,'عبد الواحد'=>'4554545'
  15.         ,'عبد القادر'=>'232323232'
  16.         ,'طارق'=>'865348903');
  17.    
  18.     // نقوم بجلب ملف التصميم لكي يتم طباعة البيانات داخل جدول
  19.         $this->load->view('phone_table',$data);
  20.     }
  21.        
  22. }
  23. ?>

طيب هناك شيئ غير مفهوم ... نعم انه phone_table ... حسنا هذا الأسم هو ملف التصميم الذي تحدثنا عليه ويكون في الأصل بامتداد .php
يجب ان نذهب سريعا الى application/views وننشئ دخاله ملف phone_table.php ويكون بداخله هذه الكود

PHP:
  1. <table width="50%" border="0" cellspacing="1" cellpadding="1" style="direction:rtl;background:#E9ABAB">
  2.     <tr style="background:#A57B7B">
  3.         <td>الاسم </td>
  4.         <td>رقم الهاتف</td>
  5.     </tr>
  6. <?php foreach($phonebook as $name => $number) : ?>
  7.     <tr style="background:#F77777">
  8.         <td><?=$name;?></td>
  9.         <td><?=$number;?></td>
  10.     </tr>
  11. <?php endforeach; ?>
  12. </table>

وستكون النتيجة هكذا

الاسم رقم الهاتف
احمد 342342353453
محمد 34531231
عبد الواحد 4554545
عبد القادر 232323232
طارق 865348903

هذه طريقة بسيطة جدا لتتعرف على كيفية التعامل مع ملفات التصميم

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

هذا فان اصبت فمن الله عز وجل وان اخطأت فمن نفسي ومن الشيطان

بواسطة: عبد الواحد البشيري اضيفت في: framwork, دروس برمجية 05.02.2010 0

اول برنامج لك بواسطة codeigniter

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

في هذا الدرس سأشرح كيفية انشاء اول برنامج على المنصة

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

كما قلنا سابقا ان النظام مبني على تقنية MVC واعتقد أنك قرأت عنه ولو القليل ...
m = Model
v = View
c= Controller

عندما تدخل على مجلد system وتدخل ايضا على application ستجد ان هناك مجلدات ومن بينها التي ذكرتها في الأعلى .. مجلد Model يتم وضع فيه ملفاتك البرمجية التي تقوم بعمليات مع قاعدة البيانات ومجلد view تضع فيه ملفات التصميم اما مجلد Controller فيتم وضع فيه ملفات التحكم في البرنامج وسيتم شرح كل نقطة ...

حسنا في ملفك البرمجي الذي ستنشئه داخل مجلد التحكم controllers سيكون عبارة عن كلاس وبداخله دوال ...
اسم الكلاس سيكون في الرابط هكذا http://youSite.com/index.php/class_name واسم الدالة يأتي بعد الكلاس هكذا

http://youSite.com/index.php/class_name/function_name

طيب الان سنذهب الى مجلد system/application/controllers وننشئ ملف باسم news.php وننشئ داخله كلاس بنفس اسم الملف وهذا ضروري جدا
وتكون الشفرة هكذا

PHP:
  1. <?php
  2. // يجب كتابة اول حرف من اسم الكلاس كبير كما هو موجود تحت
  3. class News extends Controller{
  4.     // هذه الدالة يجب وضعها دائما في الأول اذا كنت تستخدم php4 اما اذا كنت تستخدم php5 فاستخدم
  5. // دالة __construct مكان News ووضيفتهما هي جلب المتحكم بمجرد طلب الصفحة وهذا ضروري
  6.     function News(){
  7.         parent::Controller();
  8.     }
  9.  
  10.     function index(){
  11.         echo 'مرحبا بكم في اول برنامج لي ';
  12.     }
  13. }
  14. ?>

الأن يمكنك طلب الكلاس بهذه الطريقة http://youSite.com/index.php/news وستجد العبارة الترحيبية امامك :)
كذالك تستطيع جلبها هكذا http://youSite.com/index.php/news/index
الأن نريد ان يكون الرابط هكذا http://youSite.com/index.php/news/view بكل بساطة سنضيف دالة اخرى تحت دالة index وتكون هكذا

PHP:
  1. <?php
  2. // يجب كتابة اول حرف من اسم الكلاس كبير كما هو موجود تحت
  3. class News extends Controller{
  4.  
  5.     function News(){
  6.         parent::Controller();
  7.     }
  8.  
  9.     function index(){
  10.         echo 'مرحبا بكم في اول برنامج لي ';
  11.     }
  12.     function view(){
  13.         echo 'مرحبا بك الى صفحة اظهار الأخبار';
  14.         // وهنا تقوم بعملية جلب البيانات من القاعدة وطباعتها
  15.     }
  16. }
  17. ?>

طيب الأن نريد مثلا اظهار خبر واحد بدلالة رقمه سيكون الرابط هكذا 12/http://youSite.com/index.php/news/view
ونجعل دالة view تأخذ براميتر ID وتكون الدالة هكذا

نتحقق من المعرف ID اذا كان فارغا نقوم بادراج الأخبار ,, اي المقتتطفات كما تحب

واما اذا كان رقما سنتحقق منه ونستخرج من القاعدة خبرا يحمل نفس الرقم

PHP:
  1. <?php
  2. // يجب كتابة اول حرف من اسم الكلاس كبير كما هو موجود تحت
  3. class News extends Controller{
  4.  
  5.     function News(){
  6.         parent::Controller();
  7.     }
  8.  
  9.     function index(){
  10.         echo 'مرحبا بكم في اول برنامج لي ';
  11.     }
  12.  
  13.     function view($ID=''){
  14.         if( empty($ID) ){
  15.             // سنقوم بطباعة عناوين الأخبار
  16.         }else{
  17.             // نتحقق من الرقم ونقوم بطباعة الخبر الذي يحمل نفس الرقم
  18.             echo $ID;
  19.         }
  20.        
  21.        
  22.     }
  23. }
  24. ?>

عندما تقوم بزيارة الرابط http://yourSite.com/index.php يتم اظهار المتحكم welcome بشكل ألي لتجنب اظهاره سنذهب الى ملف
system/application/config/routes.php وتذهب الى السطر 43 وتقم بتغيير welcome الى المتحكم الذي تريده ان يظهر في الصفحة الأولى
لنقل اننا نريد اظهار news

هذا فان اصبت فمن الله عز وجل وان اخطأت فمن نفسي ومن الشيطان

الدرس القادم سأبين كيفية اظهار البيانات باستخدام ملفات التصميم التي توضع في مجلد view

بواسطة: عبد الواحد البشيري اضيفت في: framwork, دروس برمجية 05.02.2010 0

كن محترفا في لغة php مع اطار العمل codeigniter

بسم الله الرحمن الرحيم والصلاة والسلام على اشرف المرسلين اما بعد :

مقدمة:

موضوعنا اليوم وهو يعتبر مقدمة يتحدث عن اطار العمل على لغة php المسمى بــ codeigniter والذي يسهل على المبرمج عملية كتابة الأكواد وعدم تكرارها والاشتغال باحترافية تمكنه من منافسة المبرمجين الكبار اذا احسن استغلال الاطار بالطبع!

كما ان هذا الاطار مبني على MVC وهي Model-View-Controller يمكنك قراءة عنه من هنا

قبل ان تتعلم هذا الاطار العملي يجب ان تضع في الحسبان هذأ الأمر وهو :

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

codeigniter يحتوي على مكتبات واضافات ودوال تحتاجها في كامل مشارعك كذلك تستطيع اضافة مكتبات خارجية سواء من برمجتك او اشخاص اخارون
روابط الاطار تكون بهذه الطريقة http://yourSite.com/index.php/news/views/1 روابط نظيفة اليس كذالك ؟

ايضا تستطيع اختصارها الى http://yourSite.com/news/views/1 ببعض الأوامر البسيطة على ملف .htaccess

تحميل الاطار:

بكل سهولة على موقع codeigniter وهو www.codeigniter.com/download.php

كيفية تنصيب الاطار:

تقوم بفك الضغط على الأرشيف

تقوم بوضع ملفات الاطار سواءا بمجلد انشئته او على الروت بمعنى على http://localhost/المجلد/ او http://localhost/
يجب ان يكون ملف index.php بجانب مجلد system/

تعديلات ضرورية:

الأن اذهب الى الملف التالي system/application/config/config.php وقم بتغيير http://example.com الى مثلا عنوان موقعك او اذا كنت على خادم محلي اجعله http://localhost

كما تستطيع تعديل معلومات قاعدة البيانات من هنا system/application/config/database.php الى معلوماتك الصحيحة

الأن مع الأمان تستطيع تغير اسم مجلد system الى ما تشاء لكي لا يستطيع اي احد ان يعرف مكان وجود ملفاتك.....

وتكون عبر فتح ملف index.php وتغيير قيمة المتغير $system_folder

حسنا لحد الان لم تخبرنا يا عبد الواحد كيف واين سأكتب اكوادي ؟ الجواب يكون في الدرس القادم ان شاء الله

هذا فان اصبت فمن الله عز وجل وان اسأت فمن نفسي ومن الشيطان

بواسطة: عبد الواحد البشيري اضيفت في: framwork 05.02.2010 0

عيد مبارك سعيد

عيد مبارك سعيد اعاده الله علينا باليمن والبركة

اتمنى لكم حياة سعيدة

بواسطة: عبد الواحد البشيري اضيفت في: غير مصنف 26.11.2009 2

تم نقل جميع الدروس من الاستضافة القديمة الى المجانية

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

تم الانتقال من الاستضافة التي كان قد اهداها لي الأخ محمود صاحب منتدى بي اتش بي الى هذه الاستضافة المجانية وذلك رغبة مني ومن زوار المدونة بعدم ضياع الدروس التي كتبتها سابقا

وبهذا ستكون هذه المدونة موجودة الى ان يشاء الله في متناول المتعلمين للبرمجة ... كما سأجعل الدومين www.bp.ma ينقل الزائر الى http://elbachiri.wordpress.com حتى ينتهي في منتصف سنة 2011

اشكر الاخ الدرازي صادق على تصميمه لمدونتي القديمة كما اشكر اخي محمود على كل مجهوداته...

والسلام عليكم

بواسطة: عبد الواحد البشيري اضيفت في: غير مصنف 15.11.2009 2

سيم اغلاق هذه المدونة

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

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

اشكر اخي محمود على استضافته .... كما اشكر جميع اصدقائي في هذا العالم الافتراضي

اتمنى لكم حياة سعيدة مليئة بالطاعات والخير والبركة

سيتم اغلاق المدونة بمجرد التفاهم مع اخي محمود صاحب منتدى بي اتش بي وعندها ساجعل هذا الدومين bp.ma ينقل الزائر مباشرة الى www.montadaphp.net

بواسطة: عبد الواحد البشيري اضيفت في: القسم العام 05.11.2009 15

المدونة في عطلة هذا الصيف

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

هذا الصيف انا منشغل بعملي في الخياطة كذالك هناك بعض اخوالي سيتزوجون وليس لدي الوقت لتحديث المدونة بالمواضيع والدروس...

اتمنى لكم صيفا غير حار ان شاء الله

بواسطة: عبد الواحد البشيري اضيفت في: غير مصنف 15.07.2009 5

ما معنى دالة وكيف يتم انشائها واستخدامها

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

الدالة او الوظيفة وجهان لعملة واحدة حيث يتم الاستفادة من الدالة في امور كثيرة في البرنامج الذي نبرمجه
لغة php هي اصلا تعتمد على الدوال او الوظائف هذه الدوال مكتوبة بالغة التي كتبت بها لغة php حيث تتعد وظائفها من التأكد من الأرقام والنصوص وهكذا...

الدالة عبارة عن وظيفة تقوم بعملها مثلا بحكم ان مهنتي الخياطة فان الة الخياطة تعتبر دالة لماذا ؟ سأشرحها بالتفصيل
المزيد

ثوب جديد للمدونة

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

تم تغيير ثوب المدونة الى تصميم جديد بيد الأخ المصمم صادق الديرازي

القالب لا يزال في فترة التجربة اشكر كل من يبلغ عن خطأ ما ...

شكرا يا صادوق :)

بواسطة: عبد الواحد البشيري اضيفت في: غير مصنف 02.07.2009 17

صدور النسخة 5.3.0 من مترجم لغة php

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

تم الافراج عن الاصدار 5.3.0 من لغة php امس 30/06/2009 وفيه الكثير من التغييرات والاضافات منها على سبيل المثال

تحويل المكتبات التالية الى PECL

  • ext/dbase
  • ext/fbsql
  • ext/fdf
  • ext/ncurses
  • ext/mhash (BC layer is now entirely within ext/hash)
  • ext/ming
  • ext/msql
  • ext/sybase (not maintained anymore, sybase_ct has to be used instead)

كما تم تحسين تنفيذ دالة md5

تحسين الدوال opendir و scandir و dir واعطائهم قيمة افتراضية

ارجاع قيمة الخطأ في حال فشل التشغيل مع دالة session_start

اضافة المعامل ?:

دعم namespaces

اضافة الثابت __DIR__

والمزيد

مدونة مبرمج مغربي يستخدم برنامج التدوين ووبريس - تصميم وتكويد [صادق الدرازي] بواسطة [اكواد] - متوافق مع XHTML/CSS - تسجيل الدخول