صفحة 1 من 4 1234 الأخيرةالأخيرة
النتائج 1 إلى 15 من 52

الموضوع: Codeigniter.. عندما تكون البرمجة .. متعة بحق (2)

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    659

    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'); 

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





    __________________
    مدونتي | تويتر



  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    659

    يتبع ...



    حسناً
    بعد ان أخذنا نظرة عامة على طريقة العامل مع 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 والتعامل معه ...


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

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





    __________________
    مدونتي | تويتر


  3. #3
    عضو فعال جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    3,929


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

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





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

  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    659


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

    ارقى التحية





    __________________
    مدونتي | تويتر


  5. #5
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2007
    المشاركات
    2,065


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






  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2002
    المشاركات
    889


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






  7. #7
    عضو فعال جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    3,929


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





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

  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    597


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

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






  9. #9
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    659


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

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


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





    __________________
    مدونتي | تويتر


  10. #10
    عضو فعال جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    3,929


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





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

  11. #11
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    659


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

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





    __________________
    مدونتي | تويتر


  12. #12
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


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

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

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





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  13. #13
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    659


    اعتذر اعتذر اعتذر عن الخطأ يبدو ان الأمر اختلط علي في تسمية المجلد .. قصدت مجلد 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 .. لذا .. احرصوا على ان يكونوا معاً ..

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

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


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





    __________________
    مدونتي | تويتر


  14. #14
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    اعتذر اعتذر اعتذر عن الخطأ يبدو ان الأمر اختلط علي في تسمية المجلد .. قصدت مجلد 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

  15. #15
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


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

    welcome الي controllers
    كود PHP:


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





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com





ضوابط المشاركة

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

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