من الموقع: STC تطلق خدمةالتلفزيون التفاعلي المطور (انفجن) وتتيحها خلال شهر رمضان المبارك

 

العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > PHP
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو سوبر نشيط
#1  
Post Codeigniter.. عندما تكون البرمجة .. متعة بحق (2)

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

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

اخوتي الأفاضل .. اعود إليكم بتكملة لموضوعي السابق بخصوص Codeigniter

اكتفيت في موضوعي السابق فقط بتوضيح تجربتي "المتواضعة" قبل Codeigniter

قبل ان ابدأ في إستكمال الموضوع .. اريد ان اوضح فقط بعض النقاط التي اعتقد بأنني سأسعد جداً بتوضيحها لكم .. وستسهل علينا جميعاً الأمر ايضاً .. فقط لنعرف لماذا نحن موجودين في هذا الموضوع ... بسم الله :
  • هذا الموضوع ليس لتحديد فيما إذا كان استخدام أطر العمل مهم ام لا . لذا ارجوا عدم الخوض في النقاش بخصوص هذه النقطة
  • هذا الموضوع ليس لتحديد فيما إذا كان إطار العمل Codeigniter اقوى من غيره ام لاً .. انا هنا لأريكم الأسباب التي ستجعلكم تستخدمونه بإذن الله
  • هذا الموضوع ليس لتعليم طريقة التعامل الكامل مع الكائنات البرمجية Class . هنا موضوع مخصص بهذا الشأن من إنشاء اخي عبدالله عيد
    http://www.swalif.net/softs/swalif45/softs180086/
  • نظراً لأنني لا احب تعريب المصطلحات الانجليزية لأنها تفقد معناها . سأقوم بإستخدام المصطلحات الانجليزية في الشرح .. والتي يعرفها جميعكم اعتقد..
  • ارجوا ان نبقي الحوار في إطار التعامل مع Codeigniter فقط .. المشاكل .. الحلول .. التنصيب .. الإعدادات .. إلخ

مصطلحات :
CI = Codeigniter
Library = مكتبة
Libraries = مكتبات
Plugin = إضافة
Plugins = إضافات
Hook = خطاف
Hooks = خطاطيف
Controller = ملف التحكم
Controllers = ملفات التحكم
Model = موديل
Models = موديلات
View = ملف العرض
Views = ملفات العرض
Core = اللُب
Extending = تمديد

لتحميل آخر نسخة من CI ( رابط ) من هنا
( رابط ) دليل الاستخدام
( رابط ) منتدى CI
( رابط ) الـWiki ( يمكنك البحث عن إضافات بداخله )

كيفية التنصيب :
قم بفك ضغط الملف .. وقم برفع ما بداخل مجلد System إلى موقعك ليصبح الوصول لملف الـ index.php بهذه الطريقة :
( رابط ) http://www.example.com/index.php
او قم برفع مجلد system نفسه إلى الموقع ليصبح الوصول إلى ملف index.php بهذه الطريقة :
( رابط ) http://www.example.com/system
ومن ثم ادخل إلى :
system\application\config\config.php
وقم بتعديل عنوان الموقع ( ضع سلاش في آخر الرابط ) :
كود PHP:
$config['base_url']    = "http://your-site.com/"
وتحكم في باقي الإعدادات حسب إحتياجك ..



أولاً : لماذا علي ان استخدم CI ؟

الأسباب النظرية :
  • لأنك تريد ان تنظم أعمالك جيداً
  • لأنك لا تريد ان تبرمج بطريقة بدائية مما ينتج عنها تأخر في التنفيذ وتأخر في تطوير المهارات البرمجية
  • لأنك لا تريد ان تمتلك كمية ملفات كبيرة وفي النهاية تكتشف ان تقريباً 50% منها كان مجرد تكرار ملفات
  • لأنك تريد ان تقدم لعملائك برمجة بجودة عالية وسرعة فائقة مما سيبهرهم ويعود عليك بالنفع ( السمعة , التكلفة )
  • لأنك تريد ان تطور مهاراتك وتدخل في درجة إحترافية من اساليب البرمجة . ولكنك تريد ايضاً ان تبقى الأمور بسيطة بحيث ان تنفذ الأكواد بطريقتك الخاصة ( بمعنى انك لن تشعر وكأنك تبرمج بلغة اخرى )

الأسباب العملية :
  • لأنك تريد إطار عمل خفيف الحجم ولا يأخذ مساحة كبيرة بدون داعي
  • لأنك تريد ان تتعامل مع إطار عمل إحترافي لإختصار الأوامر الكثيرة في أسطر متعددة فقط
  • لأنك تريد ان تتعامل مع نظام MVC لتسهيل البرمجة وإختصار الوقت عند التعديل وتطبيق إضافات
  • لأنك تريد حماية كاملة وبالطريقة التي تفضلها
  • لأنك تريد التركيز على إنتاج المشروع. ولن تضيع وقتك في إنشاء إطار العمل الخاص بك اولاً ومن ثم ستأخذ وقت أكثر من ذلك لتنفيذ المشروع.
  • لأنك تريد إطار عمل يمتلك دليل إستخدام بسيط وشامل جميع النقاط التي قد تفكر بها في بدايتك وحتى لاحقاً إذا نسيت نقطة معينة

*بكل تأكيد هناك نقاط اكثر بكثير مما ذكرت. ولكني حاولت التركيز على المهم


ثانياً : ما هي المميزات التي يقدمها لي CI ؟
  • حجم خفيف ( 1 ميجا بايت )
  • نظام MVC
  • سرعة فائقة في تنفيذ الأكواد ( بل ان Rasmus Lerdorf مخترع لغة الـ PHP قد ابدى إعجابه بهذه السرعة في مؤتمر frOSCon أغسطس 2008 , شاهد هنا)

    إقتباس:
    CodeIgniter is most often noted for its speed when compared to other PHP frameworks. In a critical take on PHP frameworks in general, PHP creator Rasmus Lerdorf spoke at frOSCon in August 2008, noting that he liked CodeIgniter "because it is faster, lighter and the least like a framework".
    وكان CI قد تفوق على أشهر أطر العمل مثل CakePHP و Symfony و Zend Framework في إختبار قام به مخترع لغة الـ PHP
    حيث كانت سرعة CI في الاختبار : 0.03 ثانية
    وكانت سرعة CakePHP في الاختبار : 0.19 ثانية
    وكانت سرعة Zend Framework في الاختبار : 0.04 ثانية
    وكانت سرعة Symfony في الاختبار : 0.05 ثانية
    ... نعود مرة اخرى
  • يعمل على PHP4 و PHP5
  • روابط نظيفة ( Friendly URLs ) وآمنة من SQL injection و XSS
  • CI يحتوي على مجموع كبيرة من أهم الـ Libraries التي قد تحتاجها اثناء برمجتك, مثال :
  • Database, Email, File Uploading, FTP, Image Manipulation, Session, Zip Encoding .. ( رابط ) وغيرها الكثير
  • تعدد اللغات بسهولة
  • لا يتطلب ان يكون لديك خبرة في التعامل مع Template Engine فيمكنك عرض المحتوى بالطريقة التي تريدها ( سواء التعامل مع Template Engine او لا )
  • يدعم التعامل مع قواعد بيانات اخرى غير Mysql فقط
  • يمتلك نظام Logs يمكنك من خلاله متابعة الأخطاء التي قد تظهر للزوار ويظهر ايضا عمليات الـ Debug ومعلومات اخرى عند تنفيذ الاوامر
  • نظام Cache سلس جدا
  • نظام URI Routing ( اعادة تجويه للروابط حسب طلبك و دعم Regex كذلك )

*أيضاً هناك مميزات اكثر من هذه بكثير ولكنني ذكرت ما يحضرني فقط .. يمكنكم مشاهدة المميزات كلها من ( رابط ) دليل الاستخدام .. ولكنه باللغة الانجليزية ( سأعمل على تعريبه بإذن الله لاحقاً )

ثالثا: طريقة عمل CI
كما نعلم أن CI يعمل تحت نظام MVC ... ولكن ماهو نظام MVC اصلاً ؟
MVC اي اختصار لـ Model-View-Controller
ببساطة ...:
Model : ملف تقوم من خلاله بتنفيذ عمليات قواعد البيانات ( سواء نداء او حذف او تحديث او إدراج )
بالطبع يمكنك ان تنشئ ملفات Models كما تريد .. ولكن يفضل ان تجعل ملف واحد فقط لكل صفحة ( Controller )
View : هو ملف العرض . أي الـ Template للصفحة ويمكنك ادراج معلومات بداخله تأتي بها عن طريق الـ Controller
Controller : هي الصفحة التي تقوم فيها بتنفيذ كل الأوامر التي تريدها .. يتضمن ذلك دمج Model مع View وإدخال معلومات اخرى إلى View وإدراج الـ Libraries والـ Plugins والـ Helpers
وأسم الـ Controller سيكون هو اسم الصفحة في الرابط
بإختصار .. الـController هو الأساس .. و View و Model هم الإضافة للـ Controller ...



رابعاً : ماذا عن الـ Library والـ Helper والـ Plugin والـ Hooks ؟
سريعاً ...

Library :
مكتبة إضافية تقوم بتنفيذ مهمة معينة .. لنقل مثلاً مكتبة FTP.. عندما تريدها ستقوم بإستدعائها .. وتستخدم خواصها في الـ Controller وننتهي .. لن تقوم بصناعة أكواد الـ FTP كلها في الـ Controller وتستخدم functions و و و ...
تعتمد الـ Library على Class
كيفية الاستدعاء :
كود PHP:
$this->load->library('library_name'); 
Helper :
يعتبر مثل المكتبة .. ولكنه اصغر بقليل .. بمعنى ان الـ Helper يقوم بعمليات بسيطة وصغيرة .. مثلاً هناك Cookie Helper وظيفته العامل مع الكوكيز .. إنشاء , إستدعاء , مسح.
بخلاف الـ Library .. يعتمد الـ Helper على الـ Functions فقط
كيفية الاستدعاء :
كود PHP:
$this->load->helper('helper_name'); 

Plugin :
وظيفة الـ Plugin هي تقريباً مشابهة للـ Helper ولكن الفرق ان الـ Plugin يستخدم Function واحد فقط يقوم بالمهمة .. ولا يعتمد على Functions متعددة ..
كيفية الاستدعاء :
كود PHP:
$this->load->plugin('plugin_name'); 

Hook :
سوف اتحدث عنه لاحقاً بإذن الله نظراً لأن وظيفته مرتبطة بعمليات الـ Core Extending وتنفيذ الاضافات على نظام الـ CI .. وبصراحة اريد ان اتعمق معكم في هذا الموضوع بإذن الله .. لكي لا يأتي احد ويقول : CI لا يحتوي على كذا ... حسناً لقد جهزوا لك العدة لتقوم انت بتطوير الـ CI بنفسك اذا لم يعجبك

طبعاً يمكنك وضع اياً من هذه الاضافات في مجلدات فرعية .. مثال :
نريد ان نصنع مكتبة مثلاً للتعامل مع منطقة الاعضاء في الموقع .. سنضعها في مجلد فرعي بإسم user .. ليصبح الوصول إليها عن طريق هذا الرابط :
application/libraries/user
لذى .. عند استدعاءها .. سوف نضع اسم المكتبة بهذا الشكل :

كود PHP:
$this->load->library('user/library_name'); 

يتبع بإذن الله ....






__________________
( رابط ) مدونتي  | تويتر

almosmm is offline   قديم 10-01-2009, 10:00 AM
الرد مع إقتباس
عضو سوبر نشيط
#2  
يتبع ...

حسناً
بعد ان أخذنا نظرة عامة على طريقة العامل مع CI .. ما رأيكم في ان نصنع اول تجربة لنا ؟

اولاً دعوني أوضح طريقة التعامل مع المجلدات بداخل مجلد System ..

كل ما بداخل مجلد System يعتبر مجلدات تخص الـ Core الخاص بـ CI ... بإستثناء مجلد application

مجلد application هو مساحة العمل الخاصة بالموقع نفسه ( وليس CI ) ..

بمعنى .. اذا قمت مثلاً بعملية Core Extending فإنك ستضع ملف الـ Library الخاصة بك في مجلد System/libraries ...

ولكن اذا كنت تمتلك Library وظيفتها التعامل مع نقطة معينة في الموقع .. فإنك ستضيعها في مجلد application/libraries ...

كذلك نفس الموضوع بالنسبة للـ Plugins والـ Helpers

حسناً الآن نحن بداخل مجلد Application ..

لدينا هذه المجلدات .. سأشرحها سريعاً :
  • config يحتوي على إعدادات الموقع . ويمكنك وضع إعداداتك الخاصة في ملف منفصل بالداخل لتستخدمها وقتما تشاء مع Library مثلاً او Plugin
    أهم 4 ملفات سنتعامل معهم طوال الوقت هم :
    • config.php يحتوي على إعدادات عامة
    • database.php يحتوي على الإعدادات الخاصة بالتعامل مع قواعد البيانات
    • routes.php يحتوي على الخصائص الخاصة بك للتحويل بين الروابط , مثال :
      كود PHP:
      // index.php/welcome -> index.php/home
      $route['welcome'] = "home"
    • autoload.php ملف تقوم فيه بتحديد الإضافات التي تريد ان يتم تحميلها تلقائياً بدون ان تكتب أمر التحميل :
      كود PHP:
      $this->load->library('library_name'); 
  • controllers يحتوي على صفحات الموقع بإختصار
  • errors يحتوي على صفحات الأخطاء ( Templates ) يمكنك التعديل عليها بطريقتك الخاصة مثلاً
  • helpers يحتوي على جميع الـ Helpers
  • hooks يحتوي على جميع الـ Hooks
  • language يحتوي على جميع ملفات اللغة
  • libraries يحتوي على جميع الـ Libraries
  • models يحتوي على جميع الـ Models
  • views يحتوي على جميع ملفات الـ View أي الـ ( Templates )

كل ملف جديد في مجلد controllers يساوي صفحة جديدة .... مثال :
test.php يساوي ( رابط ) http://www.example.com/index.php/test
روابط CI تعمل بهذه الطريقة :
كود PHP:
http://www.example.com/index.php/class/function/variable 
سأوضح هذه النقطة اكثر بعد قليل ان شاء الله ..

إذا دخلت إلى ( رابط ) http://www.example.com/index.php ستجد ان هناك صفحة ترحيب أولية ... ولكن اذا دخلت إلى مجلد controllers ستجد ان اسم الصفحة الترحيبية هو welcome.php .. كيف اذاً اصبحت الصفحة تظهر عند الدخول إلى index.php فقط وليس index.php/welcome ( بالرغم من انك اذا ذهبت ايضاً إلى index.php/welcome ستظهر نفس الصفحة بالتأكيد )

حسناً .. هناك إختيار في ملف config/routes.php يحدد لك الـ Controller الإفتراضي الذي تريده ان يظهر عند الدخول إلى index.php فقط :
كود PHP:
$route['default_controller'] = "welcome"
لا تحتاج إلى إضافة تنسيق الملف .. فقط ضع اسم الـ Controller ..

حسناً اعتقد بأننا جاهزون ان شاء الله لإنشاء أول ملف تجربة لنا ... بسم الله :

نذهب إلى مجلد application/controller ونحذف اولاً ملف welcome.php .. ثم نصنع ملف جديد خاص بنا اسمه مثلاً home.php ...
افتح الملف وضع بداخله الآتي

كود PHP:
<?php

class Home extends Controller {

    function 
index()
    {
        
    }
}

?>
لاحظ هذه النقاط المهمة :
يجب ان يكون اسم الكلاس بالضبط نفس اسم ملف ( بدون التنسيق طبعاً )
يجب ان يكون مورث من الكلاس Controller ليعمل حسب نظام CI ( ( رابط ) مزيد حول فائدة Extends )
يجب ان يحتوي على function بأسم index .. مما يعني ان محتوى هذا function سيظهر بمجرد الدخول إلى index.php/home وكذلك بالتأكيد index.php/home/index

حسناً .. اذا دخلنا إلى index.php/home بالطبع لن يظهر اي شيء امامك .. لأن الصفحة فارغة ..
سوف نضع عبارة أولية للتجربة :

كود PHP:
<?php

class Home extends Controller {

    function 
index()
    {
        echo 
'Hello World!';
    }
}

?>
ادخل مرة اخرى إلى index.php/home وسوف تجد عبارة " Hello World! " مطبوعة

الآن اعتقد بأن الأمر واضح .. الـ function بأسم index .. يساوي صفحة الـ index لقسم Home

دعوني اوضح الفكرة أكثر .. اذا قمنا بعمل function جديد مثلاً بأسم Test داخل كلاس Home .. :


كود PHP:
<?php

class Home extends Controller {

    function 
index()
    {
        echo 
'Hello World!';
    }

    function 
test()
    {
        echo 
'Page Test.. :)';
    }
}

?>
الآن ادخل إلى index.php/home/test سوف ترى ما أعنيه ..
وهو كما ذكرت في السابق :
كود PHP:
http://www.example.com/index.php/class/function/variable 
اسم الـ Class يأتي اولاً .. ثم الـ Function ثم الـ Variables بعدها بأي كمية كانت .. لا يوجد عدد محدود وسوف اتطرق للـ Variables بعد قليل إن شاء الله

الآن طبعاً من الخطأ تماماً ان نطبع الكلام عن طريق echo وإلا .. فقد عادت ريما لعادتها القديمة...
كما تعلمنا سابقاً .. فإن لكل Controller ملف View أي ( Template ) ... دعونا ننشئ ملف View بداخل مجلد views ونسميه كذلك home.php

هذا الملف الآن يتعامل كلياً بأكواد HTML .. لذلك ضع ما تريد .. ولكني افضل :
كود HTML:
<h1>Hello World!</h1>
الآن إذا ذهبت إلى صفحة index.php/home بالتأكيد سوف تجد الصفحة كما هي في البداية .. لاننا مازلنا نقوم بطباعة الكلمة عن طريق echo .. حسناً دعونا الآن نرى كيف نحضر ملف view إلى الـ Controller ..

كود PHP:
<?php

class Home extends Controller {

    function 
index()
    {
        
$this->load->view('home');
    }

    function 
test()
    {
        echo 
'Page Test.. :)';
    }
}

?>
لنذهب مرة اخرى إلى index.php/home .. نعم لقد تم إدراج ملف الـ view بنجاح
مزيد للمعلومات حول ( رابط ) View من دليل الاستخدام ( بالإنجليزية )

حسناً بالتأكيد انكم لاحظتم ان طريقة كتابة امر الإدراج متشابهة في أغلب الأحوال . مثال :
كود PHP:
$this->load->view('');
$this->load->library('');
$this->load->helper('');
$this->load->plugin(''); 
فقط لأنك من الطبيعي لاحقاً سوف تخمن ان الجزء المطلوب تغييره هو الجزء الاخير فقط ..
وهذا من اكبر الاسباب التي تعجبني في CI .. يعطيك بالضبط ما تفكر به ..

حسناً .. نمتلك الآن ملف الـ View ويعمل بنجاح ..

ماذا إذا اردنا إدخال متغير من الـ Controller إلى ملف الـ View ؟

بسيطة ...

كود PHP:
<?php

class Home extends Controller {

    function 
index()
    {
        
$data['text'] = 'Hello World!';
        
$this->load->view('home',$data);
    }

    function 
test()
    {
        echo 
'Page Test.. :)';
    }
}

?>
داخل ملف الـ View

كود HTML:
<h1><?=$text?></h1>

اذا الأمر واضح الآن .. الـ Key في المصفوفة بداخل الـ Controller يصبح متغير داخل الـ View .. مثال آخر

الـ Controller :
كود PHP:
<?php

class Home extends Controller {

    function 
index()
    {
        
$data['text'] = 'Hello World!';
        
$data['how'] = 'How are you ?';
        
$data['thanks'] = 'Thanks :)';
        
$this->load->view('home'$data);
    }
}

?>
بداخل ملف الـ View :

كود HTML:
<h1><?=$text?></h1> <h2><?=$how?></h2> <h3><?=$thanks?></h3>


حسناً دعونا نتعمق اكثر ... ماذا إذا اردت ان اربط متغير بملف view ؟ مثلاً ..
لدي ملف View بأسم Header .. اريد ان ادرجه بداخل الـ View الرئيسي ...

سهلة

قم بعمل ملف جديد في مجلد application/views بأسم header.php .. مثلاً سنضع داخله :
كود HTML:
<h1>Header here</h1>
اذهب إلى الـ Controller مرة اخرى .. الآن سنعرف متغير بداخل المصفوفة data .. ليحتوي على ملف الـ view الخاص بالـ Header ... ولكن سيكون الوضع مختلف قليلاً ...

كود PHP:
<?php

class Home extends Controller {

    function 
index()
    {
        
$data['header'] = $this->load->view('header'''TRUE);
        
$data['how'] = 'How are you ?';
        
$data['thanks'] = 'Thanks :)';
        
$this->load->view('home'$data);
    }
}

?>
ملف الـ View :

كود HTML:
<?=$header?> <h2><?=$how?></h2> <h3><?=$thanks?></h3>

الآن الـ function بأسم view يأخذ 3 مدخلات .. وهم :
1- اسم ملف الـ view وهو header في هذه الحالة
2- تمرير بعض المتغيرات إلى ملف الـ view ( كما شاهدنا في السابق ). وفي هذه الحالة نحن لا نريد ان نضع اي شيء فيه لذلك سنجعله فارغ
3- يقبل فقط TRUE او FALSE .. ووظيفتة هذا المدخل او ان يجعل معلومات ملف الـ View هذا قابلة لأن تكون بداخل متغير لإستخدامها في اي مكان آخر ... إذا قمت بجعله FALSE .. ستجد ان الـ View يتم طباعته تلقائياً بدون حتى وجود المتغير $header في ملف الـ view الرئيسي ...
* تنبيه.. طبعا اذا كنت تريد طباعة ملف view بدون تمرير متغيرات او جعله قابل ليكون بداخل متغير .. ستستخدم مدخل واحد فقط وهو لأسم ملف الـ view كما كتبناه في الأعلى ..



حسناً .. مازال هناك بعض النقاط الاخرى ... شاهد المثال :

الـ Controller :
كود PHP:
<?php

class Home extends Controller {

    function 
index()
    {

        
$data['how'] = 'How are you ?';
        
        
$data['items'] = array (
                                
'item1'    => 'This is item 1',
                                
'item2'    => 'This is item 2'
                                
);
        
        
$this->load->view('home'$data);
    }
}

?>
ملف الـ View :
كود HTML:
<h1><?=$how?></h1> <ul> <li><?=$items['item1']?></li> <li><?=$items['item2']?></li> </ul>
نستنتج من هذا انه يمكننا ايضاً تمرير مصفوفة إلى ملف الـ view

بل يمكنك حتى استخدام foreach لإستخراج محتوى المصفوفة

ملف الـ View :
كود PHP:
<h1><?=$how?></h1>

<ul>
<?php foreach ($items as $item) { ?>
<li><?=$item?></li>
<?php ?>
</ul>

حسناً هذه كانت فقط البداية للتعريف بجزء بسيط من اسلوب عمل CI ...

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

ودائماً انصح بالرجوع إلى ( رابط ) دليل الإستخدام لإحتوائه على جميع التفاصيل التي قد تتسائل عنها

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


هذا الشرح هو كاملاً ( والكمال لله وحده ) من جهدي الشخصي .. كل ما ارجوه منكم اخوتي هو الدعاء لي ولوالدي وللمسلمين ...

كما اذكر مرة اخرى .. ارجوا ان نبقى النقاش فقط فيما يتمحور حول CI والتعامل معه ...


سبحانك اللهم وبحمدك .. اشهد ان لا إله إلا انت .. استغفرك وأتوب إليك ...

اخوكم في الله ..
مصعب الزيني






__________________
( رابط ) مدونتي  | تويتر

almosmm is offline   قديم 10-01-2009, 10:01 AM
الرد مع إقتباس
عضو فعال جدا
#3  

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

اشكرك مرة اخري
وارجوك لا تتوقف في المنتصف .. بل أكمل الي النهاية






سحاب اون لاين is offline   قديم 10-01-2009, 11:54 PM
الرد مع إقتباس
عضو سوبر نشيط
#4  

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

ارقى التحية






__________________
( رابط ) مدونتي  | تويتر

almosmm is offline   قديم 11-01-2009, 06:34 AM
الرد مع إقتباس
عضو فعال
#5  

جزاك الله خير الجزاء






khashabawy is offline   قديم 11-01-2009, 01:01 PM
الرد مع إقتباس
عضو سوبر نشيط
#6  

مشكور و جزيت خيرا
أخي ممكن الكلام عن قاعدة البيانات بـ CI






haidar is offline   قديم 11-01-2009, 01:19 PM
الرد مع إقتباس
عضو فعال جدا
#7  

إقتباس:
المشاركة الأصلية بواسطة haidar مشاهدة مشاركة
مشكور و جزيت خيرا
أخي ممكن الكلام عن قاعدة البيانات بـ CI
وياريت ايضا نأخذ مثال وليكن "سكربت مكتبة كتب"
ثم تقوم ببرمجته بالاطار امامنا وان شاء الله سنتعلم جيدا






سحاب اون لاين is offline   قديم 11-01-2009, 08:41 PM
الرد مع إقتباس
عضو سوبر نشيط
#8  

جزاك الله خيرآ ..

ونحن متابعين معاك ان شاء الله حتى النهاية






Jo Live is offline   قديم 11-01-2009, 09:05 PM
الرد مع إقتباس
عضو سوبر نشيط
#9  

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

ولكن سأخصص ردي القادم بإذن الله وهو صغير نسبياً .. عن ملف config.php وشرح ما بداخله .. نظراً لأهمية بعض النقاط فيه .. ومن ثم سوف نكمل بإذن الله وننشئ برنامجنا وهو مكتبة الكتب كما اقترح اخي سحاب ..


لكم ارقى التحية ...






__________________
( رابط ) مدونتي  | تويتر

almosmm is offline   قديم 12-01-2009, 04:30 AM
الرد مع إقتباس
عضو فعال جدا
#10  

إقتباس:
ولكن سأخصص ردي القادم بإذن الله وهو صغير نسبياً .. عن ملف config.php وشرح ما بداخله .. نظراً لأهمية بعض النقاط فيه .. ومن ثم سوف نكمل بإذن الله وننشئ برنامجنا وهو مكتبة الكتب كما اقترح اخي سحاب ..
اسعدتني للغاية لقبولك الكريم لاقتراحي
وانتظر شرحك الرائع في أقرب وقت
وحتي هذه اللحظة .. أستطيع أن أقول أني اتقنت كل حرف جاء هنا بالموضوع






سحاب اون لاين is offline   قديم 12-01-2009, 04:33 AM
الرد مع إقتباس
عضو سوبر نشيط
#11  

رائع اخي سحاب ! ماشاء الله عليك ... صدقني سوف تستمتع بالجزء الخاص بالتعامل مع قواعد البيانات

لك ارقى التحية ..






__________________
( رابط ) مدونتي  | تويتر

almosmm is offline   قديم 12-01-2009, 05:10 AM
الرد مع إقتباس
عضو فعال
#12  

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

قمة بنشاء مجلد وسميته mvc فارغ في السيرفر المحلي وقمة باخد محتويات مجلد system في اصبح المجلدات داخل mvc
بقي مجلد application كد mvc/application

والمجلدmvc لا يوجد فيه صفحة index.php فاية هي المشكله؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
هل اعمل صفحة index.php للمجلد mvc ام لا؟؟






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
هذا الايميل لطلب البرمجة فقط helal-egypt@hotmail.com
لمراسلتى
http://elhelaly.arabform.com/
محمدهلال is offline   قديم 12-01-2009, 05:14 AM
الرد مع إقتباس
عضو سوبر نشيط
#13  

اعتذر اعتذر اعتذر عن الخطأ يبدو ان الأمر اختلط علي في تسمية المجلد .. قصدت مجلد CI نفسه وليس مجلد System .. أي عملية فك الضغط ستكون كالآتي :


كيفية التنصيب :
قم بفك ضغط الملف .. وقم برفع ما بداخل مجلد CI إلى موقعك ليصبح الوصول لملف الـ index.php بهذه الطريقة :
( رابط ) http://www.example.com/index.php
او قم برفع مجلد CI نفسه إلى الموقع ليصبح الوصول إلى ملف index.php بهذه الطريقة :
( رابط ) http://www.example.com/ci/index.php


بداخل مجلد CI ستجدون ملف الـ index.php و system .. لذا .. احرصوا على ان يكونوا معاً ..

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

اعتذر مرة اخرى ...


تقبلوا تحياتي






__________________
( رابط ) مدونتي  | تويتر

almosmm is offline   قديم 12-01-2009, 05:23 AM
الرد مع إقتباس
عضو فعال
#14  

إقتباس:
المشاركة الأصلية بواسطة almosmm مشاهدة مشاركة
اعتذر اعتذر اعتذر عن الخطأ يبدو ان الأمر اختلط علي في تسمية المجلد .. قصدت مجلد CI نفسه وليس مجلد System .. أي عملية فك الضغط ستكون كالآتي :


كيفية التنصيب :
قم بفك ضغط الملف .. وقم برفع ما بداخل مجلد CI إلى موقعك ليصبح الوصول لملف الـ index.php بهذه الطريقة :
( رابط ) http://www.example.com/index.php
او قم برفع مجلد CI نفسه إلى الموقع ليصبح الوصول إلى ملف index.php بهذه الطريقة :
( رابط ) http://www.example.com/ci/index.php


بداخل مجلد CI ستجدون ملف الـ index.php و system .. لذا .. احرصوا على ان يكونوا معاً ..

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

اعتذر مرة اخرى ...


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






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
هذا الايميل لطلب البرمجة فقط helal-egypt@hotmail.com
لمراسلتى
http://elhelaly.arabform.com/
محمدهلال is offline   قديم 12-01-2009, 05:27 AM
الرد مع إقتباس
عضو فعال
#15  

انا فتحة ملف routes.php وغيرة

welcome الي controllers
كود PHP:


$route
['default_controller'] = "controllers"
مجلد اسمة controllers






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
هذا الايميل لطلب البرمجة فقط helal-egypt@hotmail.com
لمراسلتى
http://elhelaly.arabform.com/
محمدهلال is offline   قديم 12-01-2009, 05:35 AM
الرد مع إقتباس
عضو جديد
#16  

الحمدلله انا بدأت فى ci وعملت المدونة بس المشكلة فى اللغة العربية عدلت فى ملف database التالى
$db['default']['char_set'] = "utf8_unicode_ci";
$db['default']['dbcollat'] = "utf8_unicode_ci";
بس للأسف برضه اللغة العربية بايظة مع العلم انى بجيب نفس البيانات من الداتا بيز من غير ci وبتيجى مظبوطة






MRPHP is offline   قديم 12-01-2009, 05:37 AM
الرد مع إقتباس
عضو سوبر نشيط
#17  

إقتباس:
المشاركة الأصلية بواسطة محمدهلال مشاهدة مشاركة
انا فتحة ملف routes.php وغيرة

welcome الي controllers
كود PHP:


$route
['default_controller'] = "controllers"
مجلد اسمة controllers
اخي .. المفروض تكتب اسم الـ Controller نفسه .. وليس مجلد Controllers ... بمعنى ..
اكتب اسم الصفحة التي انشأتها بداخل مجلد Controllers .. في المثال في الاعلى .. لقد انشأنا صفحة بأسم Home .. اذا سأجعل السطر كالآتي :

كود PHP:


$route
['default_controller'] = "home"
ارجوا ان الفكرة وضحت ..


اخي MRPHP

يبدوا ان الترميز في قاعدة البيانات نفسها عندك ليس UTF8 .. هل من الممكن ان تتأكد من هذه النقطة ؟

تقبل تحياتي ...






__________________
( رابط ) مدونتي  | تويتر

almosmm is offline   قديم 12-01-2009, 05:41 AM
الرد مع إقتباس
عضو فعال
#18  

اخي في مشكلة انا انا عملت المثال بتاع استدعاء الهيدر
طلع هذا الرساله

كود PHP:

A PHP Error was encountered
Severity
Notice

Message
Undefined variabletext

Filename
views/home.php

Line Number


ده صفحة الهوم
كود PHP:
 function index() 
    { 
       
        
$data['how'] = 'How are you ?'
        
$data['thanks'] = 'Thanks :)'
         
$data['header'] = $this->load->view('header','',true); 
        
$this->load->view('home'$data); 
    } 






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
هذا الايميل لطلب البرمجة فقط helal-egypt@hotmail.com
لمراسلتى
http://elhelaly.arabform.com/
محمدهلال is offline   قديم 12-01-2009, 05:54 AM
الرد مع إقتباس
عضو سوبر نشيط
#19  

اخي الكريم
من ناحية الـ Controller فكل شيء يبدو صحيح .. ولكن يوجد مشكلة في ملف العرض Home .. ارجوا إرفاق الكود الخاص به ..






__________________
( رابط ) مدونتي  | تويتر

almosmm is offline   قديم 12-01-2009, 06:57 AM
الرد مع إقتباس
عضو فعال
#20  

اتفضل اخي الكريم






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
هذا الايميل لطلب البرمجة فقط helal-egypt@hotmail.com
لمراسلتى
http://elhelaly.arabform.com/

آخر تعديل بواسطة محمدهلال في 13-01-2009 الساعة 07:31 AM.
محمدهلال is offline   قديم 12-01-2009, 07:01 AM
الرد مع إقتباس
عضو سوبر نشيط
#21  

ملف الـ View وليس الـ Controller ..






__________________
( رابط ) مدونتي  | تويتر

almosmm is offline   قديم 12-01-2009, 07:03 AM
الرد مع إقتباس
عضو سوبر نشيط
#22  

موضوع رائع ومرتب

اخ مصعب , ممكن تعطينا امثله على مواقع مبرمجه بمنصه العمل هذي ؟

شكرا لك






__________________
How To Subscribe In Google Analytics
سبحان الله وبحمده سبحان الله العظيم
لمراسلتي إضغط هنا
أمجــد الحربــي
سوره القيامه
A.M.J.A.D is offline   قديم 12-01-2009, 07:26 AM
الرد مع إقتباس
عضو سوبر نشيط
#23  

اخي الكريم تفضل .. هذي قائمة ببعض المواقع التي تمت برمجتها بإطار عمل CI

( رابط ) Built on CI | CodeIgniter

* لا ادري ماهو محتوى هذه المواقع .. لذلك أخلي مسئوليتي تماماً امام الله سبحانه وتعالى ..






__________________
( رابط ) مدونتي  | تويتر

almosmm is offline   قديم 12-01-2009, 07:51 AM
الرد مع إقتباس
عضو فعال
#24  

ملف header.php في

كود PHP:
mvc/system/application/views 






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
هذا الايميل لطلب البرمجة فقط helal-egypt@hotmail.com
لمراسلتى
http://elhelaly.arabform.com/
محمدهلال is offline   قديم 12-01-2009, 08:02 AM
الرد مع إقتباس
عضو سوبر نشيط
#25  

نعم اخي .. ملف home.php الموجود في مجلد mvc/system/application/views






__________________
( رابط ) مدونتي  | تويتر

almosmm is offline   قديم 12-01-2009, 08:07 AM
الرد مع إقتباس
الرد على الموضوع


 

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

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

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
Codeigniter.. عندما تكون البرمجة .. متعة بحق almosmm PHP 35 30-01-2009 01:51 AM
عندما تكون الدعوه فناً[مع الحبيب] sami30 القسم العام 0 22-08-2008 03:57 PM
::: عندما تكون لك قلعه ؟!! ::: M. Al-Dhafeeri الويب والويب 2.0 والتجارة الالكترونية 3 02-04-2006 07:17 AM
عندما تكون الهدية .............!!! PHOTOGRAPHER التصميم والرسومات والمونتاج 3 04-05-2002 12:53 AM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 04:01 PM.